procedure tmcomb (offImgs, combType, CLNextn, SUMextn, maskType, maskZer, clnmaRMS, summaRMS) string offImgs {prompt="List of combined images"} string combType {"both", prompt="Which comb set? (clean|sum|both)"} string CLNextn {prompt=" CLEANED: image extension"} string SUMextn {prompt=" SUMMED: image extension"} string maskType {"rms", prompt="Apply corner mask? (none|zero|rms)"} string maskZer {"-",prompt=" Zero mask image (full name)"} string clnmaRMS {"--",prompt=" CLEANED: RMS mask image (full name)"} string summaRMS {"---",prompt=" SUMMED: RMS mask image (full name)"} struct *flist1 begin # Variable Declarations: string rawIm # name of raw input image string outIm # name of output image if (! defpac ("images")) { print("Package IMAGES needs to be loaded.") bye } # Cleaning-up old files and ones about to be created: imdelete (images="tempImg",verify=no,default=yes, go_ahead=yes) # Applying masks to CLEANED images: ------------------------------- if ((combType=="clean")||(combType=="both")) { flist1 = offImgs print(" ") print(" ") print(" Applying masks to cleaned images ...") print(" ") while ( fscan(flist1, rawIm) != EOF) { outIm=rawIm//CLNextn print (" Image: "//outIm) if ((maskType=="zero")||(maskType=="rms")) { # Multiplying by zero mask (required by both cases): imarith(operand1=outIm,op="*",operand2=maskZer, result="tempImg",title="combined image",divzero=0,verb=no) imdelete (images=outIm,verify=no,default=yes, go_ahead=yes) imrename (oldnames="tempImg",newnames=outIm,verb=no) if (maskType=="rms") { # Adding RMS mask: imarith(operand1=outIm,op="+",operand2=clnmaRMS, result="tempImg",title="combined image",divzero=0,verb=no) imdelete (images=outIm,verify-,default+, go_ahead+) imrename (oldnames="tempImg",newnames=outIm,verb-) } } } } # Applying masks to SUMMED images: ------------------------------- if ((combType=="sum")||(combType=="both")) { flist1 = offImgs print(" ") print(" ") print(" Applying masks to summed images ...") print(" ") while ( fscan(flist1, rawIm) != EOF) { outIm=rawIm//SUMextn print (" Image: "//outIm) if ((maskType=="zero")||(maskType=="rms")) { # Multiplying by zero mask (required by both cases): imarith(operand1=outIm,op="*",operand2=maskZer, result="tempImg",title="combined image",divzero=0,verb=no) imdelete (images=outIm,verify=no,default=yes, go_ahead=yes) imrename (oldnames="tempImg",newnames=outIm,verb=no) if (maskType=="rms") { # Adding RMS mask: imarith(operand1=outIm,op="+",operand2=summaRMS, result="tempImg",title="combined image",divzero=0,verb=no) imdelete (images=outIm,verify-,default+, go_ahead+) imrename (oldnames="tempImg",newnames=outIm,verb-) } } } } print (" ") print (" ") imdelete (images="tempImg",verify=no,default=yes, go_ahead=yes) print (" ") print ("============================================================") print (" ") print (" ") print ("Done.") print (" ") end