IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39377


Ignore:
Timestamp:
Feb 23, 2016, 4:53:15 PM (10 years ago)
Author:
eugene
Message:

clean up names for average object flags; add some additional flags for astrometry

Location:
trunk/Ohana/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/addstar/src/find_matches_ICRF.c

    r38441 r39377  
    140140    catalog[0].measure[Nmeas].catID    = catID;
    141141
    142     catalog[0].average[n].flags |= ID_ICRF_QSO;
     142    catalog[0].average[n].flags |= ID_OBJ_ICRF_QSO;
    143143
    144144    stars[N].found = TRUE;
  • trunk/Ohana/src/libdvo/include/dvo.h

    r39359 r39377  
    172172/* Average.flags values -- these values are 32 bit (as of PS1_V1) */
    173173typedef enum {
    174   ID_STAR_FEW          = 0x00000001, // used within relphot: skip star
    175   ID_STAR_POOR         = 0x00000002, // used within relphot: skip star
    176   ID_ICRF_QSO          = 0x00000004, // object IDed with known ICRF quasar (may have ICRF position measurement)
    177   ID_OTHEF_QSO         = 0x00000008, // object IDed with known or suspected quasar, without ICRF reference data
    178   ID_PROPER            = 0x00000010, // star with large proper motion
    179   ID_TRANSIENT         = 0x00000020, // identified as a non-periodic (stationary) transient
    180   ID_VARIABLE          = 0x00000040, // identified as a periodic variable
    181   ID_ASTEROID          = 0x00000080, // identified with a known solar-system object (asteroid or other)
    182   ID_STACK_ASTROM      = 0x00000100, // stack position used for astrometry
    183  
    184   // bits 0x00000200 - 0x00008000 are currently unused
    185   ID_OBJ_BEST_STACK    = 0x00008000, // the primary stack measurement are the best measurements
    186   ID_STAR_FIT_AVE      = 0x00010000, // average position fitted
    187   ID_STAR_FIT_PM       = 0x00020000, // proper motion fitted
    188   ID_STAR_FIT_PAR      = 0x00040000, // parallax fitted
    189   ID_STAR_USE_AVE      = 0x00080000, // average position used (not PM or PAR)
    190   ID_STAR_USE_PM       = 0x00100000, // proper motion used (not AVE or PAR)
    191   ID_STAR_USE_PAR      = 0x00200000, // parallax used (not AVE or PM)
    192   ID_STAR_NO_ASTROM    = 0x00400000, // mean astrometry could not be measured
    193   ID_STAR_BAD_PM       = 0x00800000, // mean astrometry could not be measured
    194   ID_OBJ_EXT           = 0x01000000, // extended in our data (eg, PS)
    195   ID_OBJ_EXT_ALT       = 0x02000000, // extended in external data (eg, 2MASS)
    196   ID_OBJ_GOOD          = 0x04000000, // good-quality measurement in our data (eg,PS)
    197   ID_OBJ_GOOD_ALT      = 0x08000000, // good-quality measurement in  external data (eg, 2MASS)
    198   ID_OBJ_GOOD_STACK    = 0x10000000, // good-quality object in the stack (> 1 good stack)
    199   ID_OBJ_SUSPECT_STACK = 0x20000000, // suspect object in the stack (> 1 good or suspect stack, < 2 good)
    200   ID_OBJ_BAD_STACK     = 0x40000000, // good-quality object in the stack (> 1 good stack)
     174  ID_OBJ_FEW             = 0x00000001, // used within relphot: skip star
     175  ID_OBJ_POOR            = 0x00000002, // used within relphot: skip star
     176  // NOTE: bits used for object classification:
     177  ID_OBJ_ICRF_QSO        = 0x00000004, // object IDed with known ICRF quasar (may have ICRF position measurement)
     178  ID_OBJ_OTHEF_QSO       = 0x00000008, // identified as likely QSO (Hernitschek et al 2015), without ICRF reference data
     179  ID_OBJ_TRANSIENT       = 0x00000010, // identified as a non-periodic (stationary) transient
     180  ID_OBJ_VARIABLE        = 0x00000020, // identified as a periodic variable
     181  ID_OBJ_RRLYRA          = 0x00000040, // identified as likely RR Lyra (Hernitschek et al 2015)
     182  ID_OBJ_HAS_SOLSYS_DET  = 0x00000080, // identified with a known solar-system object (asteroid or other)
     183  ID_OBJ_ALL_SOLSYS_DET  = 0x00000100, // identified with a known solar-system object (asteroid or other)
     184  // bits 0x00000200 - 0x00000400 are currently unused
     185  // NOTE: bits used for astrometry analysis
     186  ID_OBJ_LARGE_PM        = 0x00000800, // star with large proper motion
     187  ID_OBJ_RAW_AVE         = 0x00001000, // simple weighted average position was used (no IRLS fitting)
     188  ID_OBJ_FIT_AVE         = 0x00002000, // average position was fitted
     189  ID_OBJ_FIT_PM          = 0x00004000, // proper motion model was fitted
     190  ID_OBJ_FIT_PAR         = 0x00008000, // parallax model was fitted
     191  ID_OBJ_USE_AVE         = 0x00010000, // average position used (not PM or PAR)
     192  ID_OBJ_USE_PM          = 0x00020000, // proper motion used (not AVE or PAR)
     193  ID_OBJ_USE_PAR         = 0x00040000, // parallax used (not AVE or PM)
     194  ID_OBJ_NO_MEAN_ASTROM  = 0x00080000, // mean astrometry could not be measured
     195  ID_OBJ_STACK_FOR_MEAN  = 0x00100000, // stack position used for mean astrometry
     196  ID_OBJ_MEAN_FOR_STACK  = 0x00200000, // mean astrometry could not be measured
     197  ID_OBJ_BAD_PM          = 0x00400000, // failure to measure proper-motion model
     198  // NOTE: bits used for photometry analysis
     199  ID_OBJ_EXT             = 0x00800000, // extended in our data (eg, PS)
     200  ID_OBJ_EXT_ALT         = 0x01000000, // extended in external data (eg, 2MASS)
     201  ID_OBJ_GOOD            = 0x02000000, // good-quality measurement in our data (eg,PS)
     202  ID_OBJ_GOOD_ALT        = 0x04000000, // good-quality measurement in  external data (eg, 2MASS)
     203  ID_OBJ_GOOD_STACK      = 0x08000000, // good-quality object in the stack (> 1 good stack)
     204  ID_OBJ_BEST_STACK      = 0x10000000, // the primary stack measurement are the best measurements
     205  ID_OBJ_SUSPECT_STACK   = 0x20000000, // suspect object in the stack (> 1 good or suspect stack, < 2 good)
     206  ID_OBJ_BAD_STACK       = 0x40000000, // good-quality object in the stack (> 1 good stack)
    201207} DVOAverageFlags;
    202208
  • trunk/Ohana/src/relphot/src/ImageOps.c

    r39357 r39377  
    772772  if (PoorImages) {
    773773    IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    774     STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     774    STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    775775    MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
    776776  }
  • trunk/Ohana/src/relphot/src/MosaicOps.c

    r39290 r39377  
    10361036  if (PoorImages) {
    10371037    IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    1038     STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     1038    STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    10391039    MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
    10401040  }
     
    13511351  if (PoorImages) {
    13521352    IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    1353     STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     1353    STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    13541354    MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
    13551355  }
  • trunk/Ohana/src/relphot/src/StarOps.c

    r38466 r39377  
    756756      if (N < Nminmeas) { /* too few measurements */
    757757        // fprintf (f, "%10.6f %10.6f %d %d %d\n", catalog[Nc].averageT[j].R, catalog[Nc].averageT[j].D, catalog[Nc].measureT[catalog[Nc].averageT[j].measureOffset].imageID, N, STAR_TOOFEW);
    758         catalog[Nc].secfilt[Nsecfilt*j+Nsec].flags |= ID_STAR_FEW;
     758        catalog[Nc].secfilt[Nsecfilt*j+Nsec].flags |= ID_OBJ_FEW;
    759759        if (Ncode == 0) {
    760760          results->Ncode ++;
     
    764764        continue;
    765765      } else {
    766         catalog[Nc].secfilt[Nsecfilt*j+Nsec].flags &= ~ID_STAR_FEW;
     766        catalog[Nc].secfilt[Nsecfilt*j+Nsec].flags &= ~ID_OBJ_FEW;
    767767      }
    768768
     
    11081108        mark = (dM > MaxScatter) || (isnan(Mchisq)) || (Mchisq > MaxChisq);
    11091109        if (mark) {
    1110           catalog[i].secfilt[Nsecfilt*j+Nsec].flags |= ID_STAR_POOR;
     1110          catalog[i].secfilt[Nsecfilt*j+Nsec].flags |= ID_OBJ_POOR;
    11111111          Ndel ++;
    11121112          if (dM > MaxScatter)   { Nscat ++; }
     
    11141114          if (Mchisq > MaxChisq) { Nchi ++; }
    11151115        } else {
    1116           catalog[i].secfilt[Nsecfilt*j+Nsec].flags &= ~ID_STAR_POOR;
     1116          catalog[i].secfilt[Nsecfilt*j+Nsec].flags &= ~ID_OBJ_POOR;
    11171117        }
    11181118        Nave ++;
  • trunk/Ohana/src/relphot/src/initialize.c

    r38062 r39377  
    3232
    3333  IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    34   STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     34  STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    3535  MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
    3636
  • trunk/Ohana/src/relphot/src/relphot_images.c

    r39344 r39377  
    9090      int star_toofew;
    9191
    92       // until we finish the grid analysis, do not reject stars out-of-hand based on ID_STAR_FEW
     92      // until we finish the grid analysis, do not reject stars out-of-hand based on ID_OBJ_FEW
    9393      // XXX this is kind of poor: need to have a better distinctions about STAR_BAD in setMrel vs getMrel
    9494      star_toofew = STAR_TOOFEW;
    9595      STAR_TOOFEW = 0;
    9696      for (i = 0; i < NGRID; i++) {
    97         STAR_BAD = ID_STAR_POOR;
     97        STAR_BAD = ID_OBJ_POOR;
    9898        setMrel  (catalog, Ncatalog, flatcorr);
    99         STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     99        STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    100100        setMgrid (catalog, flatcorr);
    101101      }
    102       STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
     102      STAR_BAD  = ID_OBJ_POOR | ID_OBJ_FEW;
    103103      STAR_TOOFEW = star_toofew;
    104104    }
  • trunk/Ohana/src/relphot/src/relphot_objects.c

    r38986 r39377  
    6363      Nsecfilt = catalog.Nsecfilt;
    6464
    65       DVOAverageFlags astromBits =
    66         ID_STAR_FIT_AVE   |
    67         ID_STAR_FIT_PM    |
    68         ID_STAR_FIT_PAR   |
    69         ID_STAR_USE_AVE   |
    70         ID_STAR_USE_PM    |
    71         ID_STAR_USE_PAR   |
    72         ID_STAR_NO_ASTROM ;
     65      DVOAverageFlags photomBits =
     66        ID_OBJ_EXT             | // extended in our data (eg, PS)
     67        ID_OBJ_EXT_ALT         | // extended in external data (eg, 2MASS)
     68        ID_OBJ_GOOD            | // good-quality measurement in our data (eg,PS)
     69        ID_OBJ_GOOD_ALT        | // good-quality measurement in  external data (eg, 2MASS)
     70        ID_OBJ_GOOD_STACK      | // good-quality object in the stack (> 1 good stack)
     71        ID_OBJ_BEST_STACK      | // the primary stack measurement are the best measurements
     72        ID_OBJ_SUSPECT_STACK   | // suspect object in the stack (> 1 good or suspect stack, < 2 good)
     73        ID_OBJ_BAD_STACK;        // good-quality object in the stack (> 1 good stack)
    7374     
    7475      for (j = 0; j < catalog.Naverage; j++) {
    75         catalog.average[j].flags &= astromBits; // reset all except astrometry bits
     76        catalog.average[j].flags &= ~photomBits; // reset all except astrometry bits
    7677        catalog.average[j].psfQF     = NAN;     // reset (will be re-calculated here)
    7778        catalog.average[j].psfQFperf = NAN;     // reset (will be re-calculated here)
  • trunk/Ohana/src/relphot/src/setMrelCatalog.c

    r39362 r39377  
    351351    int Nranking = magStatsByRanking (&results->psfData[Nsec], psfstats);
    352352    if (Nranking < Nminmeas) {
    353       secfilt[Nsec].flags |= ID_STAR_FEW;
     353      secfilt[Nsec].flags |= ID_OBJ_FEW;
    354354    } else {
    355355      secfilt[Nsec].M    = psfstats->mean;
  • trunk/Ohana/src/relphot/src/setMrelFinal.c

    r38474 r39377  
    104104  if (!simpleAverage) setMcalOutput (catalog, 1, flatcorr);
    105105
    106   /* clear ID_STAR_POOR, ID_STAR_FEW values before writing ??? */
     106  /* clear ID_OBJ_POOR, ID_OBJ_FEW values before writing ??? */
    107107  /* ID_MEAS_NOCAL is an internal bit, so it should be cleared */
    108108  // XXX eventually: move these internal flags to an internal-only catalog->FOO element (like found)
    109109  for (i = 0; i < catalog[0].Naverage; i++) {
    110     catalog[0].average[i].flags &= ~ID_STAR_FEW;
    111     catalog[0].average[i].flags &= ~ID_STAR_POOR;
     110    catalog[0].average[i].flags &= ~ID_OBJ_FEW;
     111    catalog[0].average[i].flags &= ~ID_OBJ_POOR;
    112112    off_t j;
    113113    for (j = 0; j < Nsecfilt; j++) {
    114         catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_STAR_FEW;
    115         catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_STAR_POOR;
     114        catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_OBJ_FEW;
     115        catalog[0].secfilt[i*Nsecfilt+j].flags &= ~ID_OBJ_POOR;
    116116    }
    117117    off_t m = catalog[0].average[i].measureOffset;
Note: See TracChangeset for help on using the changeset viewer.