IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 21516


Ignore:
Timestamp:
Feb 16, 2009, 12:30:50 PM (17 years ago)
Author:
eugene
Message:

added I/O format CMF_PS1_V1

Location:
trunk/psModules/src/objects
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/Makefile.am

    r20946 r21516  
    3636        pmSourceIO_PS1_DEV_1.c \
    3737        pmSourceIO_PS1_CAL_0.c \
     38        pmSourceIO_CMF_PS1_V1.c \
    3839        pmSourcePlots.c \
    3940        pmSourcePlotPSFModel.c \
  • trunk/psModules/src/objects/pmModel.h

    r21183 r21516  
    55 * @author EAM, IfA
    66 *
    7  * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
    8  * @date $Date: 2009-01-27 06:39:38 $
     7 * @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
     8 * @date $Date: 2009-02-16 22:30:50 $
    99 *
    1010 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    9292    float mag;                          ///< integrated model magnitude
    9393    float magErr;                       ///< integrated model magnitude error
     94    int nPix;                           ///< number of pixels used for fit
    9495    int nDOF;                           ///< number of degrees of freedom
    9596    int nIter;                          ///< number of iterations to reach min
  • trunk/psModules/src/objects/pmSource.h

    r21363 r21516  
    33 * @author EAM, IfA; GLG, MHPCC
    44 *
    5  * @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
    6  * @date $Date: 2009-02-06 02:31:25 $
     5 * @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
     6 * @date $Date: 2009-02-16 22:30:50 $
    77 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    88 */
     
    3535} pmSourceType;
    3636
     37// bit flags to distinguish analysis results
    3738typedef enum {
    38     PM_SOURCE_MODE_DEFAULT    = 0x0000, ///<
    39     PM_SOURCE_MODE_PSFMODEL   = 0x0001, ///< Source fitted with a psf model (linear or non-linear)
    40     PM_SOURCE_MODE_EXTMODEL   = 0x0002, ///< Source fitted with an extended-source model
    41     PM_SOURCE_MODE_FITTED     = 0x0004, ///< Source fitted with non-linear model (PSF or EXT; good or bad)
    42     PM_SOURCE_MODE_FAIL       = 0x0008, ///< Fit (non-linear) failed (non-converge, off-edge, run to zero)
    43     PM_SOURCE_MODE_POOR       = 0x0010, ///< Fit succeeds, but low-SN, high-Chisq, or large (for PSF -- drop?)
    44     PM_SOURCE_MODE_PAIR       = 0x0020, ///< Source fitted with a double psf
    45     PM_SOURCE_MODE_PSFSTAR    = 0x0040, ///< Source used to define PSF model
    46     PM_SOURCE_MODE_SATSTAR    = 0x0080, ///< Source model peak is above saturation
    47     PM_SOURCE_MODE_BLEND      = 0x0100, ///< Source is a blend with other sourcers
    48     PM_SOURCE_MODE_EXTERNAL   = 0x0200, ///< Source based on supplied input position
    49     PM_SOURCE_MODE_BADPSF     = 0x0400, ///< Failed to get good estimate of object's PSF
    50     PM_SOURCE_MODE_DEFECT     = 0x0800, ///< Source is thought to be a defect
    51     PM_SOURCE_MODE_SATURATED  = 0x1000, ///< Source is thought to be saturated pixels (bleed trail)
    52     PM_SOURCE_MODE_CR_LIMIT   = 0x2000, ///< Source has crNsigma above limit
    53     PM_SOURCE_MODE_EXT_LIMIT  = 0x4000, ///< Source has extNsigma above limit
    54     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
    5568} pmSourceMode;
     69
     70typedef enum {
     71    PM_SOURCE_TMPF_MODEL_GUESS = 0x0001,
     72    PM_SOURCE_TMPF_SUBTRACTED  = 0x0002,
     73} pmSourceTmpF;
    5674
    5775/** pmSource data structure
     
    6886 */
    6987struct pmSource {
    70     const int id;                       ///< Unique ID for object
    71     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)
    7290    pmPeak  *peak;                      ///< Description of peak pixel.
    7391    psImage *pixels;                    ///< Rectangular region including object pixels.
     
    83101    pmSourceType type;                  ///< Best identification of object.
    84102    pmSourceMode mode;                  ///< analysis flags set for object.
     103    pmSourceTmpF tmpFlags;              ///< internal-only flags
    85104    psArray *blends;                    ///< collection of sources thought to be confused with object
    86105    float psfMag;                       ///< calculated from flux in modelPSF
     
    240259bool pmSourceCachePSF (pmSource *source, psImageMaskType maskVal);
    241260
    242 int             pmSourceSortBySN (const void **a, const void **b);
    243 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);
    244264
    245265pmSourceMode pmSourceModeFromString (const char *name);
  • trunk/psModules/src/objects/pmSourceIO.c

    r20937 r21516  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.69 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2008-12-08 02:51:14 $
     5 *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2009-02-16 22:30:50 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    488488            }
    489489            if (!strcmp (exttype, "PS1_DEV_1")) {
    490                 status = pmSourcesWrite_PS1_DEV_1 (file->fits, sources, file->header, outhead, dataname, xsrcname);
     490                status = pmSourcesWrite_PS1_DEV_1 (file->fits, sources, file->header, outhead, dataname);
    491491            }
    492492            if (!strcmp (exttype, "PS1_CAL_0")) {
    493                 status = pmSourcesWrite_PS1_CAL_0 (file->fits, readout, sources, file->header, outhead, dataname, xsrcname);
     493                status = pmSourcesWrite_PS1_CAL_0 (file->fits, readout, sources, file->header, outhead, dataname);
     494            }
     495            if (!strcmp (exttype, "PS1_V1")) {
     496                status = pmSourcesWrite_CMF_PS1_V1 (file->fits, readout, sources, file->header, outhead, dataname);
    494497            }
    495498            if (xsrcname) {
     
    500503                  status = pmSourcesWrite_PS1_CAL_0_XSRC (file->fits, readout, sources, file->header, xsrcname, recipe);
    501504              }
     505              if (!strcmp (exttype, "PS1_V1")) {
     506                  status = pmSourcesWrite_CMF_PS1_V1_XSRC (file->fits, sources, xsrcname, recipe);
     507              }
    502508            }
    503509            if (xfitname) {
     
    507513              if (!strcmp (exttype, "PS1_CAL_0")) {
    508514                  status = pmSourcesWrite_PS1_CAL_0_XFIT (file->fits, readout, sources, file->header, xfitname);
     515              }
     516              if (!strcmp (exttype, "PS1_V1")) {
     517                  status = pmSourcesWrite_CMF_PS1_V1_XFIT (file->fits, sources, xfitname);
    509518              }
    510519            }
     
    929938                sources = pmSourcesRead_PS1_DEV_1 (file->fits, hdu->header);
    930939            }
    931             if (!strcmp (exttype, "PS1_CAL_)")) {
    932                 sources = pmSourcesRead_PS1_CAL_0 (file->fits, hdu->header);
     940            if (!strcmp (exttype, "PS1_V1")) {
     941                sources = pmSourcesRead_CMF_PS1_V1 (file->fits, hdu->header);
    933942            }
    934943        }
  • trunk/psModules/src/objects/pmSourceIO.h

    r20741 r21516  
    44 * @author EAM, IfA; GLG, MHPCC
    55 *
    6  * @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    7  * @date $Date: 2008-11-14 02:11:45 $
     6 * @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     7 * @date $Date: 2009-02-16 22:30:50 $
    88 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    99 *
     
    2626bool pmSourcesWrite_SMPDATA (psFits *fits, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
    2727bool pmSourcesWrite_PS1_DEV_0 (psFits *fits, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
    28 bool pmSourcesWrite_PS1_DEV_1 (psFits *fits, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname, char *xsrcname);
     28
     29bool pmSourcesWrite_PS1_DEV_1 (psFits *fits, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
    2930bool pmSourcesWrite_PS1_DEV_1_XSRC (psFits *fits, psArray *sources, char *extname, psMetadata *recipe);
    3031bool pmSourcesWrite_PS1_DEV_1_XFIT (psFits *fits, psArray *sources, char *extname);
    3132
    32 bool pmSourcesWrite_PS1_CAL_0 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname, char *xsrcname);
     33bool pmSourcesWrite_PS1_CAL_0 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
    3334bool pmSourcesWrite_PS1_CAL_0_XSRC (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe);
    3435bool pmSourcesWrite_PS1_CAL_0_XFIT (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname);
     36
     37bool pmSourcesWrite_CMF_PS1_V1 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
     38bool pmSourcesWrite_CMF_PS1_V1_XSRC (psFits *fits, psArray *sources, char *extname, psMetadata *recipe);
     39bool pmSourcesWrite_CMF_PS1_V1_XFIT (psFits *fits, psArray *sources, char *extname);
    3540
    3641bool pmSource_CMF_WritePHU (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
     
    4247psArray *pmSourcesRead_PS1_DEV_1 (psFits *fits, psMetadata *header);
    4348psArray *pmSourcesRead_PS1_CAL_0 (psFits *fits, psMetadata *header);
     49psArray *pmSourcesRead_CMF_PS1_V1 (psFits *fits, psMetadata *header);
    4450
    4551bool pmSourcesWritePSFs (psArray *sources, char *filename);
     
    6773bool pmReadoutCheckDataStatusForSources (const pmReadout *readout);
    6874
     75bool pmSourceLocalAstrometry (psSphere *ptSky, float *posAngle, float *pltScale, pmChip *chip, float xPos, float yPos);
     76
    6977/// @}
    7078# endif /* PM_SOURCE_IO_H */
  • trunk/psModules/src/objects/pmSourceIO_PS1_CAL_0.c

    r20937 r21516  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2008-12-08 02:51:14 $
     5 *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2009-02-16 22:30:50 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    4949// XXX how do I generate the source tables which I need to send to PSPS?
    5050
    51 bool pmSourcesWrite_PS1_CAL_0 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader,
    52                                psMetadata *tableHeader, char *extname, char *xsrcname)
     51bool pmSourcesWrite_PS1_CAL_0 (psFits *fits, pmReadout *readout, psArray *sources,
     52                               psMetadata *imageHeader, psMetadata *tableHeader, char *extname)
    5353{
    5454    PS_ASSERT_PTR_NON_NULL(fits, false);
  • trunk/psModules/src/objects/pmSourceIO_PS1_DEV_1.c

    r20937 r21516  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2008-12-08 02:51:14 $
     5 *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2009-02-16 22:30:50 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    4949// XXX how do I generate the source tables which I need to send to PSPS?
    5050
    51 bool pmSourcesWrite_PS1_DEV_1 (psFits *fits, psArray *sources, psMetadata *imageHeader,
    52                                psMetadata *tableHeader, char *extname, char *xsrcname)
     51bool pmSourcesWrite_PS1_DEV_1 (psFits *fits, psArray *sources,
     52                               psMetadata *imageHeader, psMetadata *tableHeader, char *extname)
    5353{
    5454    PS_ASSERT_PTR_NON_NULL(fits, false);
Note: See TracChangeset for help on using the changeset viewer.