%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@ Making a Catalog Out of the Final Stacks 12.10.00 %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@ *** Print me sideways *** Look for R-Drops ---------------- 0. Before registering, make *.pl in *.fits with imcopy. And use the right wregister values... (Change those below.) And take care of bad high-valued pixels with imreplace. 1. Our first idea is to sum the Bw + R stacks and the I + z' stacks. Then we'll run SExtractor on each in an effort to look for z=5 R-drops. Before we can sum the images, we must register them (and presumably, the associate BPMs as well.) Do this with images.immatch.wregister: PACKAGE = immatch TASK = wregister input = @list.reg_in The input images referenc= Lock_Bw_pass2.fits Input reference images output = @list.reg_out The output registered images (xmin = INDEF) Minimum logical x reference coordinate value (xmax = INDEF) Maximum logical x reference coordinate value (ymin = INDEF) Minimum logical y reference coordinate value (ymax = INDEF) Maximum logical y reference coordinate value (nx = 10) Number of grid points in x (ny = 10) Number of grid points in y (wcs = world) The default world coordinate system (transpo= no) Force a world coordinate tranpose ? (xformat= %10.3f) Output logical x coordinate format (yformat= %10.3f) Output logical y coordinate format (wxforma= ) Output world x coordinate format (wyforma= ) Output world y coordinate format (fitgeom= general) Fitting geometry (functio= polynomial) Type of coordinate surface to be computed (xxorder= 2) Order of x fit in x (xyorder= 2) Order of x fit in y (xxterms= half) X fit cross terms type (yxorder= 2) Order of y fit in x (yyorder= 2) Order of y fit in y (yxterms= half) Y fit cross terms type (reject = INDEF) The rejection limit in units of sigma (calctyp= real) Transformation computation type (geometr= geometric) Transformation geometry (xsample= 1.) X coordinate sampling interval (ysample= 1.) Y coordinate sampling interval (interpo= linear) The interpolant type (boundar= nearest) Boundary extensiontype (constan= 0.) Constant for constant boundary extension (fluxcon= yes) Preserve image flux ? (nxblock= 512) X dimension blocking factor (nyblock= 512) Y dimension blocking factor (wcsinhe= yes) Inherit wcs of the reference image ? (verbose= yes) Print messages about progress of task? (interac= no) Compute transformation interactively? (graphic= stdgraph) The standard graphics device (gcomman= ) The graphics cursor (mode = ql) Arjun had nxblock and nyblock set to 9200 and 1024, respectively, but I wanted to move things along faster than that would allow. Also, it seems to me that we could set fitgeom to "shift", but with order 2 polynomials as the fitting functions, it probably doesn't matter. WARNING: See the note about running this with double precision variables -- it's message from Linsey Davis, save in the Arjun mail folder. 2. Before you can combine/compare images, you need to smooth to the worst PSF of any of the constituent images. But before you can smooth, you gotta take care of the bad high-value pixels with imreplace. Now smooth... First, estimate a FWHM for the PSFs in your image by making radial plots of some stars with imexam. Then pick a smoothing kernel with a PSF such that the smoothed images will all have the same PSF -- set by the PSF of the worst un-smoothed image. This is a little tricky. Here are some things to remember: a) Remember that the PSF in the final image is the sum in quadrature of the PSF of the input image and the PSF of the smoothing kernel. b) The smoothing task is GAUSS (images.imfilter) requires the sigma of the Gaussian filter -- not the FWHM. You'll need to convert when you run the task according to: simga = sqrt{ FWHM^2 / 8 ln2 } c) Even when you do everything right, the resulting PSF will not be what you predicted: GAUSS makes bigger PSFs then you'll calculate. This means some experimentation will be required. To make it easy on yourself, cut out a region around some star, then test GAUSS on those small images until the PSF comes out right. Then go back to the actuall images and let 'er rip. EXAMPLE: I have four image. Here are the relevant numbers... Start PSF Desired PSF Estimate Kernel PSF Use Sigma Actual Kernel PSF Result PSF --------- ----------- ------------------- --------- ----------------- ---------- Bw 5.14 5.57 2.15 0.91 0.85 5.57 R 5.57 5.57 N-A N-A N-A 5.57 I 4.42 5.57 3.39 1.43 1.2 5.56 z 4.34 5.57 3.49 1.48 1.25 5.57 That is, I measured the start PSFs and determined that I need to smooth to a PSF of 5.57 pix. Then I estimated the kernel PSF using the add-in-quadrature relation, and I converted those FWHMs to sigmas. After smoothing, I found that the PSFs had been made too big, so I fiddled until I got the values under "Actual Kernel PSF". Since the tests had been run on a small cut-outs of the total images, I then had to go back and smooth the actual images with the good kernel widths I found. Here is the (ugly) script I used to do for this. First, actually, I got rid of the very high valued pixels in those regions of the stacks that have no data (since they were masked out in each consituent image). This was to prevent artificial smearing of what should be empty pixels into the rest of the good data. (This didn't work so well, by the way.) # Get rid of very-high valued pixels (which are assumed to be # over-lapping BPMs. Replace with image means (below). # imreplace Lock_Bw_pass2.fits 1040. lower=49999. imreplace Lock_R_stk5_pass2_reg.fits 5798. lower=49999. imreplace Lock_I_stkHI_pass2_reg.fits 9603. lower=49999. imreplace Lock_z_stk1_pass2_reg.fits 5827. lower=49999. beep # ################################################################### # gauss Lock_Bw_pass2 Lock_Bw_pass2_G 0.85 gauss Lock_I_stkHI_pass2_reg Lock_I_stkHI_pass2_regG 1.2 gauss Lock_z_stk1_pass2_reg Lock_z_stk1_pass2_regG 1.25 beep # # RMS's are 6.4 16.2 17.3 8.3 in order of increasing wavelength # 3. When you combine the images, you want to weight according to signal to noise. That is, you want your crap SN to contribute less than your rad SN -- otherwise your just adding noise to your final image. However, since we haven't scaled out images to each other, really, are SNs mean nothing when compared to each other outright. Hence, the proper weight comes from dividing the sky RMS by the sky mean. This is the value you would measure for the noise if you had scaled the image so that the mean in the sky was unity. Now the comparison between images means something. Call the RMS / mean "sigma". For images A and B with RMS sig_A and sig_B respectively, add according to: sum = [ A / sig_A^2 + B / sig_B^2 ] / [ 1 / sig_A^2 + 1 sig_B^2 ] The way to effect this with an IRAF script is kind of dumb -- all the imcopy'ing is there to keep the WCS info in the headers. Here, I'm summing the Bw with the R and the I with the z: # # Shit -- didn't divide RMS by mean for proper weight. Do # that now. # RMS: 6.4, 16.2, 17.3, 8.3 # means: 1040, 5798, 9603, 5827 # weight: 0.0062^2, 0.0028^2, 0.0018^2, 0.0014^2 # Don't neglect normalizing. Turns out, it may matter. # # TEST FIRST ON SMALL SECTION # imcopy Lock_Bw_pass2_G tempBw2 imcopy Lock_R_stk5_pass2_reg tempR2 imarith tempBw2 * 0.000038 tempBw2 imarith tempR2 * 0.0000078 tempR2 imarith tempBw2 + tempR2 tempBw2 imarith tempBw2 * 154499.5 tempBw2 imcopy tempBw2 Lock_Bw_R # imcopy Lock_I_stkHI_pass2_regG tempI2 imcopy Lock_z_stk1_pass2_regG tempz2 imarith tempI2 * 0.0000032 tempI2 imarith tempz2 * 0.0000020 tempz2 imarith tempI2 + tempz2 tempI2 imarith tempI2 * 800992.9 tempI2 imcopy tempI2 Lock_I_z # display Lock_Bw_R 1 display Lock_I_z 2 beep 4. Now we want to run SExtractor on the combined Bw+R and I+z' images. Specifically, we want to run the detection on the combine I+z' to do photometry in the Bw+R, Bw, R, I, and z' images. To run SExtractor, you need an executable (which you store as a shell script), a configuration file, and various filters. You also need to convert your bad pixel masks to files with *.fits extensions, and you need to make exposure masks from the bad pixel files. (These chart the RMS sky noise over the face of the the stack. Central areas have more effective exposure time, hence lower noise.) Recall that the BPMs we've been dealing with aren't really BPMs -- they're records of the number of inputs in the stack that have been rejected from a pixel location. That is, if you've made a stack from 10 images, and at a given pixel location two of those images have bad pixels, the value at that location in the stack BPM will be two. Consider that when looking out how we make the exposure masks, below. a) First run an iraf script to create BPMs with .pl -> .fits, and to make the exposure masks. Items you will need to change (other than file names) are the number of input exposures in the stack and the exposure times. Note that the first two example are a little weird because I was combining BPMs for two bands, each with different numbers of individual frames in the final stack, and with different exposure times. # Makes the exposure mask for the Bw-band frame for input into SExtractor # Deal with Lock_I_z.fits # ----------------------- # Make sum bpm.fits imarith Lock_I_stkHI_pass2_bpm_reg.fits + Lock_z_stk1_pass2_bpm_reg.fits Lock_I_z_bpm.fits # Make sum exposure mask imcopy Lock_I_stkHI_pass2_bpm_reg.fits exptempI.fits imarith exptempI.fits - 16.0 exptempI.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempI.fits * -1.0 exptempI.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempI.fits * 600.0 exptempI.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imcopy Lock_z_stk1_pass2_bpm_reg.fits exptempz.fits imarith exptempz.fits - 18.0 exptempz.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempz.fits * -1.0 exptempz.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempz.fits * 400.0 exptempz.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempI.fits + exptempz.fits exp_I_z_bpm.fits # Deal with Lock_Bw_R.fits # ------------------------ # Make sum bpm.fits imarith Lock_Bw_pass2_bpm.fits + Lock_R_stk5_pass2_bpm_reg.fits Lock_Bw_R_bpm.fits # Make sum exposure mask imcopy Lock_Bw_pass2_bpm.fits exptempBw.fits imarith exptempBw.fits - 11.0 exptempBw.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempBw.fits * -1.0 exptempBw.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempBw.fits * 840.0 exptempBw.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imcopy Lock_R_stk5_pass2_bpm_reg.fits exptempR.fits imarith exptempR.fits - 12.0 exptempR.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempR.fits * -1.0 exptempR.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempR.fits * 600.0 exptempR.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith exptempBw.fits + exptempR.fits exp_Bw_R_bpm.fits # Deal with Bw # ------------ # imcopy Lock_Bw_pass2_bpm.pl Lock_Bw_pass2_bpm.fits imcopy Lock_Bw_pass2_bpm.fits expLock_Bw_pass2_bpm.fits ver+ imarith expLock_Bw_pass2_bpm.fits - 11.0 expLock_Bw_pass2_bpm.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_Bw_pass2_bpm.fits * -1.0 expLock_Bw_pass2_bpm.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_Bw_pass2_bpm.fits * 840.0 expLock_Bw_pass2_bpm.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no # Deal with R # ------------ # imcopy Lock_R_stk5_pass2_bpm_reg.pl Lock_R_stk5_pass2_bpm_reg.fits imcopy Lock_R_stk5_pass2_bpm_reg.fits expLock_R_stk5_pass2_bpm_reg.fits ver+ imarith expLock_R_stk5_pass2_bpm_reg.fits - 12.0 expLock_R_stk5_pass2_bpm_reg.fits divze=r0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_R_stk5_pass2_bpm_reg.fits * -1.0 expLock_R_stk5_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_R_stk5_pass2_bpm_reg.fits * 600.0 expLock_R_stk5_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no # Deal with I # ------------ # imcopy Lock_I_stkHI_pass2_bpm_reg.pl Lock_I_stkHI_pass2_bpm_reg.fits imcopy Lock_I_stkHI_pass2_bpm_reg.fits expLock_I_stkHI_pass2_bpm_reg.fits ver+ imarith expLock_I_stkHI_pass2_bpm_reg.fits - 16.0 expLock_I_stkHI_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_I_stkHI_pass2_bpm_reg.fits * -1.0 expLock_I_stkHI_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_I_stkHI_pass2_bpm_reg.fits * 600.0 expLock_I_stkHI_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no # Deal with z # ------------ # imcopy Lock_z_stk1_pass2_bpm_reg.pl Lock_z_stk1_pass2_bpm_reg.fits imcopy Lock_z_stk1_pass2_bpm_reg.fits expLock_z_stk1_pass2_bpm_reg.fits ver+ imarith expLock_z_stk1_pass2_bpm_reg.fits - 18.0 expLock_z_stk1_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_z_stk1_pass2_bpm_reg.fits * -1.0 expLock_z_stk1_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no imarith expLock_z_stk1_pass2_bpm_reg.fits * 400.0 expLock_z_stk1_pass2_bpm_reg.fits divzer=0. hpara="" pixtyp="r" calctype="r" verbose+ noact=no b) Now run SExtractor. Mastermind it with a shell script. That shell script will call a configuration file. In the following example, the shell script is sex-Iz.csh and the configuration file is Iz.sex. Here they are, in all their glory. ****************** *** sex-Iz.csh *** WARNING: Delete comments before running! ****************** #!/bin/csh # To be run on the with 'Iz.sex' configuration file. # YOU MUST REMOVE COMMENTS AND WHITE NOISE BEFORE RUNNING! # Extract Lock_Bw_R.fits # ---------------------- sex ../Lock_I_z.fits,../Lock_Bw_R.fits -c Iz.sex \ # image for detect; image for photometery -CATALOG_NAME BwR.cat -MAG_ZEROPOINT 0.0 \ # catalog out name; zero point -DEBLEND_NTHRESH 64 \ # -DEBLEND_MINCONT 0.000015 \ # -BACK_SIZE 64 \ # -BACK_FILTERSIZE 3 \ # -SEEING_FWHM 1.4 \ # change to FWHM (") -DETECT_THRESH 0.5 \ # -DETECT_MINAREA 5 \ # -BACKPHOTO_TYPE GLOBAL \ # maybe change to ??? -FLAG_IMAGE ../Lock_Bw_R_bpm.fits -FLAG_TYPE MAX \ # bpm -> fits with mkespmask script -WEIGHT_TYPE MAP_WEIGHT,MAP_WEIGHT \ # -WEIGHT_IMAGE ../exp_I_z_bpm.fits,../exp_Bw_R_bpm.fits\ # out expmask from mkexpmask script -CHECKIMAGE_NAME BwR-objects.fits,BwR-aper.fits,BwR-bkg.fits,BwR-seg.fits \ # outimage names -CHECKIMAGE_TYPE OBJECTS,APERTURES,BACKGROUND,SEGMENTATION \ # -CLEAN N # Extract Lock_Bw.fits # -------------------- sex ../Lock_I_z.fits,../Lock_Bw_pass2_G.fits -c Iz.sex \ -CATALOG_NAME Bw.cat -MAG_ZEROPOINT 0.0 \ -DEBLEND_NTHRESH 64 \ -DEBLEND_MINCONT 0.000015 \ -BACK_SIZE 64 \ -BACK_FILTERSIZE 3 \ -SEEING_FWHM 1.4 \ -DETECT_THRESH 0.5 \ -DETECT_MINAREA 5 \ -BACKPHOTO_TYPE GLOBAL \ -FLAG_IMAGE ../Lock_Bw_pass2_bpm.fits -FLAG_TYPE MAX \ -WEIGHT_TYPE MAP_WEIGHT,MAP_WEIGHT \ -WEIGHT_IMAGE ../exp_I_z_bpm.fits,../expLock_Bw_pass2_bpm.fits\ -CHECKIMAGE_NAME Bw-objects.fits,Bw-aper.fits,Bw-bkg.fits,Bw-seg.fits \ -CHECKIMAGE_TYPE OBJECTS,APERTURES,BACKGROUND,SEGMENTATION \ -CLEAN N # Extract Lock_R.fits # ------------------- sex ../Lock_I_z.fits,../Lock_R_stk5_pass2_reg.fits -c Iz.sex \ -CATALOG_NAME R.cat -MAG_ZEROPOINT 0.0 \ -DEBLEND_NTHRESH 64 \ -DEBLEND_MINCONT 0.000015 \ -BACK_SIZE 64 \ -BACK_FILTERSIZE 3 \ -SEEING_FWHM 1.4 \ -DETECT_THRESH 0.5 \ -DETECT_MINAREA 5 \ -BACKPHOTO_TYPE GLOBAL \ -FLAG_IMAGE ../Lock_R_stk5_pass2_bpm_reg.fits -FLAG_TYPE MAX \ -WEIGHT_TYPE MAP_WEIGHT,MAP_WEIGHT \ -WEIGHT_IMAGE ../exp_I_z_bpm.fits,../expLock_R_stk5_pass2_bpm_reg.fits\ -CHECKIMAGE_NAME R-objects.fits,R-aper.fits,R-bkg.fits,R-seg.fits \ -CHECKIMAGE_TYPE OBJECTS,APERTURES,BACKGROUND,SEGMENTATION \ -CLEAN N # Extract Lock_I.fits # ------------------- sex ../Lock_I_z.fits,../Lock_I_stkHI_pass2_regG.fits -c Iz.sex \ -CATALOG_NAME I.cat -MAG_ZEROPOINT 0.0 \ -DEBLEND_NTHRESH 64 \ -DEBLEND_MINCONT 0.000015 \ -BACK_SIZE 64 \ -BACK_FILTERSIZE 3 \ -SEEING_FWHM 1.4 \ -DETECT_THRESH 0.5 \ -DETECT_MINAREA 5 \ -BACKPHOTO_TYPE GLOBAL \ -FLAG_IMAGE ../Lock_I_stkHI_pass2_bpm_reg.fits -FLAG_TYPE MAX \ -WEIGHT_TYPE MAP_WEIGHT,MAP_WEIGHT \ -WEIGHT_IMAGE ../exp_I_z_bpm.fits,../expLock_I_stkHI_pass2_bpm_reg.fits \ -CHECKIMAGE_NAME I-objects.fits,I-aper.fits,I-bkg.fits,I-seg.fits \ -CHECKIMAGE_TYPE OBJECTS,APERTURES,BACKGROUND,SEGMENTATION \ -CLEAN N # Extract Lock_z.fits # ------------------- sex ../Lock_I_z.fits,../Lock_z_stk1_pass2_regG.fits -c Iz.sex \ -CATALOG_NAME z.cat -MAG_ZEROPOINT 0.0 \ -DEBLEND_NTHRESH 64 \ -DEBLEND_MINCONT 0.000015 \ -BACK_SIZE 64 \ -BACK_FILTERSIZE 3 \ -SEEING_FWHM 1.4 \ -DETECT_THRESH 0.5 \ -DETECT_MINAREA 5 \ -BACKPHOTO_TYPE GLOBAL \ -FLAG_IMAGE ../Lock_z_stk1_pass2_bpm_reg.fits -FLAG_TYPE MAX \ -WEIGHT_TYPE MAP_WEIGHT,MAP_WEIGHT \ -WEIGHT_IMAGE ../exp_I_z_bpm.fits,../expLock_z_stk1_pass2_bpm_reg.fits \ -CHECKIMAGE_NAME z-objects.fits,z-aper.fits,z-bkg.fits,z-seg.fits \ -CHECKIMAGE_TYPE OBJECTS,APERTURES,BACKGROUND,SEGMENTATION \ -CLEAN N ************** *** Iz.sex *** ************** # NOT Default configuration file for SExtractor V1.2b14 - > 2.0 # EB 26/10/97 # (*) indicates parameters which can be omitted from this config file. #-------------------------------- Catalog ------------------------------------ CATALOG_NAME test.cat # name of the output catalog CATALOG_TYPE ASCII_HEAD # "ASCII_HEAD","ASCII","FITS_1.0" or "FITS_LDAC" PARAMETERS_NAME default.param # name of the file containing catalog contents #------------------------------- Extraction ---------------------------------- DETECT_TYPE CCD # "CCD" or "PHOTO" (*) FLAG_IMAGE flag.fits # filename for an input FLAG-image DETECT_MINAREA 5 # minimum number of pixels above threshold DETECT_THRESH 0.6 # or , in mag.arcsec-2 ANALYSIS_THRESH 0.6 # or , in mag.arcsec-2 FILTER Y # apply filter for detection ("Y" or "N")? FILTER_NAME gauss_5.0_9x9.conv # name of the file containing the filter DEBLEND_NTHRESH 64 # Number of deblending sub-thresholds DEBLEND_MINCONT 0.000015 # Minimum contrast parameter for deblending CLEAN Y # Clean spurious detections? (Y or N)? CLEAN_PARAM 1.0 # Cleaning efficiency MASK_TYPE CORRECT # type of detection MASKing: can be one of # "NONE", "BLANK" or "CORRECT" #------------------------------ Photometry ----------------------------------- PHOT_APERTURES 11.6,15.5,19.4,23.3,27.1 # MAG_APER aperture diameter(s) in pixels PHOT_AUTOPARAMS 2.5,3.5 # MAG_AUTO parameters: , SATUR_LEVEL 25000.0 # level (in ADUs) at which arises saturation MAG_ZEROPOINT 30.0 # magnitude zero-point MAG_GAMMA 4.0 # gamma of emulsion (for photographic scans) GAIN 2.0 # detector gain in e-/ADU. PIXEL_SCALE 0 # size of pixel in arcsec (0=use FITS WCS info). #------------------------- Star/Galaxy Separation ---------------------------- SEEING_FWHM 1.0 # stellar FWHM in arcsec STARNNW_NAME default.nnw # Neural-Network_Weight table filename #------------------------------ Background ----------------------------------- BACK_SIZE 64 # Background mesh: or , BACK_FILTERSIZE 3 # Background filter: or , BACKPHOTO_TYPE GLOBAL # can be "GLOBAL" or "LOCAL" (*) BACKPHOTO_THICK 24 # thickness of the background LOCAL annulus (*) #------------------------------ Check Image ---------------------------------- CHECKIMAGE_TYPE SEGMENTATION # can be one of "NONE", "BACKGROUND", # "MINIBACKGROUND", "-BACKGROUND", "OBJECTS", # "-OBJECTS", "SEGMENTATION", "APERTURES", # or "FILTERED" (*) CHECKIMAGE_NAME check.fits # Filename for the check-image (*) #--------------------- Memory (change with caution!) ------------------------- MEMORY_BUFSIZE 1024 # number of lines in buffer MEMORY_OBJSTACK 65500 # number of objects in stack MEMORY_PIXSTACK 10000000 # number of pixels in stack #----------------------------- Miscellaneous --------------------------------- VERBOSE_TYPE NORMAL # can be "QUIET", "NORMAL" or "FULL" (*) #------------------------------- New Stuff ----------------------------------- WEIGHT_GAIN Y # If true, weight maps are considered as gain maps WEIGHT_IMAGE expmask.fits # File name of the detection and measurement # weight image respectively WEIGHT_TYPE MAP_WEIGHT # Variance map derived from 1/weight # Surprise!! 5.