IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 7, 2008, 4:33:56 PM (18 years ago)
Author:
eugene
Message:

improve input / output consistency: should be able to read and write with identical results

File:
1 edited

Legend:

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

    r19948 r19976  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2008-10-07 20:06:25 $
     5 *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2008-10-08 02:33:56 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    7171    for (i = 0; i < sources->n; i++) {
    7272        pmSource *source = (pmSource *) sources->data[i];
    73         source->seq = i;
     73        if (source->seq == -1) {
     74            source->seq = i;
     75        }
    7476
    7577        // no difference between PSF and non-PSF model
     
    8385            xErr = dPAR[PM_PAR_XPOS];
    8486            yErr = dPAR[PM_PAR_YPOS];
    85             axes = pmPSF_ModelToAxes (PAR, 20.0);
     87            if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX])) {
     88                axes = pmPSF_ModelToAxes (PAR, 20.0);
     89            } else {
     90                axes.major = NAN;
     91                axes.minor = NAN;
     92                axes.theta = NAN;
     93            }
    8694            chisq = model->chisq;
    8795
     
    111119        psMetadataAdd (row, PS_LIST_TAIL, "Y_PSF_SIG",        PS_DATA_F32, "Sigma in PSF y coordinate",                  yErr);
    112120        psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_MAG",     PS_DATA_F32, "PSF fit instrumental magnitude",             source->psfMag);
    113         psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_MAG_SIG", PS_DATA_F32, "Sigma of PSF instrumental magnitude",        source->errMag);
     121        psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_MAG_SIG", PS_DATA_F32, "Sigma of PSF instrumental magnitude",        errMag);
    114122        psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude",           peakMag);
    115123        psMetadataAdd (row, PS_LIST_TAIL, "SKY",              PS_DATA_F32, "Sky level",                                  source->sky);
     
    220228        dPAR = model->dparams->data.F32;
    221229
     230        source->seq       = psMetadataLookupU32 (&status, row, "IPP_IDET");
    222231        PAR[PM_PAR_XPOS]  = psMetadataLookupF32 (&status, row, "X_PSF");
    223232        PAR[PM_PAR_YPOS]  = psMetadataLookupF32 (&status, row, "Y_PSF");
     
    236245        source->psfMag    = psMetadataLookupF32 (&status, row, "PSF_INST_MAG");
    237246        source->errMag    = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_SIG");
     247        PAR[PM_PAR_I0]    = (isfinite(source->psfMag)) ? pow(10.0, -0.4*source->psfMag) : NAN;
     248        dPAR[PM_PAR_I0]   = (isfinite(source->psfMag)) ? PAR[PM_PAR_I0] * source->errMag : NAN;
    238249
    239250        pmPSF_AxesToModel (PAR, axes);
     
    247258
    248259        // note that some older versions used PSF_PROBABILITY: this was not well defined.
    249         source->psfChisq  = psMetadataLookupF32 (&status, row, "PSF_CHISQ");
     260        model->chisq      = psMetadataLookupF32 (&status, row, "PSF_CHISQ");
    250261        source->crNsigma  = psMetadataLookupF32 (&status, row, "CR_NSIGMA");
    251262        source->extNsigma = psMetadataLookupF32 (&status, row, "EXT_NSIGMA");
Note: See TracChangeset for help on using the changeset viewer.