aboutsummaryrefslogtreecommitdiff
path: root/noao/digiphot/apphot/radprof/aprconfirm.x
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /noao/digiphot/apphot/radprof/aprconfirm.x
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/digiphot/apphot/radprof/aprconfirm.x')
-rw-r--r--noao/digiphot/apphot/radprof/aprconfirm.x118
1 files changed, 118 insertions, 0 deletions
diff --git a/noao/digiphot/apphot/radprof/aprconfirm.x b/noao/digiphot/apphot/radprof/aprconfirm.x
new file mode 100644
index 00000000..3c775e79
--- /dev/null
+++ b/noao/digiphot/apphot/radprof/aprconfirm.x
@@ -0,0 +1,118 @@
+include "../lib/apphot.h"
+include "../lib/noise.h"
+include "../lib/center.h"
+include "../lib/fitsky.h"
+include "../lib/phot.h"
+include "../lib/radprof.h"
+
+# AP_RCONFIRM -- Procedure to confirm the critical phot parameters.
+
+procedure ap_rconfirm (ap, out, stid)
+
+pointer ap # pointer to the apphot structure
+int out # output file descriptor
+int stid # output file sequence number
+
+pointer sp, cstr, sstr, aperts
+real fwhmpsf, capert, annulus, dannulus, skysigma
+real datamin, datamax, radius, step
+int apstati()
+real apstatr(), ap_vfwhmpsf(), ap_vcapert()
+real ap_vannulus(), ap_vdannulus(), ap_vsigma(), ap_vstep()
+real ap_vdatamin(), ap_vdatamax(), ap_vrpradius()
+
+begin
+ call smark (sp)
+ call salloc (cstr, SZ_FNAME, TY_CHAR)
+ call salloc (sstr, SZ_FNAME, TY_CHAR)
+ call salloc (aperts, SZ_LINE, TY_CHAR)
+
+ call printf ("\n")
+
+ # Confirm the centering algorithm.
+ call ap_vcstring (ap, Memc[cstr], SZ_FNAME)
+
+ if (apstati (ap, CENTERFUNCTION) != AP_NONE) {
+
+ # Confirm the fwhmpsf.
+ if (apstati (ap, CENTERFUNCTION) != AP_CENTROID1D)
+ fwhmpsf = ap_vfwhmpsf (ap)
+ else
+ fwhmpsf = apstatr (ap, FWHMPSF)
+
+ # Confirm the centering box.
+ capert = 2.0 * ap_vcapert (ap)
+
+ } else {
+ fwhmpsf = apstatr (ap, FWHMPSF)
+ capert = 2.0 * apstatr (ap, CAPERT)
+ }
+
+ # Confirm the sky fitting algorithm.
+ call ap_vsstring (ap, Memc[sstr], SZ_FNAME)
+
+ if (apstati (ap, SKYFUNCTION) != AP_CONSTANT &&
+ apstati (ap, SKYFUNCTION) != AP_SKYFILE) {
+
+ # Confirm the sky annulus parameter.
+ annulus = ap_vannulus (ap)
+
+ # Confirm the width of the sky annulus.
+ dannulus = ap_vdannulus (ap)
+
+ } else {
+ annulus = apstatr (ap, ANNULUS)
+ dannulus = apstatr (ap, DANNULUS)
+ }
+
+ # Confirm the sky sigma parameter.
+ if (apstati (ap, SKYFUNCTION) != AP_SKYFILE)
+ skysigma = ap_vsigma (ap)
+ else
+ skysigma = apstatr (ap, SKYSIGMA)
+
+ # Confirm the aperture radii parameter.
+ call ap_vaperts (ap, Memc[aperts], SZ_LINE)
+
+ # Confirm the radius of profile
+ radius = ap_vrpradius (ap)
+
+ # Confirm the step size of profile
+ step = ap_vstep (ap)
+
+ # Confirm the minimum and maximum good data values.
+ datamin = ap_vdatamin (ap)
+ datamax = ap_vdatamax (ap)
+
+ call printf ("\n")
+
+ # Update the database file.
+ if (out != NULL && stid > 1) {
+ call ap_sparam (out, KY_CSTRING, Memc[cstr], UN_CALGORITHM,
+ "centering algorithm")
+ call ap_rparam (out, KY_FWHMPSF, fwhmpsf, UN_ASCALEUNIT,
+ "full width half maximum of the psf")
+ call ap_rparam (out, KY_CAPERT, capert, UN_CSCALEUNIT,
+ "centering box width")
+ call ap_sparam (out, KY_SSTRING, Memc[sstr], UN_SALGORITHM,
+ "sky fitting algorithm")
+ call ap_rparam (out, KY_ANNULUS, annulus, UN_SSCALEUNIT,
+ "inner radius of the sky annulus")
+ call ap_rparam (out, KY_DANNULUS, dannulus, UN_SSCALEUNIT,
+ "width of the sky annulus")
+ call ap_rparam (out, KY_SKYSIGMA, skysigma, UN_NCOUNTS,
+ "standard deviation of 1 sky pixel")
+ call ap_sparam (out, KY_APERTS, Memc[aperts], UN_PSCALEUNIT,
+ "list of apertures")
+ call ap_rparam (out, KY_DATAMIN, datamin, UN_ACOUNTS,
+ "minimum good data value")
+ call ap_rparam (out, KY_DATAMAX, datamax, UN_ACOUNTS,
+ "maximum good data value")
+ call ap_rparam (out, KY_RPRADIUS, radius, UN_RSCALEUNIT,
+ "fitting radius")
+ call ap_rparam (out, KY_RPSTEP, step, UN_RSCALEUNIT,
+ "step size in radius")
+ }
+
+ call sfree (sp)
+end