IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37563


Ignore:
Timestamp:
Nov 6, 2014, 8:18:01 PM (12 years ago)
Author:
eugene
Message:

adding starpar parameters for measures

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

Legend:

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

    r37435 r37563  
    217217      MEAS_E1_SH_PSF,
    218218      MEAS_E2_SH_PSF,
     219      MEAS_E_BV,                      // extinction (mags)
     220      MEAS_E_BV_ERR,
     221      MEAS_DISTANCE_MOD, // distance modulus (mags)
     222      MEAS_DISTANCE_MOD_ERR,
     223      MEAS_M_R,               // absolute mag in r-band
     224      MEAS_M_R_ERR,
     225      MEAS_FEH,               // metallicity
     226      MEAS_FEH_ERR,
     227      MEAS_URA_GALMODEL,      // model pm prediction
     228      MEAS_UDEC_GALMODEL,     // model pm prediction
     229      MEAS_RA_GALMODEL,      // model pm prediction
     230      MEAS_DEC_GALMODEL,     // model pm prediction
    219231};
    220232
     
    266278      AVE_URA_GALMODEL,      // model pm prediction
    267279      AVE_UDEC_GALMODEL,     // model pm prediction
     280      AVE_RA_GALMODEL,      // model pm prediction
     281      AVE_DEC_GALMODEL,     // model pm prediction
    268282};
    269283
     
    433447
    434448dbValue      dbExtractAverages      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensobj *lensobj, StarPar *starpar, dbField *field));
    435 dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Measure *measure, dbField *field));
     449dbValue      dbExtractMeasures      PROTO((Average *average, SecFilt *secfilt, Measure *measure, Lensing *lensing, StarPar *starpar, dbField *field));
    436450dbValue      dbExtractImages        PROTO((Image *image, off_t Nimage, off_t N, dbField *field));
    437451
     
    443457int dbFieldNeedMeasure (dbField *fields, int Nfields);
    444458int dbFieldNeedLensobj (dbField *fields, int Nfields);
    445 int dbFieldNeedStarpar (dbField *fields, int Nfields);
     459int dbFieldNeedLensing (dbField *fields, int Nfields);
     460int dbFieldNeedStarpar (dbField *fields, int Nfields, int isAverage);
    446461
    447462void FreeImageSelection (void);
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/include/libdvo_astro.h

    r37445 r37563  
    166166
    167167/* in AstromOffsetMapUtils.c */
     168AstromOffsetMap *AstromOffsetMapInit (int Nx, int Ny);
     169void AstromOffsetMapFree (AstromOffsetMap *map);
     170
    168171int AstromOffsetTableNewMap (AstromOffsetTable *table, int order, Image *image);
    169172int AstromOffsetTableMatchChips (Image *images, off_t Nimages, AstromOffsetTable *table);
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/AstromOffsetMapUtils.c

    r37447 r37563  
    2424}
    2525
     26AstromOffsetMap *AstromOffsetMapInit (int Nx, int Ny) {
     27
     28  AstromOffsetMap *map = NULL;
     29  ALLOCATE (map, AstromOffsetMap, 1);
     30
     31  map->dX = NAN;
     32  map->dY = NAN;
     33  map->Nx = Nx; // output map size
     34  map->Ny = Ny; // output map size
     35 
     36  ALLOCATE (map->dXv, float *, map->Nx);
     37  ALLOCATE (map->dYv, float *, map->Nx);
     38
     39  int j, k;
     40  for (j = 0; j < map->Nx; j++) {
     41    ALLOCATE (map->dXv[j], float, map->Ny);
     42    ALLOCATE (map->dYv[j], float, map->Ny);
     43
     44    for (k = 0; k < map->Ny; k++) {
     45      map->dXv[j][k] = 0.0;
     46      map->dYv[j][k] = 0.0;
     47    }
     48  }
     49
     50  return map;
     51}
     52
     53void AstromOffsetMapFree (AstromOffsetMap *map) {
     54
     55  if (!map) return;
     56
     57  int j;
     58  for (j = 0; j < map->Nx; j++) {
     59    if (map->dXv) free (map->dXv[j]);
     60    if (map->dYv) free (map->dYv[j]);
     61  }
     62
     63  free (map->dXv);
     64  free (map->dYv);
     65
     66  free (map);
     67
     68  return;
     69}
     70
    2671int AstromOffsetTableNewMap (AstromOffsetTable *table, int order, Image *image) {
    2772
     
    4691  table->IDtoSeq[image->imageID] = Nmap;
    4792 
    48   ALLOCATE (table->map[Nmap], AstromOffsetMap, 1);
    49   table->map[Nmap][0].Nx      = Nx;
    50   table->map[Nmap][0].Ny      = Ny;
     93  table->map[Nmap] = AstromOffsetMapInit (Nx, Ny);
    5194
    5295  table->MaxTableID ++;
     
    57100  table->map[Nmap][0].dY = Ny / (float) image->NY;
    58101
    59   ALLOCATE (table->map[Nmap][0].dXv, float *, Nx);
    60   ALLOCATE (table->map[Nmap][0].dYv, float *, Nx);
    61 
    62   int j, k;
    63   for (j = 0; j < Nx; j++) {
    64     ALLOCATE (table->map[Nmap][0].dXv[j], float, Ny);
    65     ALLOCATE (table->map[Nmap][0].dYv[j], float, Ny);
    66 
    67     for (k = 0; k < Ny; k++) {
    68       table->map[Nmap][0].dXv[j][k] = 0.0;
    69       table->map[Nmap][0].dYv[j][k] = 0.0;
    70     }
    71   }
    72102  image[0].coords.offsetMap = table->map[Nmap];
    73103  return TRUE;   
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbExtractAverages.c

    r37435 r37563  
    356356    case AVE_URA_GALMODEL:     { value.Flt = starpar->uRA;      break; }
    357357    case AVE_UDEC_GALMODEL:    { value.Flt = starpar->uDEC;     break; }
     358    case AVE_RA_GALMODEL:      { value.Flt = starpar->R;        break; }
     359    case AVE_DEC_GALMODEL:     { value.Flt = starpar->D;        break; }
    358360
    359361    case AVE_TYPE:
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbExtractMeasures.c

    r37435 r37563  
    8585
    8686/* return measure.field based on the selection */
    87 dbValue dbExtractMeasures (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) {
     87dbValue dbExtractMeasures (Average *average, SecFilt *secfilt, Measure *measure, Lensing *lensing, StarPar *starpar, dbField *field) {
    8888
    8989  int Nsec;
     
    695695      break;
    696696
    697     case MEAS_MCAL_OFFSET: /* OK */
    698       value.Flt = measure[0].Mcal;
    699       break;
     697    case MEAS_MCAL_OFFSET: { value.Flt = measure[0].Mcal; break; }
    700698
    701699    case MEAS_FLAT: /* OK */
     
    732730      }
    733731      break;
     732
     733    case MEAS_E_BV:             { value.Flt = starpar->Ebv;      break; }
     734    case MEAS_E_BV_ERR:         { value.Flt = starpar->dEbv;     break; }
     735    case MEAS_DISTANCE_MOD:     { value.Flt = starpar->DistMag;  break; }
     736    case MEAS_DISTANCE_MOD_ERR: { value.Flt = starpar->dDistMag; break; }
     737    case MEAS_M_R:              { value.Flt = starpar->M_r;      break; }
     738    case MEAS_M_R_ERR:          { value.Flt = starpar->dM_r;     break; }
     739    case MEAS_FEH:              { value.Flt = starpar->FeH;      break; }
     740    case MEAS_FEH_ERR:          { value.Flt = starpar->dFeH;     break; }
     741    case MEAS_URA_GALMODEL:     { value.Flt = starpar->uRA;      break; }
     742    case MEAS_UDEC_GALMODEL:    { value.Flt = starpar->uDEC;     break; }
     743    case MEAS_RA_GALMODEL:      { value.Flt = starpar->R;        break; }
     744    case MEAS_DEC_GALMODEL:     { value.Flt = starpar->D;        break; }
    734745
    735746    // case MEAS_FLUX_PSF: /* OK */
  • branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/dbFields.c

    r37435 r37563  
    3434    if (fields[i].photcode[0].type == PHOT_REF) return TRUE;
    3535    if (fields[i].photcode[0].type == PHOT_DEP) return TRUE;
     36  }
     37  return FALSE;
     38}
     39
     40int dbFieldNeedLensing (dbField *fields, int Nfields) {
     41  int i;
     42  for (i = 0; i < Nfields; i++) {
     43    if (fields[i].ID == MEAS_X11_SM_OBJ) return TRUE;
     44    if (fields[i].ID == MEAS_X12_SM_OBJ) return TRUE;
     45    if (fields[i].ID == MEAS_X22_SM_OBJ) return TRUE;
     46    if (fields[i].ID == MEAS_E1_SM_OBJ)  return TRUE;
     47    if (fields[i].ID == MEAS_E2_SM_OBJ)  return TRUE;
     48    if (fields[i].ID == MEAS_X11_SH_OBJ) return TRUE;
     49    if (fields[i].ID == MEAS_X12_SH_OBJ) return TRUE;
     50    if (fields[i].ID == MEAS_X22_SH_OBJ) return TRUE;
     51    if (fields[i].ID == MEAS_E1_SH_OBJ)  return TRUE;
     52    if (fields[i].ID == MEAS_E2_SH_OBJ)  return TRUE;
     53    if (fields[i].ID == MEAS_X11_SM_PSF) return TRUE;
     54    if (fields[i].ID == MEAS_X12_SM_PSF) return TRUE;
     55    if (fields[i].ID == MEAS_X22_SM_PSF) return TRUE;
     56    if (fields[i].ID == MEAS_E1_SM_PSF)  return TRUE;
     57    if (fields[i].ID == MEAS_E2_SM_PSF)  return TRUE;
     58    if (fields[i].ID == MEAS_X11_SH_PSF) return TRUE;
     59    if (fields[i].ID == MEAS_X12_SH_PSF) return TRUE;
     60    if (fields[i].ID == MEAS_X22_SH_PSF) return TRUE;
     61    if (fields[i].ID == MEAS_E1_SH_PSF)  return TRUE;
     62    if (fields[i].ID == MEAS_E2_SH_PSF)  return TRUE;
    3663  }
    3764  return FALSE;
     
    6794}
    6895
    69 int dbFieldNeedStarpar (dbField *fields, int Nfields) {
     96int dbFieldNeedStarpar (dbField *fields, int Nfields, int isAverage) {
    7097  int i;
    7198  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;
     99    if (isAverage) {
     100      if (fields[i].ID == AVE_E_BV)             return TRUE;
     101      if (fields[i].ID == AVE_E_BV_ERR)         return TRUE;
     102      if (fields[i].ID == AVE_DISTANCE_MOD)     return TRUE;
     103      if (fields[i].ID == AVE_DISTANCE_MOD_ERR) return TRUE;
     104      if (fields[i].ID == AVE_M_R)              return TRUE;
     105      if (fields[i].ID == AVE_M_R_ERR)          return TRUE;
     106      if (fields[i].ID == AVE_FEH)              return TRUE;
     107      if (fields[i].ID == AVE_FEH_ERR)          return TRUE;
     108      if (fields[i].ID == AVE_URA_GALMODEL)     return TRUE;
     109      if (fields[i].ID == AVE_UDEC_GALMODEL)    return TRUE;
     110      if (fields[i].ID == AVE_RA_GALMODEL)      return TRUE;
     111      if (fields[i].ID == AVE_DEC_GALMODEL)     return TRUE;
     112    } else {
     113      if (fields[i].ID == MEAS_E_BV)             return TRUE;
     114      if (fields[i].ID == MEAS_E_BV_ERR)         return TRUE;
     115      if (fields[i].ID == MEAS_DISTANCE_MOD)     return TRUE;
     116      if (fields[i].ID == MEAS_DISTANCE_MOD_ERR) return TRUE;
     117      if (fields[i].ID == MEAS_M_R)              return TRUE;
     118      if (fields[i].ID == MEAS_M_R_ERR)          return TRUE;
     119      if (fields[i].ID == MEAS_FEH)              return TRUE;
     120      if (fields[i].ID == MEAS_FEH_ERR)          return TRUE;
     121      if (fields[i].ID == MEAS_URA_GALMODEL)     return TRUE;
     122      if (fields[i].ID == MEAS_UDEC_GALMODEL)    return TRUE;
     123      if (fields[i].ID == MEAS_RA_GALMODEL)      return TRUE;
     124      if (fields[i].ID == MEAS_DEC_GALMODEL)     return TRUE;
     125    }
    82126  }
    83127  return FALSE;
     
    480524  if (!strcasecmp (fieldName, "E2_SH_PSF"))      ESCAPE (MEAS_E2_SH_PSF,  OPIHI_FLT);
    481525
     526  if (!strcasecmp (fieldName, "E_BV"))             ESCAPE (MEAS_E_BV          ,   OPIHI_FLT);
     527  if (!strcasecmp (fieldName, "E_BV_ERR"))         ESCAPE (MEAS_E_BV_ERR      ,   OPIHI_FLT);
     528  if (!strcasecmp (fieldName, "DISTANCE_MOD"))     ESCAPE (MEAS_DISTANCE_MOD  ,   OPIHI_FLT);
     529  if (!strcasecmp (fieldName, "DISTANCE_MOD_ERR")) ESCAPE (MEAS_DISTANCE_MOD_ERR, OPIHI_FLT);
     530  if (!strcasecmp (fieldName, "D_M"))              ESCAPE (MEAS_DISTANCE_MOD  ,   OPIHI_FLT);
     531  if (!strcasecmp (fieldName, "D_M_ERR"))          ESCAPE (MEAS_DISTANCE_MOD_ERR, OPIHI_FLT);
     532  if (!strcasecmp (fieldName, "M_R"))              ESCAPE (MEAS_M_R           ,   OPIHI_FLT);
     533  if (!strcasecmp (fieldName, "M_R_ERR"))          ESCAPE (MEAS_M_R_ERR       ,   OPIHI_FLT);
     534  if (!strcasecmp (fieldName, "FEH"))              ESCAPE (MEAS_FEH           ,   OPIHI_FLT);
     535  if (!strcasecmp (fieldName, "FEH_ERR"))          ESCAPE (MEAS_FEH_ERR       ,   OPIHI_FLT);
     536  if (!strcasecmp (fieldName, "URA_GALMODEL"))     ESCAPE (MEAS_URA_GALMODEL  ,   OPIHI_FLT);
     537  if (!strcasecmp (fieldName, "UDEC_GALMODEL"))    ESCAPE (MEAS_UDEC_GALMODEL ,   OPIHI_FLT);
     538  if (!strcasecmp (fieldName, "RA_GALMODEL"))      ESCAPE (MEAS_RA_GALMODEL   ,   OPIHI_FLT);
     539  if (!strcasecmp (fieldName, "DEC_GALMODEL"))     ESCAPE (MEAS_DEC_GALMODEL  ,   OPIHI_FLT);
     540  if (!strcasecmp (fieldName, "URA_GAL"))          ESCAPE (MEAS_URA_GALMODEL  ,   OPIHI_FLT);
     541  if (!strcasecmp (fieldName, "UDEC_GAL"))         ESCAPE (MEAS_UDEC_GALMODEL ,   OPIHI_FLT);
     542  if (!strcasecmp (fieldName, "RA_GAL"))           ESCAPE (MEAS_RA_GALMODEL   ,   OPIHI_FLT);
     543  if (!strcasecmp (fieldName, "DEC_GAL"))          ESCAPE (MEAS_DEC_GALMODEL  ,   OPIHI_FLT);
     544
    482545  // if (!strcasecmp (fieldName, "FLUX"))           ESCAPE (MEAS_FLUX_PSF,       OPIHI_FLT);
    483546  // if (!strcasecmp (fieldName, "FLUX_ERR"))       ESCAPE (MEAS_FLUX_PSF_ERR,   OPIHI_FLT);
     
    573636  if (!strcasecmp (fieldName, "URA_GALMODEL"))     ESCAPE (AVE_URA_GALMODEL  ,   OPIHI_FLT);
    574637  if (!strcasecmp (fieldName, "UDEC_GALMODEL"))    ESCAPE (AVE_UDEC_GALMODEL ,   OPIHI_FLT);
     638  if (!strcasecmp (fieldName, "RA_GALMODEL"))      ESCAPE (AVE_RA_GALMODEL   ,   OPIHI_FLT);
     639  if (!strcasecmp (fieldName, "DEC_GALMODEL"))     ESCAPE (AVE_DEC_GALMODEL  ,   OPIHI_FLT);
    575640
    576641
Note: See TracChangeset for help on using the changeset viewer.