# Pipeline for Target slit GAIN := $(shell python -c 'import FITS;f=FITS.FITS("flatred.fits");print f["newgain"];f.close()') all: stage-overscan stage-combine stage-flatten stage-ydist stage-orders stage-slitfn stage-overscan: # Overscan Subtraction, Trimming, and Image Reorientation. echo Stage: Overscan Subtraction, Trimming, and Image Reorientation. mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0134.fits slitred_slit0134.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0156.fits slitred_slit0156.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0157.fits slitred_slit0157.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0158.fits slitred_slit0158.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0159.fits slitred_slit0159.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0160.fits slitred_slit0160.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0161.fits slitred_slit0161.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0162.fits slitred_slit0162.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0163.fits slitred_slit0163.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0164.fits slitred_slit0164.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0165.fits slitred_slit0165.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0166.fits slitred_slit0166.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0167.fits slitred_slit0167.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0168.fits slitred_slit0168.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0169.fits slitred_slit0169.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0170.fits slitred_slit0170.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0171.fits slitred_slit0171.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0172.fits slitred_slit0172.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0173.fits slitred_slit0173.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0174.fits slitred_slit0174.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0175.fits slitred_slit0175.fits mikebias -c 3 /data1/mifune/kelson/MIKE/sept06/r0176.fits slitred_slit0176.fits touch stage-overscan stage-combine: stage-overscan # Combine the Slit Frames. echo Stage: Combine the Slit Frames. efits -p slitred_slit0134.fits slitred_slit0156.fits slitred_slit0157.fits slitred_slit0158.fits slitred_slit0159.fits slitred_slit0160.fits slitred_slit0161.fits slitred_slit0162.fits slitred_slit0163.fits slitred_slit0164.fits slitred_slit0165.fits slitred_slit0166.fits slitred_slit0167.fits slitred_slit0168.fits slitred_slit0169.fits slitred_slit0170.fits slitred_slit0171.fits slitred_slit0172.fits slitred_slit0173.fits slitred_slit0174.fits slitred_slit0175.fits slitred_slit0176.fits 'median([i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16,i17,i18,i19,i20,i21,i22])' medianred.fits touch stage-combine stage-flatten: stage-combine # Flattening. echo Stage: Flattening. efits flatred.fits "1.0*greater(i1,0.25)" maskred.fits flat2d flatred.fits medianred.fits flat2d maskred.fits medianredf.fits touch stage-flatten stage-ydist: stage-flatten # Measuring the Y Distortion. echo Stage: Measuring the Y Distortion. efits medianredff.fits "VTKGradMag(i1,1)" medianredffgmag.fits getrect -ydist medianredffgmag.fits -normwt 0 -niter 1 -nx 6 -dy 16 -x 2 -dump -nbg 5 -nsub2 4 -y 2 -peakwin 10 copyrect -ydist medianredffgmag.fits medianredff.fits touch stage-ydist stage-orders: stage-ydist # Find the Order Edges. echo Stage: Find the Order Edges. findorders medianredff.fits -d medianredfforders.ps/vcps -rn 3.500000 -g ${GAIN} -len 20 -min 0.200000 -max 999.000000 -extend -oo 3 touch stage-orders stage-slitfn: stage-orders # Get the 2D Image of the Slit Function. echo Stage: Get the 2D Image of the Slit Function. GetSlitFunction medianredff.fits -mask maskred.fits -ms 1.2 touch stage-slitfn clean: rm -f flatred_flat0001.fits flatred_slit0134.fits flatred_flat0002.fits flatred_flat0003.fits flatred_flat0004.fits flatred_flat0005.fits flatred_flat0006.fits flatred_flat0007.fits flatred_flat0008.fits flatred_flat0009.fits flatred_flat0010.fits flatred_flat0011.fits flatred_flat0012.fits flatred_flat0013.fits flatred_flat0014.fits flatred_flat0015.fits flatred_flat0016.fits flatred_flat0017.fits flatred_flat0018.fits flatred_flat0019.fits flatred_flat0020.fits flatred_flat0021.fits flatred_flat0022.fits flatred_flat0023.fits flatred_flat0024.fits flatred_flat0025.fits flatred_flat0026.fits flatred_flat0027.fits flatred_flat0028.fits flatred_flat0029.fits flatred_flat0030.fits flatred_flat0031.fits flatred_flat0032.fits flatred_flat0033.fits flatred_flat0034.fits flatred_flat0035.fits flatred_flat0036.fits flatred_flat0037.fits flatred_flat0038.fits flatred_flat0039.fits flatred_flat0040.fits flatred_flat0041.fits flatred_flat0042.fits flatred_flat0043.fits flatred_flat0044.fits flatred_flat0045.fits flatred_flat0046.fits flatred_flat0087.fits flatred_flat0088.fits flatred_flat0135.fits flatred_flat0136.fits flatred_flat0137.fits flatred_flat0138.fits flatred_flat0139.fits flatred_flat0140.fits flatred_flat0141.fits flatred_flat0142.fits flatred_flat0143.fits flatred_flat0144.fits flatred_flat0145.fits flatred_flat0146.fits flatred_flat0147.fits flatred_flat0148.fits flatred_flat0149.fits flatred_flat0150.fits flatred_flat0151.fits flatred_flat0152.fits flatred_flat0153.fits flatred_flat0154.fits flatred_flat0155.fits flatred_flat0001flt.fits flatred_flat0002flt.fits flatred_flat0003flt.fits flatred_flat0004flt.fits flatred_flat0005flt.fits flatred_flat0006flt.fits flatred_flat0007flt.fits flatred_flat0008flt.fits flatred_flat0009flt.fits flatred_flat0010flt.fits flatred_flat0011flt.fits flatred_flat0012flt.fits flatred_flat0013flt.fits flatred_flat0014flt.fits flatred_flat0015flt.fits flatred_flat0016flt.fits flatred_flat0017flt.fits flatred_flat0018flt.fits flatred_flat0019flt.fits flatred_flat0020flt.fits flatred_flat0021flt.fits flatred_flat0022flt.fits flatred_flat0023flt.fits flatred_flat0024flt.fits flatred_flat0025flt.fits flatred_flat0026flt.fits flatred_flat0027flt.fits flatred_flat0028flt.fits flatred_flat0029flt.fits flatred_flat0030flt.fits flatred_flat0031flt.fits flatred_flat0032flt.fits flatred_flat0033flt.fits flatred_flat0034flt.fits flatred_flat0035flt.fits flatred_flat0036flt.fits flatred_flat0037flt.fits flatred_flat0038flt.fits flatred_flat0039flt.fits flatred_flat0040flt.fits flatred_flat0041flt.fits flatred_flat0042flt.fits flatred_flat0043flt.fits flatred_flat0044flt.fits flatred_flat0045flt.fits flatred_flat0046flt.fits flatred_flat0087flt.fits flatred_flat0088flt.fits flatred_flat0135flt.fits flatred_flat0136flt.fits flatred_flat0137flt.fits flatred_flat0138flt.fits flatred_flat0139flt.fits flatred_flat0140flt.fits flatred_flat0141flt.fits flatred_flat0142flt.fits flatred_flat0143flt.fits flatred_flat0144flt.fits flatred_flat0145flt.fits flatred_flat0146flt.fits flatred_flat0147flt.fits flatred_flat0148flt.fits flatred_flat0149flt.fits flatred_flat0150flt.fits flatred_flat0151flt.fits flatred_flat0152flt.fits flatred_flat0153flt.fits flatred_flat0154flt.fits flatred_flat0155flt.fits slitred_slit0134.fits slitred_slit0156.fits slitred_slit0157.fits slitred_slit0158.fits slitred_slit0159.fits slitred_slit0160.fits slitred_slit0161.fits slitred_slit0162.fits slitred_slit0163.fits slitred_slit0164.fits slitred_slit0165.fits slitred_slit0166.fits slitred_slit0167.fits slitred_slit0168.fits slitred_slit0169.fits slitred_slit0170.fits slitred_slit0171.fits slitred_slit0172.fits slitred_slit0173.fits slitred_slit0174.fits slitred_slit0175.fits slitred_slit0176.fits medianred.fits medianredff.fits veryclean: rm -f stage-overscan stage-combine stage-flatten stage-ydist stage-orders stage-slitfn