5a6,7 > COMMON //NX,NY,NZ,IXMIN,IYMIN,IZMIN,IXMAX,IYMAX,IZMAX > DIMENSION NXYZ(3),MXYZ(3),NXYZST(3) 6a9,11 > DIMENSION IXYZMIN(3),IXYZMAX(3),OUT(9998) > DIMENSION LABELS(20,10),CELL(6) > COMPLEX CLINE(4999),COUT(4999) 9c14 < CHARACTER*1 BLINE(2400),OUTSTRING(1200),HSTRING(16),BOXFLAG --- > CHARACTER*1 BLINE(2400),OUTSTRING(2400),HSTRING(16),BOXFLAG 11d15 < EQUIVALENCE (BLINE,ILINE) 12a17,18 > EQUIVALENCE (NX,NXYZ), (ALINE,CLINE), (OUT,COUT), (BLINE,ILINE) > EQUIVALENCE (IXYZMIN, IXMIN), (IXYZMAX, IXMAX) 16,19d21 < INTEGER*4 ICCOUNTS(2) < EQUIVALENCE (ICCOUNTS,BLINE(25)) < INTEGER*4 EXPTIME < EQUIVALENCE (EXPTIME,BLINE(33)) 23,24d24 < CHARACTER*12 IPSYSTEM < EQUIVALENCE (IPSYSTEM,BLINE(125)) 28a29,32 > DATA NXYZST/3*0/, CNV/57.29578/ > > c DO 2 I=1,16 > c2 WRITE(6,*)I,' ',HSTRING(I) 32c36 < . PROGRAM Version 950107'/' To print image: LPR MARXER.PS') --- > . PROGRAM Version 920704'/' To print image: LPR MARXER8.TMP') 40c44 < OPEN (UNIT=2,FILE=INFILE,readonly,STATUS='OLD') --- > OPEN (UNIT=2,FILE=INFILE,STATUS='OLD') 65c69 < OPEN (UNIT=3,FILE='MARXER.PS',STATUS='NEW',RECL=1200, --- > OPEN (UNIT=3,FILE='MARXER8.TMP',STATUS='NEW',RECL=1200, 67,78c71,72 < WRITE(3,'(A)')'%!PS-Adobe-3.0 ' < WRITE(3,'(A)')'%%Creator: mx10' < WRITE(3,'(A)')'%%Pages: 1 ' < WRITE(3,'(A)')'%%BoundingBox:0 0 602 792 ' < WRITE(3,'(A)')'%%EndComments ' < WRITE(3,'(A)')'%%BeginProlog ' < WRITE(3,'(A)')'%%EndProlog ' < WRITE(3,'(A)')'%%Page: 1 1 ' < WRITE(3,'(A)')'%%PageBoundingBox: 0 0 602 792 ' < c WRITE(3,'(A)')'%!PS-Adobe-3.0 EPSF-3.0 '//char(4) < c WRITE(3,'(A)')'%%BoundingBox:0 0 602 792' < WRITE(3,'(A)')'initgraphics ' --- > WRITE(3,'(A)')'%!PS-Adobe-3.0 EPSF-3.0 '//char(4) > WRITE(3,'(A)')'%%BoundingBox:0 0 602 792' 86c80 < write(3,'(A)') '50 772 moveto'// --- > write(3,'(A)') '50 722 moveto'// 93,94c87,89 < NX=1200 < NY=1200 --- > NXYZ(1)=1200 > NXYZ(2)=1200 > NXYZ(3)=1 103,107d97 < < IF (IPSYSTEM.EQ.'R-AXIS') THEN < ENCODE(80,6739,TITLE) AQDATE,AQTIME < PIX=0.105 < ELSE 109,111d98 < PIX=0.150 < ENDIF < 6739 FORMAT(' R-AXIS image of: ',2A20) 113,118d99 < 72 FORMAT(' ',A80) < WRITE(6,72)TITLE < write(3,'(A)') '50 752 moveto ('//title//') show' < < ENCODE(80,6745,TITLE) ICCOUNTS(1),ICCOUNTS(2),EXPTIME < 6745 FORMAT('IC COUNTS AT START, END:',2I9,' EXPOSURE TIME (sec)',I5) 120,121c101,102 < write(3,'(A)') '50 732 moveto ('//title//') show' < --- > 72 FORMAT(' ',A80) > write(3,'(A)') '50 702 moveto ('//title//') show' 125,129c106,107 < write(3,'(A)') '50 742 moveto ('//title//') show' < c Save lambda, distance for calculating resolution: < wl=lambda < dist = distance < --- > write(3,'(A)') '50 692 moveto ('//title//') show' > 132a111 > DO 85 IZ = 1,NZ 135c114 < READ(2,155,end=860) (BLINE(II),II=1,2400) --- > READ(2,155) (BLINE(II),II=1,2400) 144,148c123 < nyt=ny < GOTO 865 < 860 nyt=iy-1 < 865 CLOSE(UNIT=2) < c use only number of record read in computing average --- > 985 CLOSE(UNIT=2) 150c125 < 870 DMEAN=DMEAN/(NX*NYt) --- > DMEAN=DMEAN/(NX*NY*NZ) 153,154c128,129 < 6750 FORMAT('MARXER V950107: Min/Max/mean density = ',2f8.0,f8.2) < write(3,'(A)') '50 712 moveto ('//title//') show' --- > 6750 FORMAT('MARXER V920704: Min/Max/mean density = ',2f8.0,f8.2) > write(3,'(A)') '50 682 moveto ('//title//') show' 156c131 < OPEN (UNIT=2,FILE=INFILE,readonly,STATUS='OLD') --- > OPEN (UNIT=2,FILE=INFILE,STATUS='OLD') 162c137 < 87 SCALE=(XM-X0)/16 --- > 87 SCALE=(XM-X0)/256 181,182c156,157 < write(3,'(A)') '50 762 moveto ('//title//') show' < ENCODE(80,6743,TITLE) float(nmax)/20.,PIX*float(nmax)/20. --- > write(3,'(A)') '50 712 moveto ('//title//') show' > ENCODE(80,6743,TITLE) float(nmax)/19.5,0.15*float(nmax)/19.5 186,187c161,162 < write(3,'(A)') '50 722 moveto ('//title//') show' < write(3,'(A)') '583 363.6 translate -90 rotate' --- > write(3,'(A)') '50 672 moveto ('//title//') show' > write(3,'(A)') '572 356.6 translate -90 rotate' 193c168 < nn=jn/2 --- > n=jn 195,201c170,175 < if (2*nn.lt.jn) then < nn=(jn+1)/2 < j3=j2+1 ! J3 MUST BE EVEN NUMBER FOR 4-BIT DATA. < OUTSTRING(J3)=HSTRING(1) ! PUT ASCII HEX CHAR IN LAST BYTE IN CASE ODD # PIXELS < endif < WRITE(3,76) nn < 76 format (' /imline ',i5,' string def') --- > if (n.ne.(2*int(n/2))) then > n=jn+1 > J3=J2+1 > endif > WRITE(3,76) n > 76 format (' /imline ',i4,' string def') 203c177 < 77 format (' /drawimage {',2i5,' 4 [',i5,' 0 0 ',i5,' 0 ',i5,']') --- > 77 format (' /drawimage {',2i5,' 8 [',i5,' 0 0 ',i5,' 0 ',i5,']') 206,207c180,182 < c scale for unit square = 20 cm square < write(3,'(A)')'18 75 translate 566.9 dup scale' --- > c scale for unit square = 19.5 cm square > write(3,'(A)')'18 75 translate 552.8 dup scale' > c write(3,'(A)')'105 314 translate 2340 2340 scale' 214c189 < 88 READ(2,155,end=6000) (BLINE(II),II=1,2400) --- > 88 READ(2,155) (BLINE(II),II=1,2400) 216c191 < READ(2,155,end=980) (BLINE(II),II=1,2400) --- > READ(2,155) (BLINE(II),II=1,2400) 219,220c194 < c IF (X.LT.0)X=X+R32K < IF (X.LT.0)X=X+XM --- > IF (X.LT.0)X=X+R64K 222c196 < IF (JX.GT.15) JX=15 --- > IF (JX.GT.255) JX=255 224,225c198,202 < 90 OUTSTRING(IX)=HSTRING(JX+1) < 95 WRITE(3,156)(OUTSTRING(IX),IX=J1,J3) ! must be even number of bytes for 4-bit data, ALL ASCII HEX! --- > HINIB=INT(JX/16) > LONIB=JX-16*HINIB > OUTSTRING(2*IX)=HSTRING(HINIB+1) > 90 OUTSTRING(2*IX+1)=HSTRING(LONIB+1) > 95 WRITE(3,156)(OUTSTRING(IX),IX=2*J1,2*J3+1) 227,234d203 < goto 990 < 980 WRITE(6,*)'UNEXPECTED END OF FILE READING IMAGE FILE! FILL W WHITE.' < iyt=iy < do 97 ix=j1,j3 < 97 outstring(ix)=hstring(1) < do 98 iy=iyt,i2 < 98 WRITE(3,156)(OUTSTRING(IX),IX=J1,J3) < 990 CLOSE(UNIT=2) 239a209 > 990 CLOSE(UNIT=2) 258a229 > write(3,*) '1 1 .5 setrgbcolor' 267c238 < C 355 READ (2,360)X --- > 355 READ (2,360)X 271d241 < if (h.eq.999) goto 500 292,299c262,266 < C501 write(6,*)'Enter beam center x,y, wl, and distance; or 0,0,0,0', < C & ' to not draw circles:' < C write(6,*)'(beam center and distance in mm, wl in A.U.)' < C read(5,*)beamx,beamy,wl,dist < c501 write(6,*)'Enter beam center in mm: x,y; or 0,0 to not draw ', < c & 'circles:' < c read(5,*)beamx,beamy < c if (beamx.eq.0) goto 505 --- > 501 write(6,*)'Enter beam center x,y, wl, and distance; or 0,0,0,0', > & ' to not draw circles:' > write(6,*)'(beam center and distance in mm, wl in A.U.)' > read(5,*)beamx,beamy,wl,dist > if (beamx.eq.0) goto 505 301,306c268,269 < c beamx=beamx/PIX < c beamy=beamy/PIX < < 501 WRITE(6,*)' For now center will be assumed 600,600 pixels!' < BEAMX=600 < BEAMY=600 --- > beamx=beamx/0.15 > beamy=beamy/0.15 308,309c271,272 < write(6,*)'Enter 0 to draw no (more) circles' < write(6,*)' wl=',wl --- > write(6,*)'Enter 0 after last circle' > write(3,*) '0 1 1 setrgbcolor' 314c277,278 < theta=ASIN(x) --- > theta=asin(x) > c theta=ATAN(x/sqrt(1-x*x)) 317c281 < radius=radius/PIX --- > radius=radius/0.15 325,329c289,293 < write(6,*)'LPR-ing marxer.PS' < J=LIB$SPAWN('LPR MARXER.PS') < C J=LIB$SPAWN('DEL MARXER.PS;*') < write(6,*)'purging marxer.ps' < J=LIB$SPAWN('PURGE MARXER.ps') --- > write(6,*)'LPR-ing MARXER8.tmp' > J=LIB$SPAWN('LPR MARXER8.TMP') > C J=LIB$SPAWN('DEL MARXER8.TMP;*') > C write(6,*)'purging MARXER8.tmp' > C J=LIB$SPAWN('PURGE MARXER8.TMP') 331,335d294 < 6000 write(3,'(A)')' grestore 50 200 moveto (incomplete file!) show' < close (unit=3) < close (unit=2) < WRITE(6,*) 'END OF FILE ENCOUNTERED BEFORE SELECTED AREA!' < GOTO 505 337,339d295 < < <