IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 36800


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

Location:
branches/eam_branches/ipp-20140423/Ohana/src/relastro/src
Files:
5 edited

Legend:

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

    r36630 r36800  
    859859    N = 0;
    860860    for (k = 0; k < catalog[0].average[j].Nmeasure; k++) {
    861       //reset flag on each invocation
     861      // reset flag on each invocation
    862862      measure[k].dbFlags &= ~ID_MEAS_POOR_ASTROM;
    863863
     
    898898  double *R, *D, *dR, *dD, *d2;
    899899  StatType statsR, statsD;
     900
     901  // XXX we are not going to use this for now
     902  return;
    900903
    901904  Nsecfilt = GetPhotcodeNsecfilt();
  • 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;
  • branches/eam_branches/ipp-20140423/Ohana/src/relastro/src/args.c

    r36796 r36800  
    179179  FlagOutlier = FALSE;
    180180  if ((N = get_argument (argc, argv, "-clip"))) {
     181    fprintf (stderr, "-clip is currently disabled\n");
    181182    remove_argument (N, &argc, argv);
    182183    CLIP_THRESH = atof (argv[N]);
     
    598599  FlagOutlier = FALSE;
    599600  if ((N = get_argument (argc, argv, "-clip"))) {
     601    fprintf (stderr, "-clip is currently disabled\n");
    600602    remove_argument (N, &argc, argv);
    601603    CLIP_THRESH = atof (argv[N]);
  • branches/eam_branches/ipp-20140423/Ohana/src/relastro/src/bcatalog.c

    r36798 r36800  
    104104
    105105      // filter out outliers - these are detections inconsistent with the offset distribution
    106       if (FlagOutlier && (catalog[0].measure[offset].dbFlags & ID_MEAS_POOR_ASTROM)) {
     106      // XXX disable this for now
     107      if (FALSE && FlagOutlier && (catalog[0].measure[offset].dbFlags & ID_MEAS_POOR_ASTROM)) {
    107108        catalog[0].measure[offset].dbFlags &= ~ID_MEAS_USED_CHIP;
    108109        if (FALSE && (abs(catalog[0].measure[offset].t - Tref) < 10) && (catalog[0].measure[offset].photcode == Cref)) {
     
    122123          RD_to_XY (&Xi, &Yi, Ri, Di, &coords);
    123124          double radius = hypot(Xi, Yi);
    124           // XXX this radius needs to be configurable
    125125          if (radius > ExcludeBogusRadius) {
    126126              NskipBogus ++;
  • branches/eam_branches/ipp-20140423/Ohana/src/relastro/src/load_catalogs.c

    r36796 r36800  
    66Catalog *load_catalogs (SkyList *skylist, int *Ncatalog, int subselect, int hostID, char *hostpath) {
    77
    8   int i, j, k, m, Nstar;
     8  int i, j, Nstar;
     9  // int k, m;
    910  Catalog *catalog, *pcatalog, tcatalog;
    1011
     
    7374      if (RESET) {
    7475        for (j = 0; j < catalog[Ncat].Naverage; j++) {
     76# if (0)         
    7577          catalog[Ncat].average[j].flags = 0;
    7678          m = catalog[Ncat].average[j].measureOffset;
     
    7880            catalog[Ncat].measure[m+k].dbFlags = 0;
    7981          }
     82# endif
    8083        }
    8184      }
Note: See TracChangeset for help on using the changeset viewer.