IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42102 for trunk


Ignore:
Timestamp:
Feb 28, 2022, 4:59:20 PM (4 years ago)
Author:
eugene
Message:

add methods to query dvo for radial-aperture fields using overloaded names in lensing table

Location:
trunk/Ohana/src/libdvo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/include/dvo.h

    r41640 r42102  
    12371237int InitGalaxyModel (char *version);
    12381238
    1239 # define LENSFIELD(NAME) float LensValue_##NAME (PhotCode *code, Lensobj *lensobj);
     1239# define LENSFIELD(NAME) float LensValue_##NAME (PhotCode *code, Lensobj *lensobj, int Nlensobj);
    12401240
    12411241LENSFIELD(X11_sm_obj)
  • trunk/Ohana/src/libdvo/src/dbExtractAverages.c

    r40571 r42102  
    5050
    5151/* return average.field based on the selection */
     52// secfilt is a pointer to the first of Nsecfilt entries : code below decides which entry based on requested photcode
     53// measure is a pointer to the first of Nmeasure entries
     54// lensobj is a pointer to the first of Nlensobj entries : need to compare photcode to requested code
    5255dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, GalPhot *galphot, dbField *field) {
    5356
     
    428431
    429432          // g:X11_SM_OBJ, etc, are only valid for average
    430         case MAG_OPTION_X11_SM_OBJ: { value.Flt = LensValue_X11_sm_obj (field->photcode, lensobj); break; }
    431         case MAG_OPTION_X12_SM_OBJ: { value.Flt = LensValue_X12_sm_obj (field->photcode, lensobj); break; }
    432         case MAG_OPTION_X22_SM_OBJ: { value.Flt = LensValue_X22_sm_obj (field->photcode, lensobj); break; }
    433         case MAG_OPTION_E1_SM_OBJ:  { value.Flt = LensValue_E1_sm_obj  (field->photcode, lensobj); break; }
    434         case MAG_OPTION_E2_SM_OBJ:  { value.Flt = LensValue_E2_sm_obj  (field->photcode, lensobj); break; }
    435 
    436         case MAG_OPTION_X11_SH_OBJ: { value.Flt = LensValue_X11_sh_obj (field->photcode, lensobj); break; }
    437         case MAG_OPTION_X12_SH_OBJ: { value.Flt = LensValue_X12_sh_obj (field->photcode, lensobj); break; }
    438         case MAG_OPTION_X22_SH_OBJ: { value.Flt = LensValue_X22_sh_obj (field->photcode, lensobj); break; }
    439         case MAG_OPTION_E1_SH_OBJ:  { value.Flt = LensValue_E1_sh_obj  (field->photcode, lensobj); break; }
    440         case MAG_OPTION_E2_SH_OBJ:  { value.Flt = LensValue_E2_sh_obj  (field->photcode, lensobj); break; }
    441 
    442         case MAG_OPTION_X11_SM_PSF: { value.Flt = LensValue_X11_sm_psf (field->photcode, lensobj); break; }
    443         case MAG_OPTION_X12_SM_PSF: { value.Flt = LensValue_X12_sm_psf (field->photcode, lensobj); break; }
    444         case MAG_OPTION_X22_SM_PSF: { value.Flt = LensValue_X22_sm_psf (field->photcode, lensobj); break; }
    445         case MAG_OPTION_E1_SM_PSF:  { value.Flt = LensValue_E1_sm_psf  (field->photcode, lensobj); break; }
    446         case MAG_OPTION_E2_SM_PSF:  { value.Flt = LensValue_E2_sm_psf  (field->photcode, lensobj); break; }
    447 
    448         case MAG_OPTION_X11_SH_PSF: { value.Flt = LensValue_X11_sh_psf (field->photcode, lensobj); break; }
    449         case MAG_OPTION_X12_SH_PSF: { value.Flt = LensValue_X12_sh_psf (field->photcode, lensobj); break; }
    450         case MAG_OPTION_X22_SH_PSF: { value.Flt = LensValue_X22_sh_psf (field->photcode, lensobj); break; }
    451         case MAG_OPTION_E1_SH_PSF:  { value.Flt = LensValue_E1_sh_psf  (field->photcode, lensobj); break; }
    452         case MAG_OPTION_E2_SH_PSF:  { value.Flt = LensValue_E2_sh_psf  (field->photcode, lensobj); break; }
    453 
    454         case MAG_OPTION_F_AP_R5:       { value.Flt = LensValue_F_ApR5  (field->photcode, lensobj); break; }
    455         case MAG_OPTION_F_ERR_AP_R5:   { value.Flt = LensValue_dF_ApR5 (field->photcode, lensobj); break; }
    456         case MAG_OPTION_F_STDEV_AP_R5: { value.Flt = LensValue_sF_ApR5 (field->photcode, lensobj); break; }
    457         case MAG_OPTION_F_FILL_AP_R5:  { value.Flt = LensValue_fF_ApR5 (field->photcode, lensobj); break; }
    458 
    459         case MAG_OPTION_F_AP_R6:       { value.Flt = LensValue_F_ApR6  (field->photcode, lensobj); break; }
    460         case MAG_OPTION_F_ERR_AP_R6:   { value.Flt = LensValue_dF_ApR6 (field->photcode, lensobj); break; }
    461         case MAG_OPTION_F_STDEV_AP_R6: { value.Flt = LensValue_sF_ApR6 (field->photcode, lensobj); break; }
    462         case MAG_OPTION_F_FILL_AP_R6:  { value.Flt = LensValue_fF_ApR6 (field->photcode, lensobj); break; }
    463 
    464         case MAG_OPTION_F_AP_R7:       { value.Flt = LensValue_F_ApR7  (field->photcode, lensobj); break; }
    465         case MAG_OPTION_F_ERR_AP_R7:   { value.Flt = LensValue_dF_ApR7 (field->photcode, lensobj); break; }
    466         case MAG_OPTION_F_STDEV_AP_R7: { value.Flt = LensValue_sF_ApR7 (field->photcode, lensobj); break; }
    467         case MAG_OPTION_F_FILL_AP_R7:  { value.Flt = LensValue_fF_ApR7 (field->photcode, lensobj); break; }
    468 
    469         case MAG_OPTION_E1:            { value.Flt = LensValue_E1      (field->photcode, lensobj); break; }
    470         case MAG_OPTION_E2:            { value.Flt = LensValue_E2      (field->photcode, lensobj); break; }
     433        case MAG_OPTION_X11_SM_OBJ: { value.Flt = LensValue_X11_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     434        case MAG_OPTION_X12_SM_OBJ: { value.Flt = LensValue_X12_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     435        case MAG_OPTION_X22_SM_OBJ: { value.Flt = LensValue_X22_sm_obj (field->photcode, lensobj, average->Nlensobj); break; }
     436        case MAG_OPTION_E1_SM_OBJ:  { value.Flt = LensValue_E1_sm_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     437        case MAG_OPTION_E2_SM_OBJ:  { value.Flt = LensValue_E2_sm_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     438
     439        case MAG_OPTION_X11_SH_OBJ: { value.Flt = LensValue_X11_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     440        case MAG_OPTION_X12_SH_OBJ: { value.Flt = LensValue_X12_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     441        case MAG_OPTION_X22_SH_OBJ: { value.Flt = LensValue_X22_sh_obj (field->photcode, lensobj, average->Nlensobj); break; }
     442        case MAG_OPTION_E1_SH_OBJ:  { value.Flt = LensValue_E1_sh_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     443        case MAG_OPTION_E2_SH_OBJ:  { value.Flt = LensValue_E2_sh_obj  (field->photcode, lensobj, average->Nlensobj); break; }
     444
     445        case MAG_OPTION_X11_SM_PSF: { value.Flt = LensValue_X11_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     446        case MAG_OPTION_X12_SM_PSF: { value.Flt = LensValue_X12_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     447        case MAG_OPTION_X22_SM_PSF: { value.Flt = LensValue_X22_sm_psf (field->photcode, lensobj, average->Nlensobj); break; }
     448        case MAG_OPTION_E1_SM_PSF:  { value.Flt = LensValue_E1_sm_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     449        case MAG_OPTION_E2_SM_PSF:  { value.Flt = LensValue_E2_sm_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     450
     451        case MAG_OPTION_X11_SH_PSF: { value.Flt = LensValue_X11_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     452        case MAG_OPTION_X12_SH_PSF: { value.Flt = LensValue_X12_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     453        case MAG_OPTION_X22_SH_PSF: { value.Flt = LensValue_X22_sh_psf (field->photcode, lensobj, average->Nlensobj); break; }
     454        case MAG_OPTION_E1_SH_PSF:  { value.Flt = LensValue_E1_sh_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     455        case MAG_OPTION_E2_SH_PSF:  { value.Flt = LensValue_E2_sh_psf  (field->photcode, lensobj, average->Nlensobj); break; }
     456
     457        case MAG_OPTION_F_AP_R5:       { value.Flt = LensValue_F_ApR5  (field->photcode, lensobj, average->Nlensobj); break; }
     458        case MAG_OPTION_F_ERR_AP_R5:   { value.Flt = LensValue_dF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     459        case MAG_OPTION_F_STDEV_AP_R5: { value.Flt = LensValue_sF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     460        case MAG_OPTION_F_FILL_AP_R5:  { value.Flt = LensValue_fF_ApR5 (field->photcode, lensobj, average->Nlensobj); break; }
     461                                                                                               
     462        case MAG_OPTION_F_AP_R6:       { value.Flt = LensValue_F_ApR6  (field->photcode, lensobj, average->Nlensobj); break; }
     463        case MAG_OPTION_F_ERR_AP_R6:   { value.Flt = LensValue_dF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     464        case MAG_OPTION_F_STDEV_AP_R6: { value.Flt = LensValue_sF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     465        case MAG_OPTION_F_FILL_AP_R6:  { value.Flt = LensValue_fF_ApR6 (field->photcode, lensobj, average->Nlensobj); break; }
     466
     467        case MAG_OPTION_F_AP_R7:       { value.Flt = LensValue_F_ApR7  (field->photcode, lensobj, average->Nlensobj); break; }
     468        case MAG_OPTION_F_ERR_AP_R7:   { value.Flt = LensValue_dF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     469        case MAG_OPTION_F_STDEV_AP_R7: { value.Flt = LensValue_sF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     470        case MAG_OPTION_F_FILL_AP_R7:  { value.Flt = LensValue_fF_ApR7 (field->photcode, lensobj, average->Nlensobj); break; }
     471
     472        case MAG_OPTION_E1:            { value.Flt = LensValue_E1      (field->photcode, lensobj, average->Nlensobj); break; }
     473        case MAG_OPTION_E2:            { value.Flt = LensValue_E2      (field->photcode, lensobj, average->Nlensobj); break; }
    471474
    472475        case MAG_OPTION_NONE:
  • trunk/Ohana/src/libdvo/src/dbExtractMeasures.c

    r42075 r42102  
    796796    case MEAS_E2_PSF:     { value.Flt = lensing ? lensing->E2_psf     : NAN; break; }
    797797
    798     case MEAS_F_AP_R5:       { value.Flt = lensing ? lensing-> F_ApR5 : NAN; break; }
     798    case MEAS_F_AP_R5:       {
     799      value.Flt = lensing ? lensing-> F_ApR5 : NAN; break;
     800    }
    799801    case MEAS_F_ERR_AP_R5:   { value.Flt = lensing ? lensing->dF_ApR5 : NAN; break; }
    800802    case MEAS_F_STDEV_AP_R5: { value.Flt = lensing ? lensing->sF_ApR5 : NAN; break; }
  • trunk/Ohana/src/libdvo/src/dbFields.c

    r42075 r42102  
    284284  if (!strcasecmp (string, "E1_PSF"))        return MAG_OPTION_E1_PSF;
    285285  if (!strcasecmp (string, "E2_PSF"))        return MAG_OPTION_E2_PSF;
     286
    286287  if (!strcasecmp (string, "F_AP_R5"))       return MAG_OPTION_F_AP_R5;
    287288  if (!strcasecmp (string, "F_ERR_AP_R5"))   return MAG_OPTION_F_ERR_AP_R5;
     
    296297  if (!strcasecmp (string, "F_STDEV_AP_R7")) return MAG_OPTION_F_STDEV_AP_R7;
    297298  if (!strcasecmp (string, "F_FILL_AP_R7"))  return MAG_OPTION_F_FILL_AP_R7;
     299
     300  if (!strcasecmp (string, "F_AP_R5_C0"))       return MAG_OPTION_F_AP_R5;
     301  if (!strcasecmp (string, "F_ERR_AP_R5_C0"))   return MAG_OPTION_F_ERR_AP_R5;
     302  if (!strcasecmp (string, "F_STDEV_AP_R5_C0")) return MAG_OPTION_F_STDEV_AP_R5;
     303  if (!strcasecmp (string, "F_FILL_AP_R5_C0"))  return MAG_OPTION_F_FILL_AP_R5;
     304  if (!strcasecmp (string, "F_AP_R6_C0"))       return MAG_OPTION_F_AP_R6;
     305  if (!strcasecmp (string, "F_ERR_AP_R6_C0"))   return MAG_OPTION_F_ERR_AP_R6;
     306  if (!strcasecmp (string, "F_STDEV_AP_R6_C0")) return MAG_OPTION_F_STDEV_AP_R6;
     307  if (!strcasecmp (string, "F_FILL_AP_R6_C0"))  return MAG_OPTION_F_FILL_AP_R6;
     308  if (!strcasecmp (string, "F_AP_R7_C0"))       return MAG_OPTION_F_AP_R7;
     309  if (!strcasecmp (string, "F_ERR_AP_R7_C0"))   return MAG_OPTION_F_ERR_AP_R7;
     310  if (!strcasecmp (string, "F_STDEV_AP_R7_C0")) return MAG_OPTION_F_STDEV_AP_R7;
     311  if (!strcasecmp (string, "F_FILL_AP_R7_C0"))  return MAG_OPTION_F_FILL_AP_R7;
     312
     313  if (!strcasecmp (string, "F_AP_R5_C1"))       return MAG_OPTION_X11_SM_OBJ;
     314  if (!strcasecmp (string, "F_ERR_AP_R5_C1"))   return MAG_OPTION_E1_SM_OBJ;
     315  if (!strcasecmp (string, "F_AP_R6_C1"))       return MAG_OPTION_X22_SM_OBJ;
     316  if (!strcasecmp (string, "F_ERR_AP_R6_C1"))   return MAG_OPTION_E2_SM_OBJ;
     317  if (!strcasecmp (string, "F_AP_R7_C1"))       return MAG_OPTION_X11_SH_OBJ;
     318  if (!strcasecmp (string, "F_ERR_AP_R7_C1"))   return MAG_OPTION_E2_SH_OBJ;
     319
     320  if (!strcasecmp (string, "F_AP_R5_C2"))       return MAG_OPTION_X11_SM_PSF;
     321  if (!strcasecmp (string, "F_ERR_AP_R5_C2"))   return MAG_OPTION_E1_SM_PSF;
     322  if (!strcasecmp (string, "F_AP_R6_C2"))       return MAG_OPTION_X22_SM_PSF;
     323  if (!strcasecmp (string, "F_ERR_AP_R6_C2"))   return MAG_OPTION_E2_SM_PSF;
     324  if (!strcasecmp (string, "F_AP_R7_C2"))       return MAG_OPTION_X11_SH_PSF;
     325  if (!strcasecmp (string, "F_ERR_AP_R7_C2"))   return MAG_OPTION_E2_SH_PSF;
     326
    298327  if (!strcasecmp (string, "E1"))            return MAG_OPTION_E1;
    299328  if (!strcasecmp (string, "E2"))            return MAG_OPTION_E2;
     
    662691  if (!strcasecmp (fieldName, "F_FILL_AP_R7"))   ESCAPE (MEAS_F_FILL_AP_R7,  OPIHI_FLT);
    663692
     693  if (!strcasecmp (fieldName, "F_AP_R5_C0"))        ESCAPE (MEAS_F_AP_R5,       OPIHI_FLT);
     694  if (!strcasecmp (fieldName, "F_ERR_AP_R5_C0"))    ESCAPE (MEAS_F_ERR_AP_R5,   OPIHI_FLT);
     695  if (!strcasecmp (fieldName, "F_STDEV_AP_R5_C0"))  ESCAPE (MEAS_F_STDEV_AP_R5, OPIHI_FLT);
     696  if (!strcasecmp (fieldName, "F_FILL_AP_R5_C0"))   ESCAPE (MEAS_F_FILL_AP_R5,  OPIHI_FLT);
     697  if (!strcasecmp (fieldName, "F_AP_R6_C0"))        ESCAPE (MEAS_F_AP_R6,       OPIHI_FLT);
     698  if (!strcasecmp (fieldName, "F_ERR_AP_R6_C0"))    ESCAPE (MEAS_F_ERR_AP_R6,   OPIHI_FLT);
     699  if (!strcasecmp (fieldName, "F_STDEV_AP_R6_C0"))  ESCAPE (MEAS_F_STDEV_AP_R6, OPIHI_FLT);
     700  if (!strcasecmp (fieldName, "F_FILL_AP_R6_C0"))   ESCAPE (MEAS_F_FILL_AP_R6,  OPIHI_FLT);
     701  if (!strcasecmp (fieldName, "F_AP_R7_C0"))        ESCAPE (MEAS_F_AP_R7,       OPIHI_FLT);
     702  if (!strcasecmp (fieldName, "F_ERR_AP_R7_C0"))    ESCAPE (MEAS_F_ERR_AP_R7,   OPIHI_FLT);
     703  if (!strcasecmp (fieldName, "F_STDEV_AP_R7_C0"))  ESCAPE (MEAS_F_STDEV_AP_R7, OPIHI_FLT);
     704  if (!strcasecmp (fieldName, "F_FILL_AP_R7_C0"))   ESCAPE (MEAS_F_FILL_AP_R7,  OPIHI_FLT);
     705
     706  // these names are overloaded (used for e.g., UNIONS DR3)
     707  if (!strcasecmp (fieldName, "F_AP_R5_C1"))        ESCAPE (MEAS_X11_SM_OBJ,      OPIHI_FLT);
     708  if (!strcasecmp (fieldName, "F_ERR_AP_R5_C1"))    ESCAPE (MEAS_E1_SM_OBJ,       OPIHI_FLT);
     709  if (!strcasecmp (fieldName, "F_AP_R6_C1"))        ESCAPE (MEAS_X22_SM_OBJ,      OPIHI_FLT);
     710  if (!strcasecmp (fieldName, "F_ERR_AP_R6_C1"))    ESCAPE (MEAS_E2_SM_OBJ,       OPIHI_FLT);
     711  if (!strcasecmp (fieldName, "F_AP_R7_C1"))        ESCAPE (MEAS_X11_SH_OBJ,      OPIHI_FLT);
     712  if (!strcasecmp (fieldName, "F_ERR_AP_R7_C1"))    ESCAPE (MEAS_E2_SH_OBJ,       OPIHI_FLT);
     713
     714  // these names are overloaded (used for e.g., UNIONS DR3)
     715  if (!strcasecmp (fieldName, "F_AP_R5_C2"))        ESCAPE (MEAS_X11_SM_PSF,      OPIHI_FLT);
     716  if (!strcasecmp (fieldName, "F_ERR_AP_R5_C2"))    ESCAPE (MEAS_E1_SM_PSF,       OPIHI_FLT);
     717  if (!strcasecmp (fieldName, "F_AP_R6_C2"))        ESCAPE (MEAS_X22_SM_PSF,      OPIHI_FLT);
     718  if (!strcasecmp (fieldName, "F_ERR_AP_R6_C2"))    ESCAPE (MEAS_E2_SM_PSF,       OPIHI_FLT);
     719  if (!strcasecmp (fieldName, "F_AP_R7_C2"))        ESCAPE (MEAS_X11_SH_PSF,      OPIHI_FLT);
     720  if (!strcasecmp (fieldName, "F_ERR_AP_R7_C2"))    ESCAPE (MEAS_E2_SH_PSF,       OPIHI_FLT);
     721
    664722  if (!strcasecmp (fieldName, "E_BV"))             ESCAPE (MEAS_E_BV          ,   OPIHI_FLT);
    665723  if (!strcasecmp (fieldName, "E_BV_ERR"))         ESCAPE (MEAS_E_BV_ERR      ,   OPIHI_FLT);
  • trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r40463 r42102  
    20862086// >> will either have 0 or Nsecfilt lensobj entries
    20872087
    2088 # define LENSFIELD(NAME) \
    2089   float LensValue_##NAME (PhotCode *code, Lensobj *lensobj) {   \
    2090     if (lensobj == NULL) return NAN;                            \
    2091     if (code == NULL) return NAN;                               \
    2092     int Ns = photcodes->hashNsec[code->code];                   \
    2093     float value = (Ns == -1) ? NAN : lensobj[Ns].NAME;          \
    2094     return (value);                                             \
     2088# define LENSFIELD(NAME)                                                \
     2089  float LensValue_##NAME (PhotCode *code, Lensobj *lensobj, int Nlensobj) { \
     2090    if (lensobj == NULL) return NAN;                                    \
     2091    if (code == NULL) return NAN;                                       \
     2092    if (Nlensobj < 1) return NAN;                                       \
     2093    for (int i = 0; i < Nlensobj; i++) {                                \
     2094      if (lensobj[i].photcode == code->code) return (lensobj[i].NAME);  \
     2095    }                                                                   \
     2096    return (NAN);                                                       \
    20952097  }
    20962098
Note: See TracChangeset for help on using the changeset viewer.