IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 15, 2009, 9:53:55 AM (17 years ago)
Author:
eugene
Message:

update FLAGS (add new values, move SUBTRACTED to internal tmpFlags)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20090208/psModules/src/objects/pmSource.h

    r21448 r21487  
    33 * @author EAM, IfA; GLG, MHPCC
    44 *
    5  * @version $Revision: 1.28.2.1 $ $Name: not supported by cvs2svn $
    6  * @date $Date: 2009-02-12 04:42:37 $
     5 * @version $Revision: 1.28.2.2 $ $Name: not supported by cvs2svn $
     6 * @date $Date: 2009-02-15 19:53:55 $
    77 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    88 */
     
    3535} pmSourceType;
    3636
    37 // XXX extend these to 32bits or 64bits?
     37// bit flags to distinguish analysis results
    3838typedef enum {
    39     PM_SOURCE_MODE_DEFAULT    = 0x0000, ///<
    40     PM_SOURCE_MODE_PSFMODEL   = 0x0001, ///< Source fitted with a psf model (linear or non-linear)
    41     PM_SOURCE_MODE_EXTMODEL   = 0x0002, ///< Source fitted with an extended-source model
    42     PM_SOURCE_MODE_FITTED     = 0x0004, ///< Source fitted with non-linear model (PSF or EXT; good or bad)
    43     PM_SOURCE_MODE_FAIL       = 0x0008, ///< Fit (non-linear) failed (non-converge, off-edge, run to zero)
    44     PM_SOURCE_MODE_POOR       = 0x0010, ///< Fit succeeds, but low-SN, high-Chisq, or large (for PSF -- drop?)
    45     PM_SOURCE_MODE_PAIR       = 0x0020, ///< Source fitted with a double psf
    46     PM_SOURCE_MODE_PSFSTAR    = 0x0040, ///< Source used to define PSF model
    47     PM_SOURCE_MODE_SATSTAR    = 0x0080, ///< Source model peak is above saturation
    48     PM_SOURCE_MODE_BLEND      = 0x0100, ///< Source is a blend with other sourcers
    49     PM_SOURCE_MODE_EXTERNAL   = 0x0200, ///< Source based on supplied input position
    50     PM_SOURCE_MODE_BADPSF     = 0x0400, ///< Failed to get good estimate of object's PSF
    51     PM_SOURCE_MODE_DEFECT     = 0x0800, ///< Source is thought to be a defect
    52     PM_SOURCE_MODE_SATURATED  = 0x1000, ///< Source is thought to be saturated pixels (bleed trail)
    53     PM_SOURCE_MODE_CR_LIMIT   = 0x2000, ///< Source has crNsigma above limit
    54     PM_SOURCE_MODE_EXT_LIMIT  = 0x4000, ///< Source has extNsigma above limit
    55     PM_SOURCE_MODE_SUBTRACTED = 0x8000, ///< XXX this flag is actually only used internally (move)
     39    PM_SOURCE_MODE_DEFAULT          = 0x00000000, ///< Initial value: resets all bits
     40    PM_SOURCE_MODE_PSFMODEL         = 0x00000001, ///< Source fitted with a psf model (linear or non-linear)
     41    PM_SOURCE_MODE_EXTMODEL         = 0x00000002, ///< Source fitted with an extended-source model
     42    PM_SOURCE_MODE_FITTED           = 0x00000004, ///< Source fitted with non-linear model (PSF or EXT; good or bad)
     43    PM_SOURCE_MODE_FAIL             = 0x00000008, ///< Fit (non-linear) failed (non-converge, off-edge, run to zero)
     44    PM_SOURCE_MODE_POOR             = 0x00000010, ///< Fit succeeds, but low-SN, high-Chisq, or large (for PSF -- drop?)
     45    PM_SOURCE_MODE_PAIR             = 0x00000020, ///< Source fitted with a double psf
     46    PM_SOURCE_MODE_PSFSTAR          = 0x00000040, ///< Source used to define PSF model
     47    PM_SOURCE_MODE_SATSTAR          = 0x00000080, ///< Source model peak is above saturation
     48    PM_SOURCE_MODE_BLEND            = 0x00000100, ///< Source is a blend with other sourcers
     49    PM_SOURCE_MODE_EXTERNAL         = 0x00000200, ///< Source based on supplied input position
     50    PM_SOURCE_MODE_BADPSF           = 0x00000400, ///< Failed to get good estimate of object's PSF
     51    PM_SOURCE_MODE_DEFECT           = 0x00000800, ///< Source is thought to be a defect
     52    PM_SOURCE_MODE_SATURATED        = 0x00001000, ///< Source is thought to be saturated pixels (bleed trail)
     53    PM_SOURCE_MODE_CR_LIMIT         = 0x00002000, ///< Source has crNsigma above limit
     54    PM_SOURCE_MODE_EXT_LIMIT        = 0x00004000, ///< Source has extNsigma above limit
     55    PM_SOURCE_MODE_MOMENTS_FAILURE  = 0x00008000, ///< could not measure the moments
     56    PM_SOURCE_MODE_SKY_FAILURE      = 0x00010000, ///< could not measure the local sky
     57    PM_SOURCE_MODE_SKYVAR_FAILURE   = 0x00020000, ///< could not measure the local sky variance
     58    PM_SOURCE_MODE_BELOW_MOMENTS_SN = 0x00040000, ///< moments not measured due to low S/N
     59    PM_SOURCE_MODE_BIG_RADIUS       = 0x00100000, ///< poor moments for small radius, try large radius
     60    PM_SOURCE_MODE_AP_MAGS          = 0x00200000, ///< source has an aperture magnitude
     61    PM_SOURCE_MODE_BLEND_FIT        = 0x00400000, ///< source was fitted as a blend
     62    PM_SOURCE_MODE_EXTENDED_FIT     = 0x00800000, ///< full extended fit was used
     63    PM_SOURCE_MODE_EXTENDED_STATS   = 0x01000000, ///< extended aperture stats calculated
     64    PM_SOURCE_MODE_LINEAR_FIT       = 0x02000000, ///< source fitted with the linear fit
     65    PM_SOURCE_MODE_NONLINEAR_FIT    = 0x04000000, ///< source fitted with the non-linear fit
     66    PM_SOURCE_MODE_RADIAL_FLUX      = 0x08000000, ///< radial flux measurements calculated
     67    PM_SOURCE_MODE_SIZE_SKIPPED     = 0x10000000, ///< size could not be determined
    5668} pmSourceMode;
     69
     70typedef enum {
     71    PM_SOURCE_TMPF_MODEL_GUESS = 0x0001,
     72    PM_SOURCE_TMPF_SUBTRACTED  = 0x0002,
     73} pmSourceTmpF;
    5774
    5875/** pmSource data structure
     
    6986 */
    7087struct pmSource {
    71     const int id;                       ///< Unique ID for object
    72     int seq;                            ///< ID for output (generated on write)
     88    const int id;                       ///< Unique ID for object (generated on alloc)
     89    int seq;                            ///< ID for output (generated on write OR set on read)
    7390    pmPeak  *peak;                      ///< Description of peak pixel.
    7491    psImage *pixels;                    ///< Rectangular region including object pixels.
     
    84101    pmSourceType type;                  ///< Best identification of object.
    85102    pmSourceMode mode;                  ///< analysis flags set for object.
     103    pmSourceTmpF tmpFlags;              ///< internal-only flags
    86104    psArray *blends;                    ///< collection of sources thought to be confused with object
    87105    float psfMag;                       ///< calculated from flux in modelPSF
     
    241259bool pmSourceCachePSF (pmSource *source, psImageMaskType maskVal);
    242260
    243 int             pmSourceSortBySN (const void **a, const void **b);
    244 int             pmSourceSortByY (const void **a, const void **b);
     261int  pmSourceSortBySN (const void **a, const void **b);
     262int  pmSourceSortByY (const void **a, const void **b);
     263int  pmSourceSortBySeq (const void **a, const void **b);
    245264
    246265pmSourceMode pmSourceModeFromString (const char *name);
Note: See TracChangeset for help on using the changeset viewer.