IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38031


Ignore:
Timestamp:
Mar 28, 2015, 5:35:05 AM (11 years ago)
Author:
eugene
Message:

pmDetrendDB should not fail if the classID is not present in the list of locations (eg, not one of the listed cameras); add galaxy shape error analysis failure flags to pmModelStatus; correctly load SKY_EXT from cmf file; for psastro, we need to get FWHM_MAJ,MIN from the header not the readout analysis

Location:
branches/eam_branches/ipp-20150326/psModules/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150326/psModules/src/detrend/pmDetrendDB.c

    r37837 r38031  
    356356    psTrace("psModules.detrend", 5, "detrend file: %s\n", result);
    357357
     358    // XXX: A somewhat hacked bit of code to force the analysis to use a specific version of the detrend file
    358359    char *is_nebulous = strstr(result,"neb://");
    359360    if (is_nebulous) { // This file matches the nebulous string
    360361      psString truncated = psStringCopy(is_nebulous + 6);
    361362      //      printf("A: %s %s\n",result,truncated);
     363
    362364      psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes,"PPIMAGE");
    363       psMetadata *detloc = psMetadataLookupMetadata(NULL, recipe, "DETREND.LOCATIONS");
     365      psMetadata *detloc = psMetadataLookupMetadata(&status, recipe, "DETREND.LOCATIONS");
     366
    364367      if (detloc) { // This exists, so we have the information.
    365         psString location = psMetadataLookupStr(NULL, detloc,classID);
     368        psString location = psMetadataLookupStr(&status, detloc, classID);
    366369        //      printf("B: %s %s\n", classID,location);
    367370        if (location) { // Found a location
  • branches/eam_branches/ipp-20150326/psModules/src/objects/pmModelFuncs.h

    r36860 r38031  
    3636
    3737typedef enum {
    38     PM_MODEL_STATUS_NONE           = 0x000, ///< model fit not yet attempted, no other info
    39     PM_MODEL_STATUS_FITTED         = 0x001, ///< model fit completed
    40     PM_MODEL_STATUS_NONCONVERGE    = 0x002, ///< model fit did not converge
    41     PM_MODEL_STATUS_OFFIMAGE       = 0x004, ///< model fit drove out of range
    42     PM_MODEL_STATUS_BADARGS        = 0x008, ///< model fit called with invalid args
    43     PM_MODEL_STATUS_LIMITS         = 0x010, ///< model parameters hit limits
    44     PM_MODEL_STATUS_WEAK_FIT       = 0x020, ///< model fit met loose tolerance, but not tight tolerance
    45     PM_MODEL_STATUS_NAN_CHISQ      = 0x040, ///< model fit failed with a NAN chisq
    46     PM_MODEL_SERSIC_PCM_FAIL_GUESS = 0x080, ///< sersic model fit failed on the initial moments-based guess
    47     PM_MODEL_SERSIC_PCM_FAIL_GRID  = 0x100, ///< sersic model fit failed on the grid search
    48     PM_MODEL_PCM_FAIL_GUESS        = 0x200, ///< non-sersic model fit failed on the initial moments-based guess
    49     PM_MODEL_BEST_FIT              = 0x400, ///< this model was the best fit and was subtracted
     38    PM_MODEL_STATUS_NONE           = 0x0000, ///< model fit not yet attempted, no other info
     39    PM_MODEL_STATUS_FITTED         = 0x0001, ///< model fit completed
     40    PM_MODEL_STATUS_NONCONVERGE    = 0x0002, ///< model fit did not converge
     41    PM_MODEL_STATUS_OFFIMAGE       = 0x0004, ///< model fit drove out of range
     42    PM_MODEL_STATUS_BADARGS        = 0x0008, ///< model fit called with invalid args
     43    PM_MODEL_STATUS_LIMITS         = 0x0010, ///< model parameters hit limits
     44    PM_MODEL_STATUS_WEAK_FIT       = 0x0020, ///< model fit met loose tolerance, but not tight tolerance
     45    PM_MODEL_STATUS_NAN_CHISQ      = 0x0040, ///< model fit failed with a NAN chisq
     46    PM_MODEL_SERSIC_PCM_FAIL_GUESS = 0x0080, ///< sersic model fit failed on the initial moments-based guess
     47    PM_MODEL_SERSIC_PCM_FAIL_GRID  = 0x0100, ///< sersic model fit failed on the grid search
     48    PM_MODEL_PCM_FAIL_GUESS        = 0x0200, ///< non-sersic model fit failed on the initial moments-based guess
     49    PM_MODEL_BEST_FIT              = 0x0400, ///< this model was the best fit and was subtracted
     50    PM_MODEL_STATUS_NAN_SHAPE      = 0x0800, ///< model ellipse parameters do not transform to valid ellipse
     51    PM_MODEL_STATUS_NAN_SHAPE_ERR  = 0x1000, ///< model ellipse parameters errors do not transform to valid ellipse
     52    PM_MODEL_STATUS_FAIL_SHAPE_ERR = 0x2000, ///< could not find an MC solution for ellipse parameter errors
    5053} pmModelStatus;
    5154
  • branches/eam_branches/ipp-20150326/psModules/src/objects/pmSourceIO_CMF.c.in

    r38018 r38031  
    12721272        dPAR[PM_PAR_SXY] = psMetadataLookupF32(&status, row, "EXT_THETA_ERR");
    12731273
     1274        // other parameters that we need to read
     1275        PAR[PM_PAR_SKY] = psMetadataLookupF32(&status, row, "SKY_EXT");
     1276
    12741277        if (modelType == extModelType) {
    12751278            // The software that created this source picked this model as the best of the fits.
  • branches/eam_branches/ipp-20150326/psModules/src/objects/pmSourceOutputs.c

    r36860 r38031  
    6060    // we need a measure of the image quality (FWHM) for this image, in order to get the positional errors
    6161    *fwhmMajor = psMetadataLookupF32(&status1, readout->analysis, "FWHM_MAJ");
    62     if (!status1) {
    63         *fwhmMajor = psMetadataLookupF32(&status1, readout->analysis, "IQ_FW1");
    64         if (!status1) {
    65             *fwhmMajor = 5.0; // XXX just a guess!
    66         }
    67     }
     62    if (status1) goto got_major;
     63
     64    *fwhmMajor = psMetadataLookupF32(&status1, header, "FWHM_MAJ");
     65    if (status1) goto got_major;
     66
     67    *fwhmMajor = psMetadataLookupF32(&status1, readout->analysis, "IQ_FW1");
     68    if (status1) goto got_major;
     69
     70    *fwhmMajor = psMetadataLookupF32(&status1, header, "IQ_FW1");
     71    if (status1) goto got_major;
     72
     73    *fwhmMajor = 5.0; // XXX just a guess!
     74
     75    got_major:
     76
    6877    *fwhmMinor = psMetadataLookupF32(&status1, readout->analysis, "FWHM_MIN");
    69     if (!status1) {
    70         *fwhmMinor = psMetadataLookupF32(&status1, readout->analysis, "IQ_FW2");
    71         if (!status1) {
    72             *fwhmMinor = 5.0; // XXX just a guess!
    73         }
    74     }
    75 
     78    if (status1) goto got_minor;
     79    *fwhmMinor = psMetadataLookupF32(&status1, header, "FWHM_MIN");
     80    if (status1) goto got_minor;
     81
     82    *fwhmMinor = psMetadataLookupF32(&status1, readout->analysis, "IQ_FW2");
     83    if (status1) goto got_minor;
     84    *fwhmMinor = psMetadataLookupF32(&status1, header, "IQ_FW2");
     85    if (status1) goto got_minor;
     86
     87    *fwhmMinor = 5.0; // XXX just a guess!
     88
     89    got_minor:
    7690    return true;
    7791
Note: See TracChangeset for help on using the changeset viewer.