IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38638


Ignore:
Timestamp:
Jul 24, 2015, 5:27:58 PM (11 years ago)
Author:
eugene
Message:

fix loadgalphot merge and index; add galphot fields to avextract

Location:
trunk/Ohana/src
Files:
6 edited

Legend:

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

    r38636 r38638  
    405405  average = catalog[0].average;
    406406 
    407   myAbort("relphot_catalog_galphot needs to handle average entries with Ngalphot = 0");
    408 
    409407  // we have a table of average objects and an unsorted table of measurements.  each measurement
    410408  // has a reference to the average object sequence (as well as an ID)
  • trunk/Ohana/src/libdvo/include/dvo.h

    r38635 r38638  
    12161216# undef LENSFIELD
    12171217
    1218 # define GALPHOT_FIELD(NAME, VALUE) float GalphotValue_##NAME (PhotCode *code, GalPhot *galphot, int Ngalphot);
     1218# define GALPHOT_FIELD(NAME, VALUE) float GalphotValue_##NAME (PhotCode *code, dvoMagClassType class, GalPhot *galphot, int Ngalphot);
    12191219
    12201220GALPHOT_FIELD(GAL_MAG,         mag);           
  • trunk/Ohana/src/libdvo/include/dvodb.h

    r38635 r38638  
    120120  MAG_CLASS_KRON,
    121121  MAG_CLASS_APER,
     122  MAG_CLASS_DEV, // DeVaucouleur Model (only for galphot)
     123  MAG_CLASS_EXP, // Exponential Model (only for galphot)
     124  MAG_CLASS_SER, // Sersic Model (only for galphot)
    122125} dvoMagClassType;
    123126
  • trunk/Ohana/src/libdvo/src/dbExtractAverages.c

    r38635 r38638  
    408408          break;
    409409
    410         case MAG_OPTION_GAL_MAG:       { value.Flt = GalphotValue_GAL_MAG      (field->photcode, galphot, average->Ngalphot); break; }
    411         case MAG_OPTION_GAL_MAG_ERR:   { value.Flt = GalphotValue_GAL_MAG_ERR  (field->photcode, galphot, average->Ngalphot); break; }
    412         case MAG_OPTION_GAL_MAJ:       { value.Flt = GalphotValue_GAL_MAJ      (field->photcode, galphot, average->Ngalphot); break; }
    413         case MAG_OPTION_GAL_MAJ_ERR:   { value.Flt = GalphotValue_GAL_MAJ_ERR  (field->photcode, galphot, average->Ngalphot); break; }
    414         case MAG_OPTION_GAL_MIN:       { value.Flt = GalphotValue_GAL_MIN      (field->photcode, galphot, average->Ngalphot); break; }
    415         case MAG_OPTION_GAL_MIN_ERR:   { value.Flt = GalphotValue_GAL_MIN_ERR  (field->photcode, galphot, average->Ngalphot); break; }
    416         case MAG_OPTION_GAL_THETA:     { value.Flt = GalphotValue_GAL_THETA    (field->photcode, galphot, average->Ngalphot); break; }
    417         case MAG_OPTION_GAL_THETA_ERR: { value.Flt = GalphotValue_GAL_THETA_ERR(field->photcode, galphot, average->Ngalphot); break; }
    418         case MAG_OPTION_GAL_INDEX:     { value.Flt = GalphotValue_GAL_INDEX    (field->photcode, galphot, average->Ngalphot); break; }
    419         case MAG_OPTION_GAL_CHISQ:     { value.Flt = GalphotValue_GAL_CHISQ    (field->photcode, galphot, average->Ngalphot); break; }
    420         case MAG_OPTION_GAL_NPIX:      { value.Flt = GalphotValue_GAL_NPIX     (field->photcode, galphot, average->Ngalphot); break; }
    421         case MAG_OPTION_GAL_TYPE:      { value.Flt = GalphotValue_GAL_TYPE     (field->photcode, galphot, average->Ngalphot); break; }
     410        case MAG_OPTION_GAL_MAG:       { value.Flt = GalphotValue_GAL_MAG      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     411        case MAG_OPTION_GAL_MAG_ERR:   { value.Flt = GalphotValue_GAL_MAG_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     412        case MAG_OPTION_GAL_MAJ:       { value.Flt = GalphotValue_GAL_MAJ      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     413        case MAG_OPTION_GAL_MAJ_ERR:   { value.Flt = GalphotValue_GAL_MAJ_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     414        case MAG_OPTION_GAL_MIN:       { value.Flt = GalphotValue_GAL_MIN      (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     415        case MAG_OPTION_GAL_MIN_ERR:   { value.Flt = GalphotValue_GAL_MIN_ERR  (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     416        case MAG_OPTION_GAL_THETA:     { value.Flt = GalphotValue_GAL_THETA    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     417        case MAG_OPTION_GAL_THETA_ERR: { value.Flt = GalphotValue_GAL_THETA_ERR(field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     418        case MAG_OPTION_GAL_INDEX:     { value.Flt = GalphotValue_GAL_INDEX    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     419        case MAG_OPTION_GAL_CHISQ:     { value.Flt = GalphotValue_GAL_CHISQ    (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     420        case MAG_OPTION_GAL_NPIX:      { value.Flt = GalphotValue_GAL_NPIX     (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
     421        case MAG_OPTION_GAL_TYPE:      { value.Flt = GalphotValue_GAL_TYPE     (field->photcode, field->magClass, galphot, average->Ngalphot); break; }
    422422
    423423        default:
  • trunk/Ohana/src/libdvo/src/dbFields.c

    r38635 r38638  
    214214  if (!strcasecmp (string, "aper"))  return (MAG_CLASS_APER);
    215215  if (!strcasecmp (string, "ap"))    return (MAG_CLASS_APER);
     216
     217  // these model classes are only valid for galphot mag options
     218  if (!strcasecmp (string, "dev"))    return (MAG_CLASS_DEV);
     219  if (!strcasecmp (string, "exp"))    return (MAG_CLASS_EXP);
     220  if (!strcasecmp (string, "ser"))    return (MAG_CLASS_SER);
     221
    216222
    217223  return MAG_CLASS_NONE;
     
    418424    free (word);
    419425    return FALSE;
     426  }
     427
     428  if (dbFieldNeedGalphot (field, 1)) {
     429    field->magClass = MAG_CLASS_SER; // for galphot, we need to set a default model class (SERSIC)
    420430  }
    421431
  • trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r38635 r38638  
    18551855LENSFIELD(E2);
    18561856
    1857 # define GALPHOT_FIELD(NAME, VALUE)                                             \
    1858   float GalphotValue_##NAME (PhotCode *code, GalPhot *galphot, int Ngalphot) { \
     1857# if (0)
     1858float GalphotValue_GAL_MAG (PhotCode *code, dvoMagClassType class, GalPhot *galphot, int Ngalphot) {
     1859  int n;                                                                 
     1860  if (code == NULL) return NAN;                                 
     1861  for (n = 0; n < Ngalphot; n++) {                                       
     1862    short equivCode = GetPhotcodeEquivCodebyCode (galphot[n].photcode);
     1863    if (!equivCode) continue;                                           
     1864    if (equivCode != code->code) continue;                             
     1865    switch (class) {                                                   
     1866      case MAG_CLASS_SER:                                               
     1867        if (galphot[n].modelType != 5) continue;                       
     1868        break;                                                 
     1869      case MAG_CLASS_EXP:                                               
     1870        if (galphot[n].modelType != 6) continue;                       
     1871        break;                                                 
     1872      case MAG_CLASS_DEV:                                               
     1873        if (galphot[n].modelType != 7) continue;                       
     1874        break;                                                 
     1875      default:                                                 
     1876        return NAN;                                                     
     1877    }                                                                   
     1878    float value = galphot[n].mag;                                       
     1879    return (value);                                                     
     1880  }                                                                     
     1881  return NAN;                                                           
     1882}
     1883# endif
     1884
     1885# define GALPHOT_FIELD(NAME, VALUE)                                     \
     1886  float GalphotValue_##NAME (PhotCode *code, dvoMagClassType class, GalPhot *galphot, int Ngalphot) { \
    18591887    int n;                                                              \
    18601888    if (code == NULL) return NAN;                                       \
     
    18631891      if (!equivCode) continue;                                         \
    18641892      if (equivCode != code->code) continue;                            \
     1893      switch (class) {                                                  \
     1894        case MAG_CLASS_SER:                                             \
     1895          if (galphot[n].modelType != 5) continue;                      \
     1896          break;                                                        \
     1897        case MAG_CLASS_EXP:                                             \
     1898          if (galphot[n].modelType != 6) continue;                      \
     1899          break;                                                        \
     1900        case MAG_CLASS_DEV:                                             \
     1901          if (galphot[n].modelType != 7) continue;                      \
     1902          break;                                                        \
     1903        default:                                                        \
     1904          return NAN;                                                   \
     1905      }                                                                 \
    18651906      float value = galphot[n].VALUE;                                   \
    18661907      return (value);                                                   \
Note: See TracChangeset for help on using the changeset viewer.