IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 2, 2014, 2:20:19 PM (12 years ago)
Author:
eugene
Message:

exclude bogus measurements (dRadius > 2.0) before solving for object parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140423/Ohana/src/relastro/src/UpdateObjects.c

    r36630 r36800  
    140140        // does the measurement pass the supplied filtering constraints?
    141141        // MeasFilterTestTiny does not test psfQF
     142        // exclude bad detections based on: photcodes, psfQF, time range, photflags & astromBadMask, mag_inst
    142143        int keepMeasure = measureBig ? MeasFilterTest(&measureBig[k], FALSE) : MeasFilterTestTiny(&measure[k], FALSE);
    143144        if (!keepMeasure) {
     
    147148        }
    148149
     150        // mark (as POOR) any measurements which are deviant from the mean by > ExcludeBogusRadius
     151        if (ExcludeBogus) {
     152          double Ri = getMeanR (&measure[k], &catalog[i].average[j], &catalog[i].secfilt[j*Nsecfilt]);
     153          double Di = getMeanD (&measure[k], &catalog[i].average[j], &catalog[i].secfilt[j*Nsecfilt]);
     154          coords.crval1 = catalog[i].average[j].R;
     155          coords.crval2 = catalog[i].average[j].D;
     156          double Xi, Yi;
     157          RD_to_XY (&Xi, &Yi, Ri, Di, &coords);
     158          double radius = hypot(Xi, Yi);
     159          if (radius > ExcludeBogusRadius) {
     160              measure[k].dbFlags &= ~ID_MEAS_USED_OBJ;
     161              if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_USED_OBJ; }
     162              measure[k].dbFlags |= ID_MEAS_POOR_ASTROM;
     163              if (measureBig) { measureBig[k].dbFlags |= ID_MEAS_POOR_ASTROM; }
     164              continue;
     165          }
     166          measure[k].dbFlags &= ~ID_MEAS_POOR_ASTROM;
     167          if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_POOR_ASTROM; }
     168        }
     169
    149170        // outlier rejection
    150         if (FlagOutlier && (measure[k].dbFlags & ID_MEAS_POOR_ASTROM)) {
     171        if (FALSE && FlagOutlier && (measure[k].dbFlags & ID_MEAS_POOR_ASTROM)) {
    151172          measure[k].dbFlags &= ~ID_MEAS_USED_OBJ;
    152173          if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_USED_OBJ; }
     
    271292
    272293      if (mode == FIT_PM_AND_PAR) {
    273         // fprintf (stderr, "parallax fitting is still untested (%s, %d)\n", __FILE__, __LINE__);
    274 
    275294        float pXmin = +2.0;
    276295        float pXmax = -2.0;
Note: See TracChangeset for help on using the changeset viewer.