IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 17, 2006, 7:13:42 AM (20 years ago)
Author:
magnier
Message:

bulk merge of eam_rel9_p0 onto this branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/rel10_ifa/psModules/src/objects/pmObjects.h

    r5844 r6448  
    1010 *  @author GLG, MHPCC
    1111 *
    12  *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2005-12-24 01:24:32 $
     12 *  @version $Revision: 1.5.4.1 $ $Name: not supported by cvs2svn $
     13 *  @date $Date: 2006-02-17 17:13:42 $
    1414 *
    1515 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2727#include <math.h>
    2828#include "pslib.h"
    29 #include "pmAstrometry.h"
     29#include "pmFPA.h"
    3030/**
    3131 * In the object analysis process, we will use specific mask values to mark the
     
    7474    int y;                              ///< Y-coordinate of peak pixel.
    7575    float counts;                       ///< Value of peak pixel (above sky?).
    76     pmPeakType class;                   ///< Description of peak.
     76    pmPeakType type;                   ///< Description of peak.
    7777}
    7878pmPeak;
     
    8888typedef struct
    8989{
    90     float x;    ///< X-coord of centroid.
    91     float y;    ///< Y-coord of centroid.
     90    float x;     ///< X-coord of centroid.
     91    float y;     ///< Y-coord of centroid.
    9292    float Sx;    ///< x-second moment.
    9393    float Sy;    ///< y-second moment.
    94     float Sxy;    ///< xy cross moment.
    95     float Sum;    ///< Pixel sum above sky (background).
    96     float Peak;    ///< Peak counts above sky.
    97     float Sky;    ///< Sky level (background).
     94    float Sxy;   ///< xy cross moment.
     95    float Sum;   ///< Pixel sum above sky (background).
     96    float Peak;  ///< Peak counts above sky.
     97    float Sky;   ///< Sky level (background).
     98    float dSky;  ///< local Sky variance
    9899    float SN;    ///< approx signal-to-noise
    99     int nPixels;   ///< Number of pixels used.
     100    int nPixels; ///< Number of pixels used.
    100101}
    101102pmMoments;
     
    131132/** pmModel data structure
    132133 *
    133  * Every source may have two types of models: a PSF model and a FLT (floating)
     134 * Every source may have two types of models: a PSF model and a EXT (extended-source)
    134135 * model. The PSF model represents the best fit of the image PSF to the specific
    135136 * object. In this case, the PSF-dependent parameters are specified for the
    136  * object by the PSF, not by the fit. The FLT model represents the best fit of
    137  * the given model to the object, with all parameters floating in the fit.
     137 * object by the PSF, not by the fit. The EXT model represents the best fit of
     138 * the given model to the object, with all shape parameters floating in the fit.
    138139 *
    139140 */
     
    146147    int nDOF;    ///< number of degrees of freedom
    147148    int nIter;    ///< number of iterations to reach min
    148     int status;         ///< fit status
     149    pmModelStatus status;  ///< fit status
    149150    float radius;   ///< fit radius actually used
    150151}
     
    162163 */
    163164typedef enum {
     165    PM_SOURCE_UNKNOWN,                  ///< a cosmic-ray
    164166    PM_SOURCE_DEFECT,                   ///< a cosmic-ray
    165167    PM_SOURCE_SATURATED,                ///< random saturated pixels
    166 
    167     PM_SOURCE_SATSTAR,                  ///< a saturated star
    168     PM_SOURCE_PSFSTAR,                  ///< a PSF star
    169     PM_SOURCE_GOODSTAR,                 ///< a good-quality star
    170 
    171     PM_SOURCE_POOR_FIT_PSF,             ///< poor quality PSF fit
    172     PM_SOURCE_FAIL_FIT_PSF,             ///< failed to get a good PSF fit
    173     PM_SOURCE_FAINTSTAR,                ///< below S/N cutoff
    174 
    175     PM_SOURCE_GALAXY,                   ///< an extended object (galaxy)
    176     PM_SOURCE_FAINT_GALAXY,             ///< a galaxy below S/N cutoff
    177     PM_SOURCE_DROP_GALAXY,              ///< ?
    178     PM_SOURCE_FAIL_FIT_GAL,             ///< failed on the galaxy fit
    179     PM_SOURCE_POOR_FIT_GAL,             ///< poor quality galaxy fit
    180 
    181     PM_SOURCE_OTHER,                    ///< unidentified
     168    PM_SOURCE_STAR,                     ///< a good-quality star
     169    PM_SOURCE_EXTENDED,                 ///< an extended object (eg, galaxy)
    182170} pmSourceType;
     171
     172typedef enum {
     173    PM_SOURCE_DEFAULT    = 0x0000, ///<
     174    PM_SOURCE_PSFMODEL   = 0x0001, ///<
     175    PM_SOURCE_EXTMODEL   = 0x0002, ///<
     176    PM_SOURCE_SUBTRACTED = 0x0004, ///<
     177    PM_SOURCE_FITTED     = 0x0008, ///<
     178    PM_SOURCE_FAIL       = 0x0010, ///<
     179    PM_SOURCE_POOR       = 0x0020, ///<
     180    PM_SOURCE_PAIR       = 0x0040, ///<
     181    PM_SOURCE_PSFSTAR    = 0x0080, ///<
     182    PM_SOURCE_SATSTAR    = 0x0100, ///<
     183    PM_SOURCE_BLEND      = 0x0200, ///<
     184    PM_SOURCE_LINEAR     = 0x0400, ///<
     185    PM_SOURCE_TEMPSUB    = 0x0800, ///< XXX get me a better name!
     186} pmSourceMode;
    183187
    184188/** pmSource data structure
     
    197201    pmMoments *moments;   ///< Basic moments measure for the object.
    198202    pmModel *modelPSF;   ///< PSF Model fit (parameters and type)
    199     pmModel *modelFLT;   ///< FLT (floating) Model fit (parameters and type).
     203    pmModel *modelEXT;   ///< EXT (floating) Model fit (parameters and type).
    200204    pmSourceType type;   ///< Best identification of object.
     205    pmSourceMode mode;   ///< Best identification of object.
     206    psArray *blends;
    201207    float apMag;
    202208    float fitMag;
     209    psRegion region; // area on image covered by selected pixels
    203210}
    204211pmSource;
     
    213220    int y,    ///< Col-coordinate in image space
    214221    float counts,   ///< The value of the peak pixel
    215     pmPeakType class   ///< The type of peak pixel
     222    pmPeakType type   ///< The type of peak pixel
    216223);
    217224
     
    354361
    355362
     363// A complementary function to pmSourceLocalSky: calculate the local sky variance
     364bool pmSourceLocalSkyVariance(
     365    pmSource *source,   ///< The input image (float)
     366    psStatsOptions statsOptions, ///< The statistic used in calculating the background sky
     367    float Radius   ///< The inner radius of the square annulus to exclude
     368);
     369
    356370/** pmSourceMoments()
    357371 *
     
    469483
    470484
     485bool pmSourceFitModelInit(
     486    float nIter,   ///< max number of allowed iterations
     487    float tol      ///< convergence criterion
     488);
     489
    471490/** pmSourceFitModel()
    472491 *
     
    481500    pmSource *source,   ///< The input pmSource
    482501    pmModel *model,   ///< model to be fitted
    483     const bool PSF   ///< Treat model as PSF or FLT?
     502    const bool PSF   ///< Treat model as PSF or EXT?
    484503);
    485504
     
    563582 * This function converts the source classification into the closest available
    564583 * approximation to the Dophot classification scheme:
     584 * XXX EAM : fix this to use current source classification scheme
    565585 *
    566586 * PM_SOURCE_DEFECT: 8
     
    610630    pmSource *source,   ///< The input pmSource
    611631    pmModel *model,   ///< model to be fitted
    612     const bool PSF   ///< Treat model as PSF or FLT?
     632    const bool PSF   ///< Treat model as PSF or EXT?
    613633);
    614634
     
    626646    pmSource *source,   ///< The input pmSource
    627647    pmModel *model,   ///< model to be fitted
    628     const bool PSF   ///< Treat model as PSF or FLT?
     648    const bool PSF   ///< Treat model as PSF or EXT?
    629649);
    630650
Note: See TracChangeset for help on using the changeset viewer.