diff options
Diffstat (limited to 'noao/digiphot/apphot/fitsky/apsinit.x')
-rw-r--r-- | noao/digiphot/apphot/fitsky/apsinit.x | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/noao/digiphot/apphot/fitsky/apsinit.x b/noao/digiphot/apphot/fitsky/apsinit.x new file mode 100644 index 00000000..e180835f --- /dev/null +++ b/noao/digiphot/apphot/fitsky/apsinit.x @@ -0,0 +1,116 @@ +include "../lib/apphotdef.h" +include "../lib/fitskydef.h" +include "../lib/fitsky.h" + +# APSINIT - Procedure to initialize the sky fitting structure and parameters. + +procedure apsinit (ap, function, annulus, dannulus, fwhmpsf, noise) + +pointer ap # pointer to the apphot structure +int function # sky fitting algorithm +real annulus # radius of sky annulus +real dannulus # width of sky annulus +real fwhmpsf # FWHM of the PSF +int noise # noise function + +begin + # Set up the object parameters. + call malloc (ap, LEN_APSTRUCT, TY_STRUCT) + + # Set up the global apphot package parameters. + call ap_defsetup (ap, fwhmpsf) + + # Set up the noise model parameters. + call ap_noisesetup (ap, noise) + + # Set up the display options. + call ap_dispsetup (ap) + + # Initialize the sky fitting parameters. + call ap_skysetup (ap, function, annulus, dannulus) + + # Unused structures are set to null. + AP_PCENTER(ap) = NULL + AP_PPHOT(ap) = NULL + AP_POLY(ap) = NULL + AP_PPSF(ap) = NULL + AP_RPROF(ap) = NULL +end + + +# AP_SKYSETUP -- Procedure to set up the sky fitting arrays and parameters. + +procedure ap_skysetup (ap, function, annulus, dannulus) + +pointer ap # pointer to apphot structure +int function # sky fitting function +real annulus # inner radius of sky annulus +real dannulus # outer radius of sky annulus + +pointer sky + +begin + call malloc (AP_PSKY(ap), LEN_SKYSTRUCT, TY_STRUCT) + sky = AP_PSKY(ap) + AP_SXCUR(sky) = INDEFR + AP_SYCUR(sky) = INDEFR + + # Initialize the sky fitting parameters. + AP_SKYFUNCTION(sky) = function + switch (function) { + case AP_CONSTANT: + call strcpy ("constant", AP_SSTRING(sky), SZ_FNAME) + case AP_MODE: + call strcpy ("mode", AP_SSTRING(sky), SZ_FNAME) + case AP_CENTROID: + call strcpy ("centroid", AP_SSTRING(sky), SZ_FNAME) + case AP_SKYFILE: + call strcpy ("file", AP_SSTRING(sky), SZ_FNAME) + case AP_HISTPLOT: + call strcpy ("histplot", AP_SSTRING(sky), SZ_FNAME) + case AP_RADPLOT: + call strcpy ("radplot", AP_SSTRING(sky), SZ_FNAME) + case AP_MEDIAN: + call strcpy ("median", AP_SSTRING(sky), SZ_FNAME) + case AP_GAUSS: + call strcpy ("gauss", AP_SSTRING(sky), SZ_FNAME) + case AP_OFILT: + call strcpy ("ofilt", AP_SSTRING(sky), SZ_FNAME) + case AP_CROSSCOR: + call strcpy ("crosscor", AP_SSTRING(sky), SZ_FNAME) + case AP_MEAN: + call strcpy ("mean", AP_SSTRING(sky), SZ_FNAME) + default: + AP_SKYFUNCTION(sky) = DEF_SKYFUNCTION + call strcpy ("mode", AP_SSTRING(sky), SZ_FNAME) + } + + AP_SKYBACKGROUND(sky) = DEF_SKYVALUE + AP_ANNULUS(sky) = annulus + AP_DANNULUS(sky) = dannulus + AP_K1(sky) = DEF_K1 + AP_BINSIZE(sky) = DEF_BINSIZE + AP_SMOOTH(sky) = DEF_SMOOTH + AP_SLOCLIP(sky) = DEF_SLOCLIP + AP_SHICLIP(sky) = DEF_SHICLIP + AP_SMAXITER(sky) = DEF_SMAXITER + AP_RGROW(sky) = DEF_RGROW + AP_SNREJECT(sky) = DEF_SNREJECT + AP_SLOREJECT(sky) = DEF_SLOREJECT + AP_SHIREJECT(sky) = DEF_SHIREJECT + + # Initialize the sky pixel buffers. + AP_LENSKYBUF(sky) = 0 + AP_NSKYPIX(sky) = 0 + AP_SKYPIX(sky) = NULL + AP_INDEX(sky) = NULL + AP_COORDS(sky) = NULL + AP_SWGT(sky) = NULL + + # Initialize results parameters. + AP_SKY_MODE(sky) = INDEFR + AP_SKY_SIG(sky) = INDEFR + AP_SKY_SKEW(sky) = INDEFR + AP_NSKY(sky) = 0 + AP_NSKY_REJECT(sky) = 0 +end |