aboutsummaryrefslogtreecommitdiff
path: root/noao/digiphot/daophot/lib/daophotdef.h
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /noao/digiphot/daophot/lib/daophotdef.h
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'noao/digiphot/daophot/lib/daophotdef.h')
-rw-r--r--noao/digiphot/daophot/lib/daophotdef.h257
1 files changed, 257 insertions, 0 deletions
diff --git a/noao/digiphot/daophot/lib/daophotdef.h b/noao/digiphot/daophot/lib/daophotdef.h
new file mode 100644
index 00000000..043e7f1b
--- /dev/null
+++ b/noao/digiphot/daophot/lib/daophotdef.h
@@ -0,0 +1,257 @@
+# DAOPHOT header file
+
+# DAOPHOT PSF function types
+
+define FCTN_FTYPES "|gauss|lorentz|moffat15|moffat25|penny1|penny2|auto|"
+define FCTN_GAUSS 1
+define FCTN_LORENTZ 2
+define FCTN_MOFFAT15 3
+define FCTN_MOFFAT25 4
+define FCTN_PENNY1 5
+define FCTN_PENNY2 6
+define FCTN_AUTO 7
+
+define FCTN_NFTYPES 6
+
+# WCS types
+
+define WCS_LOGICAL 1
+define WCS_TV 2
+define WCS_PHYSICAL 3
+define WCS_WORLD 4
+
+define WCSINSTR "|logical|tv|physical|world|"
+define WCSOUTSTR "|logical|tv|physical|"
+define WCSPSFSTR "|logical|tv|physical|"
+
+# DAOPHOT parameters (# 1 - 100)
+
+# wcs parameters
+
+define MW 1 # mwcs pointer
+define WCSIN 2 # input wcs type
+define WCSOUT 3 # output wcs type
+define WCSPSF 4 # psf wcs type
+define CTIN 5 # input transform
+define CTOUT 6 # output transform
+define CTPSF 7 # psf transform
+
+# data dependent parameters
+
+define SFWHMPSF 8 # full-width at half-max of the psf (scale)
+define FWHMPSF 9 # full-width at half-max of the psf (pixels)
+define MAXGDATA 10 # maximum good data value (ADU)
+define MINGDATA 11 # minimum good data value (ADU)
+define PHOTADU 12 # gain (e- / ADU)
+define READNOISE 13 # readout noise (e-)
+define SCALE 14 # scale of the imge
+
+# keyword parameters
+
+define CCDGAIN 15 # gain image header keyword
+define CCDREAD 16 # readnoise image header keyword
+define EXPTIME 17 # exposure time image header keyword
+define FILTER 18 # filter image header keyword
+define OBSTIME 19 # observing time image header keyword
+define AIRMASS 20 # airmass image header keyword
+
+# observing parameters
+
+define XAIRMASS 21 # value of the airmass
+define IFILTER 22 # filter id
+define ITIME 23 # integration time
+define OTIME 24 # time of observation
+
+# psf fitting parameters
+
+define FUNCTION 25 # psf function analytic function
+define VARORDER 26 # order of psf variability (0, 1, or 2)
+define FEXPAND 27 # fraction pixel interpolation (yes or no)
+define SATURATED 28 # use saturated psf stars ?
+define NCLEAN 29 # the number of psf clean passes
+define FUNCLIST 30 # user function list
+define RPSFRAD 31 # requested psf radius (scale)
+define SPSFRAD 32 # psf radius (scale)
+define PSFRAD 33 # psf radius (pixels)
+define SMATCHRAD 34 # matching radius (scale)
+define MATCHRAD 35 # matching radius (pixels)
+
+# star fitting parameters
+
+define SFITRAD 36 # fitting radius (scale)
+define FITRAD 37 # fitting radius (pixels)
+define SANNULUS 38 # inner sky radius (scale)
+define ANNULUS 39 # inner sky radius (pixels)
+define SDANNULUS 40 # width of sky annulus (scale)
+define DANNULUS 41 # width of sky annulus (pixels)
+define SMERGERAD 42 # merging radius (scale)
+define MERGERAD 43 # merging radius (pixels)
+
+define CRITSNRATIO 44 # critical S/N overlap
+define MAXNSTAR 45 # maximum number of stars to fit
+define MAXGROUP 46 # maximum number of stars in group
+define MAXITER 47 # maximum number of iterations
+define RECENTER 48 # recenter ?
+define FITSKY 49 # refit the group sky ?
+define GROUPSKY 50 # use group or individual sky values
+define FLATERR 51 # the flat field error
+define PROFERR 52 # the profile or interpolation error
+define CLIPRANGE 53 # clipping range
+define CLIPEXP 54 # clipping exponent
+
+
+# file/image name and input/output parameters
+
+define TEXT 55 # text file
+define VERBOSE 56 # verbose mode
+define INIMAGE 57 # input image name
+define INPHOTFILE 58 # input photometry file
+define PSFIMAGE 59 # psf image name
+define COORDS 60 # input coordinate file
+define OUTPHOTFILE 61 # output photometry file
+define OUTIMAGE 62 # output image name
+define OUTREJFILE 63 # output rejected photometry file
+
+define MEMFUDGE 1.05
+
+# DAOPHOT structure definitions
+
+define LEN_DPSTRUCT (70 + 17 * SZ_FNAME + 17)
+
+# sub-structure pointers
+
+define DP_VERSION Memi[$1] # package version number
+define DP_ADDSTAR Memi[$1+1] # pointer to addstar structure
+define DP_ALLSTAR Memi[$1+2] # pointer to allstar structure (used)
+define DP_APSEL Memi[$1+3] # pointer to phot structure (used)
+define DP_GROUP Memi[$1+4] # pointer to group structure
+define DP_NSTAR Memi[$1+5] # pointer to nstar structure (used)
+define DP_PEAK Memi[$1+6] # pointer to the peak structure
+define DP_PSF Memi[$1+7] # pointer to psf structure (used)
+define DP_PSFFIT Memi[$1+8] # pointer to psffit structure (used)
+define DP_SUBSTAR Memi[$1+9] # pointer to substar structure
+
+# the wcs parameters
+
+define DP_WCSIN Memi[$1+10] # the input wcs
+define DP_WCSOUT Memi[$1+11] # the output wcs
+define DP_WCSPSF Memi[$1+12] # the psf wcs
+define DP_MW Memi[$1+13] # pointer to mwcs structure
+define DP_CTIN Memi[$1+14] # the input transformation pointer
+define DP_CTOUT Memi[$1+15] # the output transformation pointer
+define DP_CTPSF Memi[$1+16] # the psf transformation pointer
+
+# parameters
+
+define DP_VARORDER Memi[$1+17] # order of psf variability
+define DP_FEXPAND Memi[$1+18] # expand the analytic function ?
+define DP_SATURATED Memi[$1+19] # use saturated psf stars ?
+define DP_NCLEAN Memi[$1+20] # number of psf cleaning passes
+define DP_MAXNSTAR Memi[$1+21] # maximum number of stars
+define DP_MAXGROUP Memi[$1+22] # maximum group size
+define DP_MAXITER Memi[$1+23] # maximum number of iterations
+define DP_RECENTER Memi[$1+24] # recenter ?
+define DP_FITSKY Memi[$1+25] # fit the sky ?
+define DP_GROUPSKY Memi[$1+26] # use the group sky value ?
+define DP_CLIPEXP Memi[$1+27] # clip exponent
+define DP_TEXT Memi[$1+28] # text file or table input/output ?
+define DP_VERBOSE Memi[$1+29] # verbose mode ?
+
+define DP_SCALE Memr[P2R($1+30)] # image scale in units/pixel
+define DP_SFWHMPSF Memr[P2R($1+31)] # fwhm of the psf (scale)
+define DP_FWHMPSF Memr[P2R($1+32)] # fwhm of the psf (pixels)
+define DP_MAXGDATA Memr[P2R($1+33)] # maximum good data value (ADU)
+define DP_MINGDATA Memr[P2R($1+34)] # minimum good data value (ADU)
+define DP_PHOTADU Memr[P2R($1+35)] # gain in electrons/ADU
+define DP_READNOISE Memr[P2R($1+36)] # readout noise (electrons)
+define DP_XAIRMASS Memr[P2R($1+37)] # value of the airmass
+define DP_ITIME Memr[P2R($1+38)] # value of the exposure time
+define DP_SMATCHRAD Memr[P2R($1+39)] # matching radius (scale)
+define DP_MATCHRAD Memr[P2R($1+40)] # matching radius (pixels)
+define DP_RPSFRAD Memr[P2R($1+41)] # requested psf radius (scale)
+define DP_SPSFRAD Memr[P2R($1+42)] # actual psf radius (scale)
+define DP_PSFRAD Memr[P2R($1+43)] # actual psf radius (pixels)
+define DP_SFITRAD Memr[P2R($1+44)] # fitting radius (scale)
+define DP_FITRAD Memr[P2R($1+45)] # fitting radius (pixels)
+define DP_SANNULUS Memr[P2R($1+46)] # inner sky radius (scale)
+define DP_ANNULUS Memr[P2R($1+47)] # inner sky radius (pixels)
+define DP_SDANNULUS Memr[P2R($1+48)] # width of sky annulus (scale)
+define DP_DANNULUS Memr[P2R($1+49)] # width of sky annulus (pixels)
+define DP_CRITSNRATIO Memr[P2R($1+50)] # critical S/N overlap
+define DP_FLATERR Memr[P2R($1+51)] # percent flat field error
+define DP_PROFERR Memr[P2R($1+52)] # percent profile error
+define DP_CLIPRANGE Memr[P2R($1+53)] # clipping range
+define DP_SMERGERAD Memr[P2R($1+54)] # merging radius (scale)
+define DP_MERGERAD Memr[P2R($1+55)] # merging radius (pixels)
+
+# temporary variables, not yet used
+
+#define DP_FITRADSQ Memr[P2R($1+56)] # fit radius squared (pixels)
+#define DP_PSFRADSQ Memr[P2R($1+57)] # psf radius squared (pixels)
+#define DP_RNOISESQ Memr[P2R($1+58)] # read noise squared (ADU)
+#define DP_PERR Memr[P2R($1+59)] # percentage error
+#define DP_PKERR Memr[P2R($1+60)] # peak error
+#define DP_TMAXGDATA Memr[P2R($1+61)] # true data max
+#define DP_TMINGDATA Memr[P2R($1+62)] # true data min
+
+# file / image names
+
+define DP_INIMAGE Memc[P2C($1+64)] # input image name
+define DP_PSFIMAGE Memc[P2C($1+64+SZ_FNAME+1)] # psf image name
+define DP_INPHOTFILE Memc[P2C($1+64+2*SZ_FNAME+2)] # input photometry file
+define DP_COORDS Memc[P2C($1+64+3*SZ_FNAME+3)] # input coordinate file
+define DP_OUTIMAGE Memc[P2C($1+64+4*SZ_FNAME+4)] # output image name
+define DP_OUTPHOTFILE Memc[P2C($1+64+5*SZ_FNAME+5)] # output photometry file
+define DP_OUTREJFILE Memc[P2C($1+64+6*SZ_FNAME+6)] # output photometry file
+
+# keyword / parameter names
+
+define DP_IFILTER Memc[P2C($1+64+7*SZ_FNAME+7)] # filter id
+define DP_OTIME Memc[P2C($1+64+8*SZ_FNAME+8)] # time of observation
+define DP_CCDGAIN Memc[P2C($1+64+9*SZ_FNAME+9)] # gain keyword
+define DP_CCDREAD Memc[P2C($1+64+10*SZ_FNAME+10)] # readnoise keyword
+define DP_EXPTIME Memc[P2C($1+64+11*SZ_FNAME+11)] # exposure keyword
+define DP_FILTER Memc[P2C($1+64+12*SZ_FNAME+12)] # filter keyword
+define DP_OBSTIME Memc[P2C($1+64+13*SZ_FNAME+13)] # obstime keyword
+define DP_AIRMASS Memc[P2C($1+64+14*SZ_FNAME+14)] # airmass keyword
+define DP_FUNCTION Memc[P2C($1+64+15*SZ_FNAME+15)] # analytic psf function
+define DP_FUNCLIST Memc[P2C($1+64+16*SZ_FNAME+16)] # psf function list
+
+# PSF Fit Parameters
+
+define LEN_PSFFIT (20)
+
+define DP_PSFUNCTION Memi[$1] # PSF type
+define DP_PSFNPARS Memi[$1+1] # number of psf parameters
+define DP_PSFSIZE Memi[$1+2] # size of PSF lut
+define DP_PSFPARS Memi[$1+3] # pointer to the PSF parameters
+define DP_PSFLUT Memi[$1+4] # pointer to the PSF lookup table
+define DP_NVLTABLE Memi[$1+5] # number of variability luts
+define DP_NFEXTABLE Memi[$1+6] # number of PSF expansion luts
+define DP_PSFHEIGHT Memr[P2R($1+7)] # brightness of psf
+define DP_PSFMAG Memr[P2R($1+8)] # magnitude of the PSF
+define DP_PSFX Memr[P2R($1+9)] # x position of the PSF
+define DP_PSFY Memr[P2R($1+10)]# y position of the PSF
+
+define MAX_NFCTNPARS (6) # max number of pars in psf function
+define MAX_NEXPTERMS (11) # max number of expansion terms
+
+# default daophot parameter values
+
+define DEF_SCALE 1.0
+define DEF_FWHMPSF 2.5
+define DEF_PSFRAD 11.0
+define DEF_FITRAD 2.5
+define DEF_ANNULUS 10.0
+define DEF_DANNULUS 10.0
+define DEF_MAXNSTAR 5000
+define DEF_MAXGROUP 60
+define DEF_MAXITER 50
+define DEF_DEFNAME "default"
+define DEF_LENDEFNAME 7
+
+# some useful macros
+
+define DAO_GOODDATA ($2>DP_MINGDATA($1)&&$2<DP_MAXGDATA($1))
+define DAO_RELBRIGHT (10.0**(0.4*(DP_PSFMAG($1) - $2)))
+define DAO_MAGCHECK (0.4*(DP_PSFMAG($1) - $2))