C**************************************************************** C* * C* * C* DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY * C* EITHER FOR THE CREATION OR FOR THE CLINICAL EFFICACY * C* OF THIS PROGRAM. USERS MUST ASSUME FULL RESPONSIBILITY * C* FOR ANY RESULTS OR DIAGNOSES OBTAINED FROM THE USE * C* OF THIS PROGRAM. QUESTIONS ON THE EXECUTION OF THIS * C* PROGRAM MUST BE REFERRED BACK TO THE ORIGINAL AUTHOR. * C* * C* AUTHOR: SALLY FORSTER * C* C/O DEPARTMENT OF NUCLEAR MEDICINE * C* GUY'S HOSPITAL * C* LONDON, ENGLAND * C* * C* TEL: 01-407-7600 EXT 2583/4 * C* * C**************************************************************** SUBROUTINE INTERP(AINTER,AX0,AX1,AY0,AY1,ICOLC,ICOLT) C*****DRAW A STRAIGHT LINE FROM AX0,AY0 TO AX1,AY1 IN COLOUR ICOLT IMPLICIT LOGICAL*1 (A) IMPLICIT INTEGER*2 (D-Z) Y2=AY1.AND."000377 Y1=AY0.AND."000377 X2=AX1.AND."000377 X1=AX0.AND."000377 IF(.NOT.AINTER)GOTO50 IF(X1.EQ.X2)GOTO20 C*****CM IS GRADIENT CM=FLOAT(Y2-Y1)/FLOAT(X2-X1) C*****CB IS INTERCEPT CB=FLOAT(Y2)-CM*FLOAT(X2) C*****PLOTS ALL POINTS FROM X1 TO X2 OJ=INT(CM*FLOAT(X1)+CB) DO 10 I=X1,X2 II=I J=INT(CM*FLOAT(I)+CB) IF(OJ-J)3,10,5 3 N=1 GOTO 7 5 N=-1 C*****FILL IN ANY SPARE Y COORDS 7 OJ=OJ+N IF(OJ.EQ.J)GOTO 10 CALL PLOTB(II,OJ,1,ICOLC,ICOLT) GOTO 7 10 CALL PLOTB(II,J,1,ICOLC,ICOLT) RETURN C*****VERTICAL LINE 20 IF(Y2-Y1)30,50,40 30 N=-1 GOTO 45 40 N=1 45 J=Y1-N 47 J=J+N CALL PLOTB(X1,J,1,ICOLC,ICOLT) IF(J.EQ.Y2)RETURN GOTO47 C*****SINGLE POINT 50 CALL PLOTB(X1,Y1,1,ICOLC,ICOLT) RETURN END