IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 30, 2007, 5:02:05 PM (19 years ago)
Author:
magnier
Message:

more consistent I/O for source

File:
1 edited

Legend:

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

    r12696 r12704  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2007-03-30 21:12:56 $
     5 *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2007-03-31 03:02:05 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    7575            shape.sy  = PAR[PM_PAR_SYY];
    7676            shape.sxy = PAR[PM_PAR_SXY];
    77             axes = psEllipseShapeToAxes (shape, 20.0);
     77            if ((shape.sx == 0) || (shape.sy == 0)) {
     78                axes.major = 0.0;
     79                axes.minor = 0.0;
     80                axes.theta = 0.0;
     81            } else {
     82                axes = psEllipseShapeToAxes (shape, 20.0);
     83            }
    7884        } else {
    7985            xPos = source->peak->xf;
     
    194200        source->errMag    = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_ERR");
    195201
    196         shape = psEllipseAxesToShape (axes);
    197 
    198         PAR[PM_PAR_SXX] = shape.sx;
    199         PAR[PM_PAR_SYY] = shape.sy;
    200         PAR[PM_PAR_SXY] = shape.sxy;
     202        bool skip = false;
     203        skip |= (axes.major <= 0);
     204        skip |= (axes.minor <= 0);
     205        if (!skip) {
     206            shape = psEllipseAxesToShape (axes);
     207            PAR[PM_PAR_SXX] = shape.sx;
     208            PAR[PM_PAR_SYY] = shape.sy;
     209            PAR[PM_PAR_SXY] = shape.sxy;
     210        } else {
     211            PAR[PM_PAR_SXX] = 0.0;
     212            PAR[PM_PAR_SYY] = 0.0;
     213            PAR[PM_PAR_SXY] = 0.0;
     214        }
     215
     216        float lflux = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG");
     217        float flux = (isfinite(lflux)) ? pow(10.0, -0.4*lflux) : NAN;
     218        source->peak = pmPeakAlloc(PAR[PM_PAR_XPOS], PAR[PM_PAR_YPOS], flux, PM_PEAK_LONE);
     219        source->pixWeight = psMetadataLookupF32 (&status, row, "PSF_QF");
    201220
    202221        // XXX other values saved but not loaded?
    203222        // psMetadataLookupS64 (&status, row, "IPP_IDET");
    204         // psMetadataLookupF32 (&status, row, "PSF_QF");
    205223        // psMetadataLookupF32 (&status, row, "PSF_PROBABILITY");
    206         // psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG");
    207224        // psMetadataLookupF32 (&status, row, "N_FRAMES");
    208225
Note: See TracChangeset for help on using the changeset viewer.