IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 12628


Ignore:
Timestamp:
Mar 28, 2007, 9:17:14 AM (19 years ago)
Author:
magnier
Message:

write out all detections (good and bad)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/pmSourceIO_PS1_DEV_0.c

    r12481 r12628  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2007-03-18 22:03:21 $
     5 *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2007-03-28 19:17:14 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    4949    psEllipseShape shape;
    5050    psEllipseAxes axes;
     51    psF32 xPos, yPos;
     52    psF32 xErr, yErr;
    5153
    5254    table = psArrayAllocEmpty (sources->n);
    5355
     56    // we write out all sources, regardless of quality.  the source flags tell us the state
    5457    for (i = 0; i < sources->n; i++) {
    5558        pmSource *source = (pmSource *) sources->data[i];
    5659        pmModel *model = pmSourceSelectModel (source);
    57         if (model == NULL)
    58             continue;
    59 
    60         PAR = model->params->data.F32;
    61         dPAR = model->dparams->data.F32;
    62 
    63         shape.sx  = PAR[PM_PAR_SXX];
    64         shape.sy  = PAR[PM_PAR_SYY];
    65         shape.sxy = PAR[PM_PAR_SXY];
    66         axes = psEllipseShapeToAxes (shape, 20.0);
     60
     61        if (model != NULL) {
     62            PAR = model->params->data.F32;
     63            dPAR = model->dparams->data.F32;
     64            xPos = PAR[PM_PAR_XPOS];
     65            yPos = PAR[PM_PAR_YPOS];
     66            xErr = dPAR[PM_PAR_XPOS];
     67            yErr = dPAR[PM_PAR_YPOS];
     68
     69            shape.sx  = PAR[PM_PAR_SXX];
     70            shape.sy  = PAR[PM_PAR_SYY];
     71            shape.sxy = PAR[PM_PAR_SXY];
     72            axes = psEllipseShapeToAxes (shape, 20.0);
     73        } else {
     74            xPos = source->peak->xf;
     75            yPos = source->peak->yf;
     76            xErr = 0.0; // XXX a better choice, please
     77            yErr = 0.0; // XXX a better choice, please
     78            axes.major = 0.0;
     79            axes.minor = 0.0;
     80            axes.theta = 0.0;
     81        }
    6782
    6883        float peakMag = (source->peak->flux > 0) ? -2.5*log(source->peak->flux) : NAN;
     
    7186
    7287        row = psMetadataAlloc ();
     88        // XXX we are not writing out the mode (flags) or the type (psf, ext, etc)
    7389        psMetadataAdd (row, PS_LIST_TAIL, "IPP_IDET",         PS_DATA_U32, "IPP detection identifier index",             ID);
    74         psMetadataAdd (row, PS_LIST_TAIL, "X_PSF",            PS_DATA_F32, "PSF x coordinate",                           PAR[PM_PAR_XPOS]);
    75         psMetadataAdd (row, PS_LIST_TAIL, "Y_PSF",            PS_DATA_F32, "PSF y coordinate",                           PAR[PM_PAR_YPOS]);
    76         psMetadataAdd (row, PS_LIST_TAIL, "X_PSF_SIG",        PS_DATA_F32, "Sigma in PSF x coordinate",                  dPAR[PM_PAR_XPOS]);
    77         psMetadataAdd (row, PS_LIST_TAIL, "Y_PSF_SIG",        PS_DATA_F32, "Sigma in PSF y coordinate",                  dPAR[PM_PAR_YPOS]);
     90        psMetadataAdd (row, PS_LIST_TAIL, "X_PSF",            PS_DATA_F32, "PSF x coordinate",                           xPos);
     91        psMetadataAdd (row, PS_LIST_TAIL, "Y_PSF",            PS_DATA_F32, "PSF y coordinate",                           yPos);
     92        psMetadataAdd (row, PS_LIST_TAIL, "X_PSF_SIG",        PS_DATA_F32, "Sigma in PSF x coordinate",                  xErr);
     93        psMetadataAdd (row, PS_LIST_TAIL, "Y_PSF_SIG",        PS_DATA_F32, "Sigma in PSF y coordinate",                  yErr);
    7894        psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_MAG",     PS_DATA_F32, "PSF fit instrumental magnitude",             PS_MIN (99.0, source->psfMag));
    7995        psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_MAG_SIG", PS_DATA_F32, "Sigma of PSF instrumental magnitude",        PS_MIN (99.0, source->errMag));
Note: See TracChangeset for help on using the changeset viewer.