procedure tff (skiplist,obsdate1,start1,end1,impref,subSBias,supBias, subCBias, biasect,medavg, trisect, nm,min,tflatreg, combFlat, outFlat) bool skiplist {no, prompt="Skip list generation if lists already exist?"} string obsdate1 {"04apr", prompt="Date prefix, scan 1"} int start1 {prompt=" Image number of starting image, scan 1"} int end1 {prompt=" Image number of ending image, scan 1"} string impref {"s", prompt="Image prefix (string) to assign all output flats"} bool subSBias {yes, prompt="Subtract a 2-D super-bias?"} string supBias {"bias04apr", prompt=" -> Name of super-bias image"} bool subCBias {yes, prompt="Use colbias?"} string biasect {"[1605:1620,1:1600]", prompt=" -> colbias: Bias section"} bool medavg {yes, prompt=" -> colbias: Use med instead of avg in column bias?"} string trisect {"[1:1600,1:1600]", prompt="Output flat trim section"} real nm {INDEF, prompt="tflat: Normalization if not INDEF"} real min {0., prompt="tflat: Minimum data value to use in the FF"} string tflatreg {"[440:1180,260:1220]", prompt="tflat: Region to do stats on"} bool combFlat {yes, prompt="Combine all flats into one? (o/wise kept singular)"} string outFlat {"-", prompt=" -> Name of combined flat-field"} struct *flist # list-directed structure to go thru a scan file begin # Variable Declarations: string refImage # Full name of chosen reference image string coordFile # Name of coordinate file assoc with ref image string dummy # dummy string to store input read in from # a scan file string dummy2 # shortened version of dummy string action # action on whether to bail out after imalign int k1, k2 # character lengths of image prefix and dummy string region # region around first star in the reference # image coords file, for modal scaling string flatfile # name of file listing scan flat-fields if ((combFlat==yes)&&(outFlat=="-")) { print (" *** ERROR: No outFlat specified in input ***") print (" Please try again...") print (" ") print ("Bye.") print (" ") bye } if ((subSBias==no)&&(subCBias==no)) { print (" *** ERROR: Neither method of bias-subtraction employed ***") print (" Please try again...") print (" ") print ("Bye.") print (" ") bye } print (" ") print (" Start time:") time # Cleaning-up stray files: delete (files="temp_tff*",go_ahea+,ver-) if (skiplist==no) { delete (files="flatlist*",go_ahea+,ver-) } if (combFlat==yes) { imdelete (images=outFlat,verify-,default+,go_ahead+) } if (! defpac ("images")) { print("Package IMAGES needs to be loaded.") bye } if (! defpac ("bias")) { print("Package NOAO.IMRED.BIAS needs to be loaded.") bye } if (! defpac ("generic")) { print("Package NOAO.IMRED.GENERIC needs to be loaded.") bye } # Creating Lists: ---------------------------------------------- if (skiplist==no) { tmakefile (file_out="flatlist1",startNum=start1,stopNum=end1, prefixOU=obsdate1,anyExtn-,extnOU="",padOU+,listImgs-) tmakefile (file_out="flatlist2",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn-,extnOU="",padOU+,listImgs-) tmakefile (file_out="flatlist3",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn+,extnOU="tmp",padOU+,listImgs-) tmakefile (file_out="flatlist4",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn+,extnOU="f",padOU+,listImgs-) tmakefile (file_out="flatlist5",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn+,extnOU="flat",padOU+,listImgs-) tmakefile (file_out="flatlist6",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn+,extnOU="b",padOU+,listImgs-) tmakefile (file_out="flatlist7",startNum=start1,stopNum=end1, prefixOU=impref,anyExtn+,extnOU=trisect,padOU+,listImgs-) # flatlist1 - images in raw date format # flatlist2 - images in short output format # flatlist3 - images with "tmp" extension # flatlist4 - images with "f" extension # flatlist5 - images with "flat" extension # flatlist6 - images with "b" extension # flatlist7 - images with trisect region appended } # i.e. end of (skiplist==no) option # --------------------------------------------------------------- # Subtract bias using super-bias/colbias (no extn --> b): print (" ") print (" ") print ("Subtracting bias:") print (" ") print (" ") if (subSBias==yes) { print (" ") print("-----------------------------------------------") print(" Subtracting super-bias ...") print("-----------------------------------------------") print (" ") imdelete (images="@flatlist3",verify-,default+,go_ahead+) imarith (operand1="@flatlist1",op="-",operand2=supBias, result="@flatlist3",title="",divzero=0.,hparams="",pixtype="",calctyp="", verbose+,noact-) } if (subSBias==no) { imdelete (images="@flatlist3",verify-,default+,go_ahead+) imren (oldnames="@flatlist1",newnames="@flatlist3",verb+) } if (subCBias==yes) { print (" ") print("-----------------------------------------------") print(" Using colbias (please wait ...)") print("-----------------------------------------------") print (" ") imdelete (images="@flatlist2",verify-,default+,go_ahead+) imdelete (images="@flatlist6",verify-,default+,go_ahead+) colbias (input="@flatlist3",output="@flatlist6",bias=biasect, trim=trisect,median=medavg,interac-,functio="chebyshev",order=5, low_rej=3,high_rej=3,niter=5, logfile-) imdelete (images="@flatlist3",verify-,default+,go_ahead+) } if (subCBias==no) { imdelete (images="@flatlist2",verify-,default+,go_ahead+) # imren (oldnames="@flatlist3",newnames="@flatlist6",verb+) imcopy (input="@flatlist7",output="@flatlist6",verb+) imdelete (images="@flatlist3",verify-,default+,go_ahead+) } # --------------------------------------------------------------- # Generating normalised versions of images using tflat: print (" ") print("-----------------------------------------------") print ("Generating normalised version of images ...") print("-----------------------------------------------") print (" ") tflat (imageFil="flatlist2",normaliz=nm,minim=min,imageReg=tflatreg) imdelete (images="@flatlist6",verify-,default+,go_ahead+) imrename (oldnames="@flatlist4",newnames="@flatlist5",verb+) # Combining flat-fields into one (if req'd): if (combFlat==yes) { print (" ") print("-----------------------------------------------") print ("Combining flat-fields into one ("//outFlat//"):") print("-----------------------------------------------") print (" ") imcombine (input="@flatlist5",output=outFlat, plfile="", sigma="", logfile="STDOUT", combine="median", reject="avsigclip", project-, outty="real", offse="none", maskty="none", scale="none", zer="none", weig="none", statsec="", lthr=INDEF, hthr=INDEF, nkee=0, mclip=yes, lsig=2.5, hsig=2.5) print (" ") } print(" ") print("------------------------------------") print("Image List Summary:") print("flatlist1 - images in raw date format") print("flatlist2 - images in short output format") print("flatlist3 - images with tmp extension") print("flatlist4 - images with f extension") print("flatlist5 - images with flat extension") print("flatlist6 - images with b extension") print("------------------------------------") print(" ") print (" ") print (" Finish time:") time print (" ") print (" ") print ("Done.") end