IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42066


Ignore:
Timestamp:
Feb 24, 2022, 4:36:25 PM (4 years ago)
Author:
eugene
Message:

fix counting of Nmeas values; do not segfault of measure is not supplied; do not reset dbFlags ID_MEAS bits here

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20211108/Ohana/src/relphot/src/setMrelCatalog.c

    r41672 r42066  
    133133int setMrelAverageExposure (Catalog *catalog, int cat, off_t ave, int Nsecfilt, int isSetMrelFinal, SetMrelInfo *results) {
    134134
    135   int Nsec;
    136135  off_t k;
    137136
     
    179178    // these bits should not be set unless we use them in this pass
    180179    // (note that we can only un-set them in the final pass when we actually have measure, not just measureT
    181     if (measure) measure[k].dbFlags &= ~(ID_MEAS_PHOTOM_PSF | ID_MEAS_PHOTOM_APER | ID_MEAS_PHOTOM_KRON);
     180    // CCL updated 2021.12.09:  the following line will reset the dbFlags for measure so I comment it out.
     181    // if (measure) measure[k].dbFlags &= ~(ID_MEAS_PHOTOM_PSF | ID_MEAS_PHOTOM_APER | ID_MEAS_PHOTOM_KRON);
    182182
    183183    // skip measurements that do not have a valid photcode (raise exception?)
     
    272272
    273273      // the flat-field correction is stored in measure.Mflat
    274       Mflat = isnan (measureT[k].Mflat) ? 0.0 : measureT[k].Mflat;
     274      //Mflat = isnan (measureT[k].Mflat) ? 0.0 : measureT[k].Mflat;
     275      if (measure) {
     276        Mflat = isnan (measure[k].Mflat) ? 0.0 : measure[k].Mflat;
     277      }
    275278
    276279      // see note above re: final output vs image analysis
     
    322325        results->aperData[Nsec].errlist[Nap] = dMap;
    323326        results->aperData[Nsec].wgtlist[Nap] = modifiedWeight;
    324         results->aperData[Nsec].ranking[Nap] = measureRank[k];
     327        results->aperData[Nsec].ranking[Nap] = measureRank ? measureRank[k] : 0;
    325328        results->aperData[Nsec].measSeq[Nap] = k;
    326329        results->aperData[Nsec].msklist[Nap] = 0;
     
    383386  float psfQfPerfMax = 0.0;
    384387
    385   // now calculate the mean stats for the Nsec bands.
    386   for (Nsec = 0; Nsec < Nsecfilt; Nsec++) {
     388  // now calculate the mean stats for the selected Nsec bands.
     389  for (int Ns = 0; Ns < Nphotcodes; Ns++) {
     390    int thisCode = photcodes[Ns][0].code;
     391    int Nsec = GetPhotcodeNsec(thisCode);
    387392
    388393    // -preserve-ps1 means keep an existing average PS1 value
     
    477482      secfilt[Nsec].dMkronChp = kronstats->error;
    478483      secfilt[Nsec].sMkronChp = kronstats->sigma;
    479       secfilt[Nsec].NusedKron = NrankingKRON;
     484      // actually used is Nmeas, NrankingKRON is including masked data
     485      secfilt[Nsec].NusedKron = kronstats->Nmeas;
    480486    }
    481487
     
    521527        secfilt[Nsec].dMapChp = apstats->error;
    522528        secfilt[Nsec].sMapChp = apstats->sigma;
    523         secfilt[Nsec].NusedAp = NrankingAPER;
     529        // actually used is Nmeas, NrankingAPER is including masked data
     530        secfilt[Nsec].NusedAp = apstats->Nmeas;
    524531      }
    525532      int minRankAper = (NrankingAPER > 0) ? results->aperData[Nsec].ranking[0] : 10;
Note: See TracChangeset for help on using the changeset viewer.