Differantial or PSF Photometry

        Differential photometry has a little more complicated procedure than the aperture photometry. In the list below you will see what will we do to obtain the photometry.

        1- Find all the stars on the frame above a user set brightness threshold. As like as we had done for the aperture photometry.
        2- Run aperture photometry upon all the stars.
       3- Build a semi-empirical model psf. Each of the psf stars is scaled according to its aperture magnitude estimate, the weighted average is then fitted with a suitable analytic function, and a look-up table computed of the residuals.
       4- Using the centroid of a star as the profile centre, and the sky level as determined for aperture photometry, the PSF model is shifted and scaled to fit the observed stellar image by non-linear least-squares. The scaling yields the magnitude estimate.

       Before starting any process we will have to setup some parameters about our data, CCD, and fitting, which will be later used by the tasks. In order to do this we will use the following commands.

da>epar datapars

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  =                  20.) Standard deviation of background in counts
(datamin=                3200.) Minimum good data value
(datamax=               55000.) Maximum good data value
(noise  =              poisson) Noise model
(ccdread=                     ) CCD readout noise image header keyword
(gain   =                     ) CCD gain image header keyword
(readnoi=                   3.) CCD readout noise in electrons
(epadu  =                  1.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=                   JD) Time of observation image header keyword
(itime  =                   1.) Exposure time
(xairmas=                INDEF) Airmass
(ifilter=                INDEF) Filter
(otime  =                INDEF) Time of observation
(mode   =                   ql)

       I guess these parameters are suitable for a typical TUG data. But ofcourse FWHM of the PSF, datamin and datamax parameters can be changed from image to image.

da>epar centerpars

PACKAGE = daophot
   TASK = centerpars

(calgori=             centroid) Centering algorithm
(cbox   =                   5.) Centering box width in scale units
(cthresh=                   4.) Centering threshold in sigma above background
(minsnra=                   1.) Minimum signal-to-noise ratio for centering algorit
(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)

       These parameters define the selection criteria of a source as a star.

da>epar fitskypars

PACKAGE = daophot
   TASK = fitskypars

(salgori=                 mode) Sky fitting algorithm
(annulus=                  15.) 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 iterations
(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)

       And these are for the selection of the sky annulus.

da>epar photpars

PACKAGE = daophot
   TASK = photpars

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

       And these are for photometry.

       After these parameters you are ready to make the aperture photometry using the phot task. Since we have just set the needed parameters we won't set any more parameters. The only thing we need to give is now the input image list and the coordinate file.

da> phot @cr0001_1_al.fit cr0001_1_al.fit.coo.1

       After this step we will select our PSF stars to create a PSF model. To do this we will define the parameters of daopars.

da> epar daopars

PACKAGE = daophot
   TASK = daopars

(functio=                 auto) Form of analytic component of psf model
(varorde=                    0) Order of empirical component of psf model
(nclean =                    0) Number of cleaning iterations for computing psf mod
(saturat=                   no) Use wings of saturated stars in psf model computati
(matchra=                   3.) Object matching radius in scale units
(psfrad =                  11.) Radius of psf model in scale units
(fitrad =                   4.) Fitting radius in scale units
(recente=                  yes) Recenter stars during fit ?
(fitsky =                   no) Recompute group sky value during fit ?
(groupsk=                  yes) Use group rather than individual sky values ?
(sannulu=                  15.) Inner radius of sky fitting annulus in scale units
(wsannul=                  11.) Width of sky fitting annulus in scale units
(flaterr=                 0.75) Flat field error in percent
(proferr=                   5.) Profile error in percent
(maxiter=                   50) Maximum number of fitting iterations
(clipexp=                    6) Bad data clipping exponent
(clipran=                  2.5) Bad data clipping range in sigma
(mergera=                INDEF) Critical object merging radius in scale units
(critsnr=                   1.) Critical S/N ratio for group membership
(maxnsta=                10000) Maximum number of stars to fit
(maxgrou=                   60) Maximum number of stars to fit per group
(mode   =                   ql)

       The important ones here are, the fitting function, matchra, psfrad, fitrad and the dimensions of the Annulus for sky and the source. And one more step before selecting the PSF stars is to set the parameters of the pstselect task.

da>epar pstselect

PACKAGE = daophot
   TASK = pstselect

image   =      cr0001_1_al.fit  Image for which to build psf star list
photfile=              default  Photometry file (default: image.mag.?)
pstfile =              default  Output psf star list file (default: image.pst.?)
maxnpsf =                   10  Maximum number of psf stars
(mkstars=                   no) Mark deleted and accepted psf stars
(plotfil=                     ) Output plot metacode file
(datapar=                     ) Data dependent parameters
(daopars=                     ) Psf fitting parameters
(interac=                  yes) Select psf stars interactively ?
(plottyp=                 mesh) Default plot type (mesh|contour|radial)
(icomman=                     ) Image cursor: [x y wcs] key [cmd]
(gcomman=                     ) Graphics cursor: [x y wcs] key [cmd]
(wcsin  =             )_.wcsin) The input coordinate system (logical,tv,physical,wo
(wcsout =            )_.wcsout) The output coordinate system (logical,tv,physical)
(cache  =             )_.cache) Cache the input image pixels in memory ?
(verify =            )_.verify) Verify critical pstselect parameters?
(update =            )_.update) Update critical pstselect parameters?
(verbose=           )_.verbose) Print pstselect messages?
(graphic=          )_.graphics) Graphics device
(display=           )_.display) Image display device
(mode   =                   ql)

       The important parameters here are maxnpsf, and whether you want to select them interactively or not. I guess selecting these stars interactively is much more convincing.

       After running the pstselect tool you will be able to point a star in the DS9 window, and then the surface plot of it will be drawed in the irafterm graphic window. You will select a star from the image with the a command and if you press the a button again in the IRAFTERM window after seeing its surface plot that star will be added to the PSF Star list.

       Now we are ready to create the model PSF for all images we have. but to do so we have to create some list files.

da>ls *fit > im.lis

       As our image list file.

da> ls *.mag.1 > mag.lis

       As our aperture magnitude list file.

da> ls *.pst.1 > pst.lis
       As our psf star file list.

da> psf @im.lis @mag.lis @pst.lis interact-

       To examine the result :

da> seepsf cr0001_1_al.fit.psf.1 cr0001_1_al.fit.psf.1s
da> disp
cr0001_1_al.fit.psf.1s 1
da> imexam

       And now we can check the generated psf model, we should be careful about how the profile looks. It should look like a single star without contamination from neighbours. And the last list file can be created as follows :

da> ls *psf.1 > psf.lis
da> allstar @im.lis @mag.lis @psf.lis

        This produce the *.als.1 files which contain differantial photometry values of the stars in the field. And thats all we have done the differantial photometry using DAOPHOT.

Valid HTML 4.01!