IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37435


Ignore:
Timestamp:
Sep 25, 2014, 3:16:20 PM (12 years ago)
Author:
eugene
Message:

extend dbExtractAverages to handle lensobj and starpar values

Location:
branches/eam_branches/ipp-20140904/Ohana/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/include/dvo.h

    r37395 r37435  
    10181018int RegionHostFindNeighbors (RegionHostTable *table, int Nhost);
    10191019
     1020# define LENSFIELD(NAME) float LensValue_##NAME (PhotCode *code, Lensobj *lensobj);
     1021
     1022LENSFIELD(X11_sm_obj);
     1023LENSFIELD(X12_sm_obj);
     1024LENSFIELD(X22_sm_obj);
     1025LENSFIELD(E1_sm_obj);
     1026LENSFIELD(E2_sm_obj);
     1027
     1028LENSFIELD(X11_sh_obj);
     1029LENSFIELD(X12_sh_obj);
     1030LENSFIELD(X22_sh_obj);
     1031LENSFIELD(E1_sh_obj);
     1032LENSFIELD(E2_sh_obj);
     1033
     1034LENSFIELD(X11_sm_psf);
     1035LENSFIELD(X12_sm_psf);
     1036LENSFIELD(X22_sm_psf);
     1037LENSFIELD(E1_sm_psf);
     1038LENSFIELD(E2_sm_psf);
     1039
     1040LENSFIELD(X11_sh_psf);
     1041LENSFIELD(X12_sh_psf);
     1042LENSFIELD(X22_sh_psf);
     1043LENSFIELD(E1_sh_psf);
     1044LENSFIELD(E2_sh_psf);
     1045
     1046# undef LENSFIELD
     1047
    10201048# endif // DVO_H
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/include/dvodb.h

    r37116 r37435  
    5555  MAG_OPTION_UC_DIST,
    5656  MAG_OPTION_FLAGS,
     57
     58  MAG_OPTION_X11_SM_OBJ,
     59  MAG_OPTION_X12_SM_OBJ,
     60  MAG_OPTION_X22_SM_OBJ,
     61  MAG_OPTION_E1_SM_OBJ,
     62  MAG_OPTION_E2_SM_OBJ,
     63
     64  MAG_OPTION_X11_SH_OBJ,
     65  MAG_OPTION_X12_SH_OBJ,
     66  MAG_OPTION_X22_SH_OBJ,
     67  MAG_OPTION_E1_SH_OBJ,
     68  MAG_OPTION_E2_SH_OBJ,
     69
     70  MAG_OPTION_X11_SM_PSF,
     71  MAG_OPTION_X12_SM_PSF,
     72  MAG_OPTION_X22_SM_PSF,
     73  MAG_OPTION_E1_SM_PSF,
     74  MAG_OPTION_E2_SM_PSF,
     75
     76  MAG_OPTION_X11_SH_PSF,
     77  MAG_OPTION_X12_SH_PSF,
     78  MAG_OPTION_X22_SH_PSF,
     79  MAG_OPTION_E1_SH_PSF,
     80  MAG_OPTION_E2_SH_PSF,
     81
     82  MAG_OPTION_F_AP_R5,
     83  MAG_OPTION_F_ERR_AP_R5,
     84  MAG_OPTION_F_STDEV_AP_R5,
     85  MAG_OPTION_F_FILL_AP_R5,
     86
     87  MAG_OPTION_F_AP_R6,
     88  MAG_OPTION_F_ERR_AP_R6,
     89  MAG_OPTION_F_STDEV_AP_R6,
     90  MAG_OPTION_F_FILL_AP_R6,
    5791} dvoMagOptionType;
    5892
     
    163197      MEAS_CENTER_OFFSET,
    164198      MEAS_REF_COLOR,
     199      MEAS_X11_SM_OBJ,
     200      MEAS_X12_SM_OBJ,
     201      MEAS_X22_SM_OBJ,
     202      MEAS_E1_SM_OBJ,
     203      MEAS_E2_SM_OBJ,
     204      MEAS_X11_SH_OBJ,
     205      MEAS_X12_SH_OBJ,
     206      MEAS_X22_SH_OBJ,
     207      MEAS_E1_SH_OBJ,
     208      MEAS_E2_SH_OBJ,
     209      MEAS_X11_SM_PSF,
     210      MEAS_X12_SM_PSF,
     211      MEAS_X22_SM_PSF,
     212      MEAS_E1_SM_PSF,
     213      MEAS_E2_SM_PSF,
     214      MEAS_X11_SH_PSF,
     215      MEAS_X12_SH_PSF,
     216      MEAS_X22_SH_PSF,
     217      MEAS_E1_SH_PSF,
     218      MEAS_E2_SH_PSF,
    165219};
    166220
     
    202256      AVE_REF_COLOR,
    203257      AVE_PHOT, // photometry class of values
     258      AVE_E_BV,               // extinction (mags)
     259      AVE_E_BV_ERR,
     260      AVE_DISTANCE_MOD, // distance modulus (mags)
     261      AVE_DISTANCE_MOD_ERR,
     262      AVE_M_R,                // absolute mag in r-band
     263      AVE_M_R_ERR,
     264      AVE_FEH,                // metallicity
     265      AVE_FEH_ERR,
     266      AVE_URA_GALMODEL,      // model pm prediction
     267      AVE_UDEC_GALMODEL,     // model pm prediction
    204268};
    205269
     
    368432int          ParseImageField        PROTO((dbField *field, char *fieldName));
    369433
    370 dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field));
     434dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, dbField *field));
    371435dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field));
    372436dbValue      dbExtractImages        PROTO((Image *image, off_t Nimage, off_t N, dbField *field));
     
    376440int          dbAstroRegionLimits    PROTO((dbStack **stack, int *nstack, SkyRegionSelection *selection, int table));
    377441char        *strfloat               PROTO((float value));
     442
     443int dbFieldNeedMeasure (dbField *fields, int Nfields);
     444int dbFieldNeedLensobj (dbField *fields, int Nfields);
     445int dbFieldNeedStarpar (dbField *fields, int Nfields);
    378446
    379447void FreeImageSelection (void);
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbExtractAverages.c

    r37116 r37435  
    5050
    5151/* return average.field based on the selection */
    52 dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) {
     52dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, dbField *field) {
    5353
    5454  // off_t i;
     
    306306          value.Flt = PhotUCdist (field->photcode, average, secfilt);
    307307          break;
    308         // XX case MAG_OPTION_STACK_DET_ID:
    309         // XX   value.Int = PhotStackID (field->photcode, average, secfilt);
    310         // XX   break;
    311308        case MAG_OPTION_FLAGS: {
    312309          int Nsec = GetPhotcodeNsec (field->photcode->code);
     
    315312          break;
    316313        }
     314
     315          // g:X11_SM_OBJ, etc, are only valid for average
     316        case MAG_OPTION_X11_SM_OBJ: { value.Flt = LensValue_X11_sm_obj (field->photcode, lensobj); break; }
     317        case MAG_OPTION_X12_SM_OBJ: { value.Flt = LensValue_X12_sm_obj (field->photcode, lensobj); break; }
     318        case MAG_OPTION_X22_SM_OBJ: { value.Flt = LensValue_X22_sm_obj (field->photcode, lensobj); break; }
     319        case MAG_OPTION_E1_SM_OBJ:  { value.Flt = LensValue_E1_sm_obj  (field->photcode, lensobj); break; }
     320        case MAG_OPTION_E2_SM_OBJ:  { value.Flt = LensValue_E2_sm_obj  (field->photcode, lensobj); break; }
     321
     322        case MAG_OPTION_X11_SH_OBJ: { value.Flt = LensValue_X11_sh_obj (field->photcode, lensobj); break; }
     323        case MAG_OPTION_X12_SH_OBJ: { value.Flt = LensValue_X12_sh_obj (field->photcode, lensobj); break; }
     324        case MAG_OPTION_X22_SH_OBJ: { value.Flt = LensValue_X22_sh_obj (field->photcode, lensobj); break; }
     325        case MAG_OPTION_E1_SH_OBJ:  { value.Flt = LensValue_E1_sh_obj  (field->photcode, lensobj); break; }
     326        case MAG_OPTION_E2_SH_OBJ:  { value.Flt = LensValue_E2_sh_obj  (field->photcode, lensobj); break; }
     327
     328        case MAG_OPTION_X11_SM_PSF: { value.Flt = LensValue_X11_sm_psf (field->photcode, lensobj); break; }
     329        case MAG_OPTION_X12_SM_PSF: { value.Flt = LensValue_X12_sm_psf (field->photcode, lensobj); break; }
     330        case MAG_OPTION_X22_SM_PSF: { value.Flt = LensValue_X22_sm_psf (field->photcode, lensobj); break; }
     331        case MAG_OPTION_E1_SM_PSF:  { value.Flt = LensValue_E1_sm_psf  (field->photcode, lensobj); break; }
     332        case MAG_OPTION_E2_SM_PSF:  { value.Flt = LensValue_E2_sm_psf  (field->photcode, lensobj); break; }
     333
     334        case MAG_OPTION_X11_SH_PSF: { value.Flt = LensValue_X11_sh_psf (field->photcode, lensobj); break; }
     335        case MAG_OPTION_X12_SH_PSF: { value.Flt = LensValue_X12_sh_psf (field->photcode, lensobj); break; }
     336        case MAG_OPTION_X22_SH_PSF: { value.Flt = LensValue_X22_sh_psf (field->photcode, lensobj); break; }
     337        case MAG_OPTION_E1_SH_PSF:  { value.Flt = LensValue_E1_sh_psf  (field->photcode, lensobj); break; }
     338        case MAG_OPTION_E2_SH_PSF:  { value.Flt = LensValue_E2_sh_psf  (field->photcode, lensobj); break; }
     339
    317340        case MAG_OPTION_NONE:
    318341          break;
    319       }
    320       break;
     342
     343        default:
     344          break;
     345      }
     346      break;
     347
     348    case AVE_E_BV:             { value.Flt = starpar->Ebv;      break; }
     349    case AVE_E_BV_ERR:         { value.Flt = starpar->dEbv;     break; }
     350    case AVE_DISTANCE_MOD:     { value.Flt = starpar->DistMag;  break; }
     351    case AVE_DISTANCE_MOD_ERR: { value.Flt = starpar->dDistMag; break; }
     352    case AVE_M_R:              { value.Flt = starpar->M_r;      break; }
     353    case AVE_M_R_ERR:          { value.Flt = starpar->dM_r;     break; }
     354    case AVE_FEH:              { value.Flt = starpar->FeH;      break; }
     355    case AVE_FEH_ERR:          { value.Flt = starpar->dFeH;     break; }
     356    case AVE_URA_GALMODEL:     { value.Flt = starpar->uRA;      break; }
     357    case AVE_UDEC_GALMODEL:    { value.Flt = starpar->uDEC;     break; }
    321358
    322359    case AVE_TYPE:
     
    324361    case AVE_TYPEFRAC:
    325362      break;
     363
     364
    326365  }
    327366  return (value);
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbExtractMeasures.c

    r37377 r37435  
    249249        case MAG_OPTION_UC_DIST:
    250250        case MAG_OPTION_FLAGS:
     251        case MAG_OPTION_X11_SM_OBJ:
     252        case MAG_OPTION_X12_SM_OBJ:
     253        case MAG_OPTION_X22_SM_OBJ:
     254        case MAG_OPTION_E1_SM_OBJ:
     255        case MAG_OPTION_E2_SM_OBJ:
     256        case MAG_OPTION_X11_SH_OBJ:
     257        case MAG_OPTION_X12_SH_OBJ:
     258        case MAG_OPTION_X22_SH_OBJ:
     259        case MAG_OPTION_E1_SH_OBJ:
     260        case MAG_OPTION_E2_SH_OBJ:
     261        case MAG_OPTION_X11_SM_PSF:
     262        case MAG_OPTION_X12_SM_PSF:
     263        case MAG_OPTION_X22_SM_PSF:
     264        case MAG_OPTION_E1_SM_PSF:
     265        case MAG_OPTION_E2_SM_PSF:
     266        case MAG_OPTION_X11_SH_PSF:
     267        case MAG_OPTION_X12_SH_PSF:
     268        case MAG_OPTION_X22_SH_PSF:
     269        case MAG_OPTION_E1_SH_PSF:
     270        case MAG_OPTION_E2_SH_PSF:
     271        case MAG_OPTION_F_AP_R5:
     272        case MAG_OPTION_F_ERR_AP_R5:
     273        case MAG_OPTION_F_STDEV_AP_R5:
     274        case MAG_OPTION_F_FILL_AP_R5:
     275        case MAG_OPTION_F_AP_R6:
     276        case MAG_OPTION_F_ERR_AP_R6:
     277        case MAG_OPTION_F_STDEV_AP_R6:
     278        case MAG_OPTION_F_FILL_AP_R6:
     279
    251280        case MAG_OPTION_NONE:
    252281          break;
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbFields.c

    r37116 r37435  
    2828}
    2929
     30int dbFieldNeedMeasure (dbField *fields, int Nfields) {
     31  int i;
     32  for (i = 0; i < Nfields; i++) {
     33    if (fields[i].photcode == NULL) continue; // non-measure fields do not have a photcode
     34    if (fields[i].photcode[0].type == PHOT_REF) return TRUE;
     35    if (fields[i].photcode[0].type == PHOT_DEP) return TRUE;
     36  }
     37  return FALSE;
     38}
     39
     40int dbFieldNeedLensobj (dbField *fields, int Nfields) {
     41  int i;
     42  for (i = 0; i < Nfields; i++) {
     43    if (fields[i].magOption == MAG_OPTION_NONE) continue; // non-measure fields do not have a photcode
     44
     45    if (fields[i].magOption == MAG_OPTION_X11_SM_OBJ) return TRUE;
     46    if (fields[i].magOption == MAG_OPTION_X12_SM_OBJ) return TRUE;
     47    if (fields[i].magOption == MAG_OPTION_X22_SM_OBJ) return TRUE;
     48    if (fields[i].magOption == MAG_OPTION_E1_SM_OBJ)  return TRUE;
     49    if (fields[i].magOption == MAG_OPTION_E2_SM_OBJ)  return TRUE;
     50    if (fields[i].magOption == MAG_OPTION_X11_SH_OBJ) return TRUE;
     51    if (fields[i].magOption == MAG_OPTION_X12_SH_OBJ) return TRUE;
     52    if (fields[i].magOption == MAG_OPTION_X22_SH_OBJ) return TRUE;
     53    if (fields[i].magOption == MAG_OPTION_E1_SH_OBJ)  return TRUE;
     54    if (fields[i].magOption == MAG_OPTION_E2_SH_OBJ)  return TRUE;
     55    if (fields[i].magOption == MAG_OPTION_X11_SM_PSF) return TRUE;
     56    if (fields[i].magOption == MAG_OPTION_X12_SM_PSF) return TRUE;
     57    if (fields[i].magOption == MAG_OPTION_X22_SM_PSF) return TRUE;
     58    if (fields[i].magOption == MAG_OPTION_E1_SM_PSF)  return TRUE;
     59    if (fields[i].magOption == MAG_OPTION_E2_SM_PSF)  return TRUE;
     60    if (fields[i].magOption == MAG_OPTION_X11_SH_PSF) return TRUE;
     61    if (fields[i].magOption == MAG_OPTION_X12_SH_PSF) return TRUE;
     62    if (fields[i].magOption == MAG_OPTION_X22_SH_PSF) return TRUE;
     63    if (fields[i].magOption == MAG_OPTION_E1_SH_PSF)  return TRUE;
     64    if (fields[i].magOption == MAG_OPTION_E2_SH_PSF)  return TRUE;
     65  }
     66  return FALSE;
     67}
     68
     69int dbFieldNeedStarpar (dbField *fields, int Nfields) {
     70  int i;
     71  for (i = 0; i < Nfields; i++) {
     72    if (fields[i].ID == AVE_E_BV)             return TRUE;
     73    if (fields[i].ID == AVE_E_BV_ERR)         return TRUE;
     74    if (fields[i].ID == AVE_DISTANCE_MOD)     return TRUE;
     75    if (fields[i].ID == AVE_DISTANCE_MOD_ERR) return TRUE;
     76    if (fields[i].ID == AVE_M_R)              return TRUE;
     77    if (fields[i].ID == AVE_M_R_ERR)          return TRUE;
     78    if (fields[i].ID == AVE_FEH)              return TRUE;
     79    if (fields[i].ID == AVE_FEH_ERR)          return TRUE;
     80    if (fields[i].ID == AVE_URA_GALMODEL)     return TRUE;
     81    if (fields[i].ID == AVE_UDEC_GALMODEL)    return TRUE;
     82  }
     83  return FALSE;
     84}
     85
    3086dvoMagSourceType GetMagSource (char *string) {
    3187
    32   if (!strcasecmp (string, "chip")) return (MAG_SRC_CHP);
    33   if (!strcasecmp (string, "warp")) return (MAG_SRC_WRP);
     88  if (!strcasecmp (string, "chip"))  return (MAG_SRC_CHP);
     89  if (!strcasecmp (string, "warp"))  return (MAG_SRC_WRP);
    3490  if (!strcasecmp (string, "stack")) return (MAG_SRC_STK);
    3591
     
    66122dvoMagOptionType GetMagOption (char *string) {
    67123
    68   if (!strcasecmp (string, "mag"))          return (MAG_OPTION_MAG);
    69   if (!strcasecmp (string, "err"))          return (MAG_OPTION_ERR);
    70   if (!strcasecmp (string, "magerr"))       return (MAG_OPTION_ERR);
    71   if (!strcasecmp (string, "flux"))         return (MAG_OPTION_FLUX);
    72   if (!strcasecmp (string, "fluxerr"))      return (MAG_OPTION_FLUX_ERR);
    73   if (!strcasecmp (string, "stdev"))        return (MAG_OPTION_STDEV);
    74   if (!strcasecmp (string, "chisq"))        return (MAG_OPTION_CHISQ);
    75   if (!strcasecmp (string, "min"))          return (MAG_OPTION_MIN);
    76   if (!strcasecmp (string, "max"))          return (MAG_OPTION_MAX);
    77   if (!strcasecmp (string, "ncode"))        return (MAG_OPTION_NCODE);
    78   if (!strcasecmp (string, "nphot"))        return (MAG_OPTION_NPHOT);
    79   if (!strcasecmp (string, "uc_dist"))      return (MAG_OPTION_UC_DIST);
    80   if (!strcasecmp (string, "flags"))        return (MAG_OPTION_FLAGS);
     124  if (!strcasecmp (string, "mag"))           return MAG_OPTION_MAG;
     125  if (!strcasecmp (string, "err"))           return MAG_OPTION_ERR;
     126  if (!strcasecmp (string, "magerr"))        return MAG_OPTION_ERR;
     127  if (!strcasecmp (string, "flux"))          return MAG_OPTION_FLUX;
     128  if (!strcasecmp (string, "fluxerr"))       return MAG_OPTION_FLUX_ERR;
     129  if (!strcasecmp (string, "stdev"))         return MAG_OPTION_STDEV;
     130  if (!strcasecmp (string, "chisq"))         return MAG_OPTION_CHISQ;
     131  if (!strcasecmp (string, "min"))           return MAG_OPTION_MIN;
     132  if (!strcasecmp (string, "max"))           return MAG_OPTION_MAX;
     133  if (!strcasecmp (string, "ncode"))         return MAG_OPTION_NCODE;
     134  if (!strcasecmp (string, "nphot"))         return MAG_OPTION_NPHOT;
     135  if (!strcasecmp (string, "uc_dist"))       return MAG_OPTION_UC_DIST;
     136  if (!strcasecmp (string, "flags"))         return MAG_OPTION_FLAGS;
     137  if (!strcasecmp (string, "X11_SM_OBJ"))    return MAG_OPTION_X11_SM_OBJ;
     138  if (!strcasecmp (string, "X12_SM_OBJ"))    return MAG_OPTION_X12_SM_OBJ;
     139  if (!strcasecmp (string, "X22_SM_OBJ"))    return MAG_OPTION_X22_SM_OBJ;
     140  if (!strcasecmp (string, "E1_SM_OBJ"))     return MAG_OPTION_E1_SM_OBJ;
     141  if (!strcasecmp (string, "E2_SM_OBJ"))     return MAG_OPTION_E2_SM_OBJ;
     142  if (!strcasecmp (string, "X11_SH_OBJ"))    return MAG_OPTION_X11_SH_OBJ;
     143  if (!strcasecmp (string, "X12_SH_OBJ"))    return MAG_OPTION_X12_SH_OBJ;
     144  if (!strcasecmp (string, "X22_SH_OBJ"))    return MAG_OPTION_X22_SH_OBJ;
     145  if (!strcasecmp (string, "E1_SH_OBJ"))     return MAG_OPTION_E1_SH_OBJ;
     146  if (!strcasecmp (string, "E2_SH_OBJ"))     return MAG_OPTION_E2_SH_OBJ;
     147  if (!strcasecmp (string, "X11_SM_PSF"))    return MAG_OPTION_X11_SM_PSF;
     148  if (!strcasecmp (string, "X12_SM_PSF"))    return MAG_OPTION_X12_SM_PSF;
     149  if (!strcasecmp (string, "X22_SM_PSF"))    return MAG_OPTION_X22_SM_PSF;
     150  if (!strcasecmp (string, "E1_SM_PSF"))     return MAG_OPTION_E1_SM_PSF;
     151  if (!strcasecmp (string, "E2_SM_PSF"))     return MAG_OPTION_E2_SM_PSF;
     152  if (!strcasecmp (string, "X11_SH_PSF"))    return MAG_OPTION_X11_SH_PSF;
     153  if (!strcasecmp (string, "X12_SH_PSF"))    return MAG_OPTION_X12_SH_PSF;
     154  if (!strcasecmp (string, "X22_SH_PSF"))    return MAG_OPTION_X22_SH_PSF;
     155  if (!strcasecmp (string, "E1_SH_PSF"))     return MAG_OPTION_E1_SH_PSF;
     156  if (!strcasecmp (string, "E2_SH_PSF"))     return MAG_OPTION_E2_SH_PSF;
     157  // if (!strcasecmp (string, "F_AP_R5"))       return MAG_OPTION_F_AP_R5;
     158  // if (!strcasecmp (string, "F_ERR_AP_R5"))   return MAG_OPTION_F_ERR_AP_R5;
     159  // if (!strcasecmp (string, "F_STDEV_AP_R5")) return MAG_OPTION_F_STDEV_AP_R5;
     160  // if (!strcasecmp (string, "F_FILL_AP_R5"))  return MAG_OPTION_F_FILL_AP_R5;
     161  // if (!strcasecmp (string, "F_AP_R6"))       return MAG_OPTION_F_AP_R6;
     162  // if (!strcasecmp (string, "F_ERR_AP_R6"))   return MAG_OPTION_F_ERR_AP_R6;
     163  // if (!strcasecmp (string, "F_STDEV_AP_R6")) return MAG_OPTION_F_STDEV_AP_R6;
     164  // if (!strcasecmp (string, "F_FILL_AP_R6"))  return MAG_OPTION_F_FILL_AP_R6;
    81165
    82166  return MAG_OPTION_NONE;
    83167}
    84 
    85 # if (0)
    86 int GetMagMode (char *string) {
    87 
    88   // these all imply PSF mags:
    89   if (!strcasecmp (string, "inst"))        return (MAG_INST);
    90   if (!strcasecmp (string, "cat"))         return (MAG_CAT);
    91   if (!strcasecmp (string, "sys"))         return (MAG_SYS);
    92   if (!strcasecmp (string, "rel"))         return (MAG_REL);
    93   if (!strcasecmp (string, "cal"))         return (MAG_CAL);
    94   if (!strcasecmp (string, "ave"))         return (MAG_AVE);
    95   if (!strcasecmp (string, "ref"))         return (MAG_REF);
    96   if (!strcasecmp (string, "err"))         return (MAG_ERR);
    97   if (!strcasecmp (string, "aveerr"))      return (MAG_AVE_ERR);
    98 
    99   // these are explicit PSF mags:
    100   if (!strcasecmp (string, "psf_inst"))    return (MAG_INST);
    101   if (!strcasecmp (string, "psf_cat"))     return (MAG_CAT);
    102   if (!strcasecmp (string, "psf_sys"))     return (MAG_SYS);
    103   if (!strcasecmp (string, "psf_rel"))     return (MAG_REL);
    104   if (!strcasecmp (string, "psf_cal"))     return (MAG_CAL);
    105   if (!strcasecmp (string, "psf_ave"))     return (MAG_AVE);
    106   if (!strcasecmp (string, "psf_ref"))     return (MAG_REF);
    107   if (!strcasecmp (string, "psf_err"))     return (MAG_ERR);
    108   if (!strcasecmp (string, "psf_aveerr"))  return (MAG_AVE_ERR);
    109 
    110   // these are aper mags:
    111   if (!strcasecmp (string, "ap"))          return (MAG_APER);
    112   if (!strcasecmp (string, "aper"))        return (MAG_APER);
    113   if (!strcasecmp (string, "aperinst"))    return (MAG_APER_INST);
    114   if (!strcasecmp (string, "aper_inst"))   return (MAG_APER_INST);
    115   if (!strcasecmp (string, "aper_cat"))    return (MAG_APER_CAT);
    116   if (!strcasecmp (string, "aper_sys"))    return (MAG_APER_SYS);
    117   if (!strcasecmp (string, "aper_rel"))    return (MAG_APER_REL);
    118   if (!strcasecmp (string, "aper_cal"))    return (MAG_APER_CAL);
    119   if (!strcasecmp (string, "aper_ave"))    return (MAG_APER_AVE);
    120   if (!strcasecmp (string, "aper_ref"))    return (MAG_APER_REF);
    121   if (!strcasecmp (string, "aper_err"))    return (MAG_APER_ERR);
    122 
    123   // these are kron mags:
    124   if (!strcasecmp (string, "kron"))        return (MAG_KRON);
    125   if (!strcasecmp (string, "kron_inst"))   return (MAG_KRON_INST);
    126   if (!strcasecmp (string, "kron_cat"))    return (MAG_KRON_CAT);
    127   if (!strcasecmp (string, "kron_sys"))    return (MAG_KRON_SYS);
    128   if (!strcasecmp (string, "kron_rel"))    return (MAG_KRON_REL);
    129   if (!strcasecmp (string, "kron_cal"))    return (MAG_KRON_CAL);
    130   if (!strcasecmp (string, "kron_ave"))    return (MAG_KRON_AVE);
    131   if (!strcasecmp (string, "kron_ref"))    return (MAG_KRON_REF);
    132   if (!strcasecmp (string, "kron_err"))    return (MAG_KRON_ERR);
    133   if (!strcasecmp (string, "kroninst"))    return (MAG_KRON_INST);
    134   if (!strcasecmp (string, "kronerr"))     return (MAG_KRON_ERR);
    135 
    136   // other fields:
    137   if (!strcasecmp (string, "photflags"))   return (MAG_PHOT_FLAGS);
    138   if (!strcasecmp (string, "flags"))       return (MAG_PHOT_FLAGS);
    139   if (!strcasecmp (string, "chisq"))       return (MAG_CHISQ);
    140   if (!strcasecmp (string, "ncode"))       return (MAG_NCODE);
    141   if (!strcasecmp (string, "nphot"))       return (MAG_NPHOT);
    142   if (!strcasecmp (string, "stdev"))       return (MAG_STDEV);
    143   if (!strcasecmp (string, "min"))         return (MAG_MIN);
    144   if (!strcasecmp (string, "max"))         return (MAG_MAX);
    145   if (!strcasecmp (string, "ucdist"))      return (MAG_UC_DIST);
    146   if (!strcasecmp (string, "fluxpsf"))     return (MAG_FLUX_PSF);
    147   if (!strcasecmp (string, "fluxpsferr"))  return (MAG_FLUX_PSF_ERR);
    148   if (!strcasecmp (string, "fluxkron"))    return (MAG_FLUX_KRON);
    149   if (!strcasecmp (string, "fluxkronerr")) return (MAG_FLUX_KRON_ERR);
    150   return (MAG_NONE);
    151 }
    152 # endif
    153168
    154169// field may be of the form mag:psf:inst:wrp.  except for the first subword,
     
    285300    fprintf (stderr, "ERROR: unknown mag/photocode argument %s\n", word);
    286301    free (word);
     302    return FALSE;
    287303  }
    288304
     
    441457  if (!strcasecmp (fieldName, "FLAT"))           ESCAPE (MEAS_FLAT,           OPIHI_FLT);
    442458  if (!strcasecmp (fieldName, "CENTER_OFFSET"))  ESCAPE (MEAS_CENTER_OFFSET,  OPIHI_FLT);
    443   // if (!strcasecmp (fieldName, "FLUX"))                ESCAPE (MEAS_FLUX_PSF,       OPIHI_FLT);
     459
     460  // individual lensing measurements are not grouped by photcode:
     461  if (!strcasecmp (fieldName, "X11_SM_OBJ"))     ESCAPE (MEAS_X11_SM_OBJ,  OPIHI_FLT);
     462  if (!strcasecmp (fieldName, "X12_SM_OBJ"))     ESCAPE (MEAS_X12_SM_OBJ,  OPIHI_FLT);
     463  if (!strcasecmp (fieldName, "X22_SM_OBJ"))     ESCAPE (MEAS_X22_SM_OBJ,  OPIHI_FLT);
     464  if (!strcasecmp (fieldName, "E1_SM_OBJ"))      ESCAPE (MEAS_E1_SM_OBJ,  OPIHI_FLT);
     465  if (!strcasecmp (fieldName, "E2_SM_OBJ"))      ESCAPE (MEAS_E2_SM_OBJ,  OPIHI_FLT);
     466  if (!strcasecmp (fieldName, "X11_SH_OBJ"))     ESCAPE (MEAS_X11_SH_OBJ,  OPIHI_FLT);
     467  if (!strcasecmp (fieldName, "X12_SH_OBJ"))     ESCAPE (MEAS_X12_SH_OBJ,  OPIHI_FLT);
     468  if (!strcasecmp (fieldName, "X22_SH_OBJ"))     ESCAPE (MEAS_X22_SH_OBJ,  OPIHI_FLT);
     469  if (!strcasecmp (fieldName, "E1_SH_OBJ"))      ESCAPE (MEAS_E1_SH_OBJ,  OPIHI_FLT);
     470  if (!strcasecmp (fieldName, "E2_SH_OBJ"))      ESCAPE (MEAS_E2_SH_OBJ,  OPIHI_FLT);
     471  if (!strcasecmp (fieldName, "X11_SM_PSF"))     ESCAPE (MEAS_X11_SM_PSF,  OPIHI_FLT);
     472  if (!strcasecmp (fieldName, "X12_SM_PSF"))     ESCAPE (MEAS_X12_SM_PSF,  OPIHI_FLT);
     473  if (!strcasecmp (fieldName, "X22_SM_PSF"))     ESCAPE (MEAS_X22_SM_PSF,  OPIHI_FLT);
     474  if (!strcasecmp (fieldName, "E1_SM_PSF"))      ESCAPE (MEAS_E1_SM_PSF,  OPIHI_FLT);
     475  if (!strcasecmp (fieldName, "E2_SM_PSF"))      ESCAPE (MEAS_E2_SM_PSF,  OPIHI_FLT);
     476  if (!strcasecmp (fieldName, "X11_SH_PSF"))     ESCAPE (MEAS_X11_SH_PSF,  OPIHI_FLT);
     477  if (!strcasecmp (fieldName, "X12_SH_PSF"))     ESCAPE (MEAS_X12_SH_PSF,  OPIHI_FLT);
     478  if (!strcasecmp (fieldName, "X22_SH_PSF"))     ESCAPE (MEAS_X22_SH_PSF,  OPIHI_FLT);
     479  if (!strcasecmp (fieldName, "E1_SH_PSF"))      ESCAPE (MEAS_E1_SH_PSF,  OPIHI_FLT);
     480  if (!strcasecmp (fieldName, "E2_SH_PSF"))      ESCAPE (MEAS_E2_SH_PSF,  OPIHI_FLT);
     481
     482  // if (!strcasecmp (fieldName, "FLUX"))           ESCAPE (MEAS_FLUX_PSF,       OPIHI_FLT);
    444483  // if (!strcasecmp (fieldName, "FLUX_ERR"))       ESCAPE (MEAS_FLUX_PSF_ERR,   OPIHI_FLT);
    445484  // if (!strcasecmp (fieldName, "FLUX_PSF"))       ESCAPE (MEAS_FLUX_PSF,       OPIHI_FLT);
     
    524563  if (!strcasecmp (fieldName, "REF_COLOR"))   ESCAPE (AVE_REF_COLOR,   OPIHI_FLT);
    525564
     565  if (!strcasecmp (fieldName, "E_BV"))             ESCAPE (AVE_E_BV          ,   OPIHI_FLT);
     566  if (!strcasecmp (fieldName, "E_BV_ERR"))         ESCAPE (AVE_E_BV_ERR      ,   OPIHI_FLT);
     567  if (!strcasecmp (fieldName, "DISTANCE_MOD"))     ESCAPE (AVE_DISTANCE_MOD  ,   OPIHI_FLT);
     568  if (!strcasecmp (fieldName, "DISTANCE_MOD_ERR")) ESCAPE (AVE_DISTANCE_MOD_ERR, OPIHI_FLT);
     569  if (!strcasecmp (fieldName, "M_R"))              ESCAPE (AVE_M_R           ,   OPIHI_FLT);
     570  if (!strcasecmp (fieldName, "M_R_ERR"))          ESCAPE (AVE_M_R_ERR       ,   OPIHI_FLT);
     571  if (!strcasecmp (fieldName, "FEH"))              ESCAPE (AVE_FEH           ,   OPIHI_FLT);
     572  if (!strcasecmp (fieldName, "FEH_ERR"))          ESCAPE (AVE_FEH_ERR       ,   OPIHI_FLT);
     573  if (!strcasecmp (fieldName, "URA_GALMODEL"))     ESCAPE (AVE_URA_GALMODEL  ,   OPIHI_FLT);
     574  if (!strcasecmp (fieldName, "UDEC_GALMODEL"))    ESCAPE (AVE_UDEC_GALMODEL ,   OPIHI_FLT);
     575
     576
    526577  // check for code:mode in photcode name
    527578  if (!ParsePhotcodeField (field, fieldName, AVE_PHOT)) {
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_convert.c

    r37390 r37435  
    638638// CONVERT_FORMAT ("DVO_STARPAR_PS1_V4",          PS1_V4,          PS1_V4);
    639639  CONVERT_FORMAT ("DVO_STARPAR_PS1_V5",          PS1_V5,          PS1_V5);
     640//  CONVERT_FORMAT ("DVO_STELLAR_PARAMS_PS1_V5",          PS1_V5,          PS1_V5);
     641  // XXX fix in libauto: STELLAR_PARAMS to STARPAR
    640642# undef CONVERT_FORMAT
    641643
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r37116 r37435  
    17881788  m2 = (Ns2 == -1) ? average[0].M : secfilt[Ns2].M;
    17891789*/
     1790
     1791/*** lensing *********************************************************************************/
     1792
     1793# define LENSFIELD(NAME) \
     1794  float LensValue_##NAME (PhotCode *code, Lensobj *lensobj) { \
     1795  if (code == NULL) return NAN; \
     1796  int Ns = photcodes->hashNsec[code->code]; \
     1797  float value = (Ns == -1) ? NAN : lensobj[Ns].NAME; \
     1798  return (value); \
     1799}
     1800
     1801LENSFIELD(X11_sm_obj);
     1802LENSFIELD(X12_sm_obj);
     1803LENSFIELD(X22_sm_obj);
     1804LENSFIELD(E1_sm_obj);
     1805LENSFIELD(E2_sm_obj);
     1806
     1807LENSFIELD(X11_sh_obj);
     1808LENSFIELD(X12_sh_obj);
     1809LENSFIELD(X22_sh_obj);
     1810LENSFIELD(E1_sh_obj);
     1811LENSFIELD(E2_sh_obj);
     1812
     1813LENSFIELD(X11_sm_psf);
     1814LENSFIELD(X12_sm_psf);
     1815LENSFIELD(X22_sm_psf);
     1816LENSFIELD(E1_sm_psf);
     1817LENSFIELD(E2_sm_psf);
     1818
     1819LENSFIELD(X11_sh_psf);
     1820LENSFIELD(X12_sh_psf);
     1821LENSFIELD(X22_sh_psf);
     1822LENSFIELD(E1_sh_psf);
     1823LENSFIELD(E2_sh_psf);
  • branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/avextract.c

    r37049 r37435  
    55  off_t i, j, n, m;
    66  int N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack;
    7   int Nsecfilt, VERBOSE, needMeasures;
     7  int Nsecfilt, VERBOSE;
    88  char **cstack, name[1024];
    99  void *Signal;
     
    137137  // this does all the work of re-packaging the command, calling it on the remote machines, then loading in the results
    138138  if (PARALLEL && !HOST_ID) {
    139       int status = HostTableParallelOps (skylist, argc, argv, RESULT_FILE, TRUE, 0, VERBOSE);
     139    int status = HostTableParallelOps (skylist, argc, argv, RESULT_FILE, TRUE, 0, VERBOSE);
    140140
    141141    dbFreeFields (fields, Nfields);
     
    163163  }
    164164
    165   // check the requested fields : are all average/secfilt entries, or do we need measures?
    166   needMeasures = FALSE;
    167   for (i = 0; !needMeasures && (i < Nfields); i++) {
    168     if (fields[i].photcode == NULL) continue; // non-measure fields do not have a photcode
    169     if (fields[i].photcode[0].type == PHOT_REF) needMeasures = TRUE;
    170     if (fields[i].photcode[0].type == PHOT_DEP) needMeasures = TRUE;
    171   }
     165  // check the requested fields
     166  int needMeasure = dbFieldNeedMeasure (fields, Nfields);
     167  int needLensobj = dbFieldNeedLensobj (fields, Nfields);
     168  int needStarpar = dbFieldNeedStarpar (fields, Nfields);
    172169
    173170  // grab data from all selected sky regions
     
    189186    catalog.filename = (HOST_ID || PARALLEL_LOCAL) ? hostfile : skylist[0].filename[i];
    190187    catalog.catflags = LOAD_AVES | LOAD_SECF;
    191     catalog.catflags |= needMeasures ? LOAD_MEAS : SKIP_MEAS;
     188    catalog.catflags |= needMeasure ? LOAD_MEAS : SKIP_MEAS;
     189    catalog.catflags |= needLensobj ? LOAD_LENSOBJ : SKIP_LENSOBJ;
     190    catalog.catflags |= needStarpar ? LOAD_STARPAR : SKIP_STARPAR;
    192191    catalog.Nsecfilt = 0;
    193192
     
    205204      // XXX for measure values, this could be optimized for one loop over measures...
    206205
    207       m = catalog.average[j].measureOffset;
    208 
    209206      dbExtractAveragesInitAve ();  // reset counters for saved fields (costs very little)
    210207
     208      Average *average = &catalog.average[j];
     209
     210      m = average->measureOffset;
     211      Measure *measure = needMeasure ? &catalog.measure[m] : NULL;
     212
     213      m = average->lensobjOffset;
     214      Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL;
     215
     216      m = average->starparOffset;
     217      StarPar *starpar = needStarpar ? &catalog.starpar[m] : NULL;
     218
     219      m = j*Nsecfilt;
     220      SecFilt *secfilt = &catalog.secfilt[j*Nsecfilt];
     221
    211222      for (n = 0; n < Nfields; n++) {
    212         values[n] = dbExtractAverages (&catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &fields[n]);
     223        values[n] = dbExtractAverages (average, secfilt, measure, lensobj, starpar, &fields[n]);
    213224      }
    214225
  • branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/avmatch.c

    r37049 r37435  
    149149  }
    150150
    151   // check the requested fields : are all average/secfilt entries, or do we need measures?
    152   int needMeasures = FALSE;
    153   for (i = 0; !needMeasures && (i < Nfields); i++) {
    154     if (fields[i].photcode == NULL) continue; // assert this?
    155     if (fields[i].photcode[0].type == PHOT_REF) needMeasures = TRUE;
    156     if (fields[i].photcode[0].type == PHOT_DEP) needMeasures = TRUE;
    157   }
     151  // check the requested fields
     152  int needMeasure = dbFieldNeedMeasure (fields, Nfields);
     153  int needLensobj = dbFieldNeedLensobj (fields, Nfields);
     154  int needStarpar = dbFieldNeedStarpar (fields, Nfields);
    158155
    159156  /* create output storage vectors */
     
    194191    catalog.filename = HOST_ID ? hostfile : skylist[0].filename[i];
    195192    catalog.catflags = LOAD_AVES | LOAD_SECF;
    196     catalog.catflags |= needMeasures ? LOAD_MEAS : SKIP_MEAS;
     193    catalog.catflags |= needMeasure ? LOAD_MEAS    : SKIP_MEAS;
     194    catalog.catflags |= needLensobj ? LOAD_LENSOBJ : SKIP_LENSOBJ;
     195    catalog.catflags |= needStarpar ? LOAD_STARPAR : SKIP_STARPAR;
    197196    catalog.Nsecfilt = 0;
    198197
     
    219218      if (Ncat == -2) continue; // no matches to this point
    220219
    221       m = catalog.average[Ncat].measureOffset;
     220      Average *average = &catalog.average[Ncat];
     221
     222      m = average->measureOffset;
     223      Measure *measure = needMeasure ? &catalog.measure[m] : NULL;
     224
     225      m = average->lensobjOffset;
     226      Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL;
     227
     228      m = average->starparOffset;
     229      StarPar *starpar = needStarpar ? &catalog.starpar[m] : NULL;
     230
     231      m = j*Nsecfilt;
     232      SecFilt *secfilt = &catalog.secfilt[j*Nsecfilt];
    222233
    223234      // reset counters for saved fields, extract fields
    224235      dbExtractAveragesInitAve ();
    225236      for (n = 0; n < Nfields; n++) {
    226         values[n] = dbExtractAverages (&catalog.average[Ncat], &catalog.secfilt[Ncat*Nsecfilt], &catalog.measure[m], &fields[n]);
     237        values[n] = dbExtractAverages (average, secfilt, measure, lensobj, starpar, &fields[n]);
    227238      }
    228239
Note: See TracChangeset for help on using the changeset viewer.