diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /noao/nproto/ace/objs.h | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/nproto/ace/objs.h')
-rw-r--r-- | noao/nproto/ace/objs.h | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/noao/nproto/ace/objs.h b/noao/nproto/ace/objs.h new file mode 100644 index 00000000..20dff95a --- /dev/null +++ b/noao/nproto/ace/objs.h @@ -0,0 +1,139 @@ +# This file defines the object parameters. + +# The following are the parameter ids which are the offsets into the object +# data structure. Note that the first group of parameters are those +# determined during detection for potential objects. The second group +# are parameters added after an object has been accepted. + +define ID_ROW 0 # i "" "" "Catalog row" +define ID_NUM 1 # i "" "" "Object number" +define ID_PNUM 2 # i "" "" "Parent number" +define ID_XAP 3 # r pixels %.2f "X aperture coordinate" +define ID_YAP 4 # r pixels %.2f "Y aperture coordinate" +define ID_FLUX 5 # r counts "" "Isophotal flux (I - sky)" +define ID_NPIX 6 # i pixels "" "Number of pixels" +define ID_NDETECT 7 # i pixels "" "Number of detected pixels" +define ID_ISIGAVG 8 # r sigma "" "Average (I - sky) / sig" +define ID_ISIGMAX 9 # r sigma "" "Maximum (I - sky) / sig" +define ID_ISIGAVG2 10 # r sigma "" "*Ref average (I - sky) / sig" +define ID_FLAGS 11 # 8 "" "" "Flags" + +define ID_SKY 12 # r counts "" "Mean sky" +define ID_SIG 13 # r counts "" "Sky sigma" +define ID_PEAK 14 # r counts "" "Peak pixel value above sky" +define ID_APFLUX 15 # r counts "" "Aperture fluxes" +define ID_FRACFLUX 16 # r counts "" "Apportioned flux" +define ID_FRAC 17 # r "" "" "Apportioned fraction" +define ID_XMIN 18 # i pixels "" "Minimum X" +define ID_XMAX 19 # i pixels "" "Maxium X" +define ID_YMIN 20 # i pixels "" "Minimum Y" +define ID_YMAX 21 # i pixels "" "Maxium Y" +define ID_WX 22 # d pixels %.2f "X world coordinate" +define ID_WY 24 # d pixels %.2f "Y world coordinate" +define ID_X1 26 # r pixels %.2f "X centroid" +define ID_Y1 27 # r pixels %.2f "Y centroid" +define ID_X2 28 # r pixels "" "X 2nd moment" +define ID_Y2 29 # r pixels "" "Y 2nd moment" +define ID_XY 30 # r pixels "" "X 2nd cross moment" + +define ID_FLUXVAR 31 # r counts "" "*Variance in the flux" +define ID_XVAR 32 # r pixels "" "*Variance in X centroid" +define ID_YVAR 33 # r pixels "" "*Variance in Y centroid" +define ID_XYCOV 34 # r pixels "" "*Covariance of X and Y" + +# The following are derived quantities which have ids above 1000. + +define ID_A 1001 # r pixels "" "Semimajor axis" +define ID_B 1002 # r pixels "" "Semiminor axis" +define ID_THETA 1003 # r degrees "" "Position angle" +define ID_ELONG 1004 # r "" "" "Elongation = A/B" +define ID_ELLIP 1005 # r "" "" "Ellipticity = 1 - B/A" +define ID_R 1006 # r pixels "" "Second moment radius" +define ID_CXX 1007 # r pixels "" "Second moment ellipse" +define ID_CYY 1008 # r pixels "" "Second moment ellipse" +define ID_CXY 1009 # r pixels "" "Second moment ellipse" + +define ID_FLUXERR 1011 # r counts "" "Error in flux" +define ID_XERR 1012 # r pixels "" "Error in X centroid" +define ID_YERR 1013 # r pixels "" "Error in Y centroid" +define ID_AERR 1014 # r "" "" "Error in A" +define ID_BERR 1015 # r "" "" "Error in B" +define ID_THETAERR 1016 # r degrees "" "Error in THETA" +define ID_CXXERR 1017 # r pixels "" "Error in CXX" +define ID_CYYERR 1018 # r pixels "" "Error in CYY" +define ID_CXYERR 1019 # r pixels "" "Error in CXY" + + +# Reference to elements of the object data structure may be made with +# the generic OBJ[IRDC] macros or with the individual structure macros. + +define OBJI Memi[$1+$2] # Reference integer parameter +define OBJR Memr[P2R($1+$2)] # Reference real parameter +define OBJD Memd[P2D($1+$2)] # Reference double parameter +define OBJC Memc[P2C($1+$2)] # Reference char parameter + +define OBJ_DETLEN 12 # Length for candidate objects +define OBJ_LEN 35 # Length for accepted objects + +# Detection pass parameters. +define OBJ_ROW OBJI($1,ID_ROW) # Catalog row +define OBJ_NUM OBJI($1,ID_NUM) # Object number +define OBJ_PNUM OBJI($1,ID_PNUM) # Parent object number +define OBJ_XAP OBJR($1,ID_XAP) # X aperture coordinate +define OBJ_YAP OBJR($1,ID_YAP) # Y aperture coordinate +define OBJ_NPIX OBJI($1,ID_NPIX) # Number of pixels +define OBJ_NDETECT OBJI($1,ID_NDETECT) # Number of detected pixels +define OBJ_ISIGAVG OBJR($1,ID_ISIGAVG) # Average (I - sky) / sig +define OBJ_ISIGMAX OBJR($1,ID_ISIGMAX) # Maximum (I - sky) / sig +define OBJ_ISIGAVG2 OBJR($1,ID_ISIGAVG2) # Ref average (I - sky) / sig +define OBJ_FLAGS OBJI($1,ID_FLAGS) # Flags + +define OBJ_SKY OBJR($1,ID_SKY) # Mean sky +define OBJ_SIG OBJR($1,ID_SIG) # Sky sigma +define OBJ_PEAK OBJR($1,ID_PEAK) # Peak pixel value above sky +define OBJ_FLUX OBJR($1,ID_FLUX) # Isophotal flux (I - sky) +define OBJ_APFLUX OBJI($1,ID_APFLUX) # Array of aperture fluxes (ptr) +define OBJ_FRACFLUX OBJR($1,ID_FRACFLUX) # Apportioned flux +define OBJ_FRAC OBJR($1,ID_FRAC) # Approtioned fraction +define OBJ_XMIN OBJI($1,ID_XMIN) # Minimum X +define OBJ_XMAX OBJI($1,ID_XMAX) # Maxium X +define OBJ_YMIN OBJI($1,ID_YMIN) # Minimum Y +define OBJ_YMAX OBJI($1,ID_YMAX) # Maxium Y +define OBJ_WX OBJD($1,ID_WX) # X world coordinate +define OBJ_WY OBJD($1,ID_WY) # Y world coordinate +define OBJ_X1 OBJR($1,ID_X1) # X centroid +define OBJ_Y1 OBJR($1,ID_Y1) # Y centroid +define OBJ_X2 OBJR($1,ID_X2) # X centroid +define OBJ_Y2 OBJR($1,ID_Y2) # Y centroid +define OBJ_XY OBJR($1,ID_XY) # X centroid + +define OBJ_FLUXVAR OBJR($1,ID_FLUXVAR) # Variance in flux +define OBJ_XVAR OBJR($1,ID_XVAR) # Variance in X centroid +define OBJ_YVAR OBJR($1,ID_YVAR) # Variance in Y centroid +define OBJ_XYCOV OBJR($1,ID_XYCOV) # Covariance of X and Y centroid + + + + +# Object flags. +define OBJ_EVAL 001B # Object was evaluated +define OBJ_GROW 002B # Object was grown +define OBJ_SPLIT 004B # Object was split +define OBJ_SINGLE 010B # Object was not split +define OBJ_DARK 020B # Object was below sky + +define FLAGSET (andi(OBJ_FLAGS($1),$2)!=0) +define FLAGNOTSET (andi(OBJ_FLAGS($1),$2)==0) +define SETFLAG OBJ_FLAGS($1)=ori(OBJ_FLAGS($1),$2) +define UNSETFLAG OBJ_FLAGS($1)=andi(OBJ_FLAGS($1),noti($2)) + +define DARK (andi(OBJ_FLAGS($1),OBJ_DARK)!=0) +define EVAL (andi(OBJ_FLAGS($1),OBJ_EVAL)!=0) +define SPLIT (andi(OBJ_FLAGS($1),OBJ_SPLIT)!=0) +define NOTSPLIT (andi(OBJ_FLAGS($1),OBJ_SPLIT)==0) +define SINGLE (andi(OBJ_FLAGS($1),OBJ_SINGLE)!=0) +define NOTSINGLE (andi(OBJ_FLAGS($1),OBJ_SINGLE)==0) +define GROWN (andi(OBJ_FLAGS($1),OBJ_GROW)!=0) +define NOTGROWN (andi(OBJ_FLAGS($1),OBJ_GROW)==0) + +define SZ_FLAGS 5 # Size of flag string |