A. Matching Intensity: Philmatch



WARNING: For some reason, philmatch doesn't work with the new digiphot/daophot package (V4.8). At least, I keep getting OUT OF MEMORY error messages. It works fine with the "irafo" version. Stay tuned.

For each field we want to stack, we need to match the background levels and intensities for all of the dithered frames within a filter. The task 'philmatch' samples stars in each of the frames from a supplied list of images and generates an intensity scaling and background level using the photometry routine "phot" from daophot. At the end, the header of each image is updated with "MSCSCALE" & "MSCZERO". This seems to produce results superior to the IRAF task 'mscimatch', as its scaling appears inconsistent.

Below are sample parameters for 'philmatch' as well as parameters for the photometry tasks.

For reasons we don't understand, it is necessary to UNLOAD the mscred package ("bye") or else the "daofind" task bombs. You must also load "digiphot" and "daophot".

The fwhm and sigbk levels in "philmatch" should be adjusted for each set of frames.

The background level ("msczero") will be determined from the modal values of the sky in an annulus around each sky. The intensity level ("mscscale") will be determined via aperature photometry through a large-size (8-pixel radius) aperature.

You are welcome to the script philmatch and to the associated FORTRAN programs common and var4. These must be declared as a foreign tasks in your login.cl:


task    philmatch = /tofu/home/massey/survey/philmatch.cl
task    $common = $/tofu/home/massey/survey/common
task    $var4 = $/tofu/home/massey/survey/var4



PACKAGE = clpackage
 TASK = philmatch

input   =                   us   List of images to be matched
(fwhm   =                   4.) Typical FWHM of stellar image
(sigbk  =                  10.) Typical RMS of the sky
(signif =                  25.) Significance level to detect
(mode   =                   ql)
 

PACKAGE = daophot
   TASK = daofind

image   =                       Input image(s)
output  =              default  Output coordinate file(s) (default: image.coo.?)
(starmap=                     ) Output density enhancement image(s)
(skymap =                     ) Output sky image(s)
(datapar=                     ) Data dependent parameters
(findpar=                     ) Object detection parameters
(boundar=              nearest) Boundary extension (constant|nearest|reflect|wra
(constan=                   0.) Constant for boundary extension
(interac=                   no) Interactive mode ?
(verify =            )_.verify) Verify critical daofind parameters ?
(update =            )_.update) Update critical daofind parameters ?
(verbose=                   no) Print daofind messages ?
(graphic=          )_.graphics) Graphics device
(display=           )_.display) Display device
(icomman=                     ) Image cursor: [x y wcs] key [cmd]
(gcomman=                     ) Graphics cursor: [x y wcs] key [cmd]
(mode   =                   ql)

PACKAGE = daophot
   TASK = phot

image   =                dphil  Input image(s)
coords  =              default  Input coordinate list(s) (default: image.coo.?)
output  =              default  Output photometry file(s) (default: image.mag.?)
skyfile =                       Input sky value file(s)
(plotfil=                     ) Output plot metacode file
(datapar=                     ) Data dependent parameters
(centerp=                     ) Centering parameters
(fitskyp=                     ) Sky fitting parameters
(photpar=                     ) Photometry parameters
(interac=                   no) Interactive mode ?
(radplot=                   no) Plot the radial profiles?
(verify =            )_.verify) Verify critical phot parameters ?
(update =            )_.update) Update critical phot parameters ?
(verbose=                   no) Print phot messages ?
(graphic=          )_.graphics) Graphics device
(display=           )_.display) Display device
(icomman=                     ) Image cursor: [x y wcs] key [cmd]
(gcomman=                     ) Graphics cursor: [x y wcs] key [cmd]
(mode   =                   ql)

PACKAGE = daophot
   TASK = datapars

(scale  =                   1.) Image scale in units per pixel
(fwhmpsf=                  2.5) FWHM of the PSF in scale units
(emissio=                  yes) Features are positive ?
(sigma  =                   0.) Standard deviation of background in counts
(datamin=                INDEF) Minimum good data value
(datamax=                20000) Maximum good data value
(noise  =              poisson) Noise model
(ccdread=                     ) CCD readout noise image header keyword
(gain   =                     ) CCD gain image header keyword
(readnoi=                  10.) CCD readout noise in electrons
(epadu  =                  2.5) Gain in electrons per count
(exposur=              exptime) Exposure time image header keyword
(airmass=              airmass) Airmass image header keyword
(filter =               filter) Filter image header keyword
(obstime=             time-obs) Time of observation image header keyword
(itime  =                   1.) Exposure time
(xairmas=                INDEF) Airmass
(ifilter=                INDEF) Filter
(otime  =                INDEF) Time of observation
(mode   =                   ql)

PACKAGE = daophot
   TASK = centerpars

(calgori=             centroid) Centering algorithm
(cbox   =                   5.) Centering box width in scale units
(cthresh=                   0.) Centering threshold in sigma above background
(minsnra=                   1.) Minimum signal-to-noise ratio for centering algo
(cmaxite=                   10) Maximum iterations for centering algorithm
(maxshif=                   1.) Maximum center shift in scale units
(clean  =                   no) Symmetry clean before centering
(rclean =                   1.) Cleaning radius in scale units
(rclip  =                   2.) Clipping radius in scale units
(kclean =                   3.) K-sigma rejection criterion in skysigma
(mkcente=                   no) Mark the computed center
(mode   =                   ql)

PACKAGE = daophot
   TASK = fitskypars

(salgori=                 mode) Sky fitting algorithm
(annulus=                  10.) Inner radius of sky annulus in scale units
(dannulu=                  10.) Width of sky annulus in scale units
(skyvalu=                   0.) User sky value
(smaxite=                   10) Maximum number of sky fitting iterations
(sloclip=                   0.) Lower clipping factor in percent
(shiclip=                   0.) Upper clipping factor in percent
(snrejec=                   50) Maximum number of sky fitting rejection iteratio
(sloreje=                   3.) Lower K-sigma rejection limit in sky sigma
(shireje=                   3.) Upper K-sigma rejection limit in sky sigma
(khist  =                   3.) Half width of histogram in sky sigma
(binsize=                  0.1) Binsize of histogram in sky sigma
(smooth =                   no) Boxcar smooth the histogram
(rgrow  =                   0.) Region growing radius in scale units
(mksky  =                   no) Mark sky annuli on the display
(mode   =                   ql)

PACKAGE = daophot
   TASK = photpars

(weighti=             constant) Photometric weighting scheme
(apertur=                    8) List of aperture radii in scale units
(zmag   =                  25.) Zero point of magnitude scale
(mkapert=                   no) Draw apertures on the display
(mode   =                   ql)

We need to combine the old mim*pl mask with the new fmim*pl mask and rename it fmim*pl so that the stacking will recognize the bad pixels. If this isn't done, the new stacked fmim*fits files don't correct for the previously known bad pixels .he new combined masks will be called ffmim*pl. To update the headers:

hedit fmim*p.fits BPM "('f' // BPM)" add+ ver- show+