IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 8, 2007, 12:21:18 PM (19 years ago)
Author:
eugene
Message:

complete merge from branch dvo-mods-2007-02

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/dvo/photometry.c

    r8427 r12332  
    77    case PHOT_DEP: \
    88    case PHOT_REF: \
    9       if (C[0].code != M.source) continue; \
     9      if (C[0].code != M.photcode) continue; \
    1010      break; \
    11     case PHOT_PRI: \
    1211    case PHOT_SEC: \
    13       if (C[0].code != GetPhotcodeEquivCodebyCode (M.source)) continue; \
     12      if (C[0].code != GetPhotcodeEquivCodebyCode (M.photcode)) continue; \
    1413      break; \
    1514    default: \
     
    2221    if (TimeSelect && (M.t < tzero)) continue; \
    2322    if (TimeSelect && (M.t > tend)) continue; \
    24     if (ErrSelect  && (M.dM_PS > ErrValue)) continue; \
     23    if (ErrSelect  && (M.dM > ErrValue)) continue; \
    2524    if (TypeSelect && (TypeValue != GetMeasureTypeCode (&M))) continue; \
    2625    if (iMagSelect && (PhotInst (&M) < iMagMin)) continue; \
     
    3433  if (MODE == MAG_SYS)  MOUT = PhotSys  (&MEAS, average, secfilt); \
    3534  if (MODE == MAG_REL)  MOUT = PhotRel  (&MEAS, average, secfilt); \
    36   if (MODE == MAG_CAL)  MOUT = PhotCal  (&MEAS, average, secfilt, measure, GetPhotcodeEquivbyCode (MEAS.source)); \
    37   if (MODE == MAG_AVE)  MOUT = PhotAve  (GetPhotcodeEquivbyCode (MEAS.source), average, secfilt); \
    38   if (MODE == MAG_REF)  MOUT = PhotRef  (GetPhotcodeEquivbyCode (MEAS.source), average, secfilt, measure); \
     35  if (MODE == MAG_CAL)  MOUT = PhotCal  (&MEAS, average, secfilt, measure, GetPhotcodeEquivbyCode (MEAS.photcode)); \
     36  if (MODE == MAG_AVE)  MOUT = PhotAve  (GetPhotcodeEquivbyCode (MEAS.photcode), average, secfilt); \
     37  if (MODE == MAG_REF)  MOUT = PhotRef  (GetPhotcodeEquivbyCode (MEAS.photcode), average, secfilt, measure); \
    3938  if (ApplySelections[SelectionParam]) { \
    4039    if (MagSelect && (MOUT > MagMax)) continue; \
     
    134133    if (mode == MAG_CAL)  status = TRUE;
    135134  } 
    136   if ((code[0].type == PHOT_PRI) || (code[0].type == PHOT_SEC)) {
     135  if (code[0].type == PHOT_SEC) {
    137136    if (mode == MAG_NONE) mode  = MAG_AVE;
    138137    if (mode == MAG_INST) status = TRUE;
     
    302301  }
    303302  if (NeedPhotcode) {
    304     if (code[0][0].type == PHOT_PRI) return (TRUE);
    305303    if (code[0][0].type == PHOT_SEC) return (TRUE);
    306     gprint (GP_ERR, "photcode selection problem: average value requires PRI/SEC photcode\n");
     304    gprint (GP_ERR, "photcode selection problem: average value requires average photcode\n");
    307305    return (FALSE);
    308306  }
     
    322320
    323321  double ZERO_POINT;
    324   char PhotCodeFile[256];
     322  char MasterPhotcodeFile[256];
     323  char CatdirPhotcodeFile[256];
     324  char *catdir;
    325325
    326326  if (VarConfig ("ZERO_PT", "%lf", &ZERO_POINT) == (char *) NULL) {
     
    330330  SetZeroPoint (ZERO_POINT);
    331331
    332   if (VarConfig ("PHOTCODE_FILE", "%s", PhotCodeFile) == (char *) NULL) {
     332  catdir = GetCATDIR();
     333  if (catdir == NULL) {
     334    CatdirPhotcodeFile[0] = 0;
     335  } else {
     336    sprintf (CatdirPhotcodeFile, "%s/Photcodes.dat", catdir);
     337  }
     338
     339  if (VarConfig ("PHOTCODE_FILE", "%s", MasterPhotcodeFile) == (char *) NULL) {
    333340      gprint (GP_ERR, "PHOTCODE_FILE undefined in config\n");
    334341      return (FALSE);
    335342  }
    336   if (!LoadPhotcodes (PhotCodeFile)) {
    337     gprint (GP_ERR, "error loading photcodes\n");
     343  if (!LoadPhotcodes (CatdirPhotcodeFile, MasterPhotcodeFile)) {
     344    gprint (GP_ERR, "error loading photcode table %s or master file %s\n", CatdirPhotcodeFile, MasterPhotcodeFile);
    338345    return (FALSE);
    339346  }
     
    676683      value = 0;
    677684      for (i = 0; i < average[0].Nm; i++) {
    678         if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].source)) continue;
     685        if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;
    679686        value ++;
    680687      }
     
    683690      value = 0;
    684691      for (i = 0; i < average[0].Nm; i++) {
    685         if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].source)) continue;
     692        if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;
    686693        if (measure[i].flags & (ID_MEAS_POOR | ID_MEAS_SKIP)) continue;
    687694        value ++;
     
    691698      value = 0;
    692699      for (i = 0; i < average[0].Nm; i++) {
    693         if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].source))) continue;
    694         if (ErrSelect && (measure[i].dM_PS > ErrValue)) continue;
     700        if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode))) continue;
     701        if (ErrSelect && (measure[i].dM > ErrValue)) continue;
    695702        if (FlagSelect && (measure[i].flags != FlagValue)) continue;
    696703        if (TypeSelect && (TypeValue != GetMeasureTypeCode (&measure[i]))) continue;
     
    711718  Nt = Nc = 0;
    712719  for (k = 0; k < average[0].Nm; k++) {
    713     if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[k].source))) continue;
     720    if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[k].photcode))) continue;
    714721    Nc ++;
    715722    if (measure[k].dophot != TypefracType) continue;
     
    727734  Nt[0] = Nt[1] = Nt[2] = 0;
    728735  for (k = 0; k < average[0].Nm; k++) {
    729     if (code != GetPhotcodeEquivCodebyCode (measure[k].source)) continue;
     736    if (code != GetPhotcodeEquivCodebyCode (measure[k].photcode)) continue;
    730737    N = GetMeasureTypeCode (&measure[k]);
    731738    Nt[N] ++;
     
    11281135      break;
    11291136    case MEAS_RA: /* OK */
    1130       value = average[0].R - measure[0].dR_PS / 3600.0;
     1137      value = average[0].R - measure[0].dR / 3600.0;
    11311138      break;
    11321139    case MEAS_DEC: /* OK */
    1133       value = average[0].D - measure[0].dD_PS / 3600.0;
     1140      value = average[0].D - measure[0].dD / 3600.0;
    11341141      break;
    11351142    case MEAS_dMAG: /* OK */
    1136       value = measure[0].dM_PS;
     1143      value = measure[0].dM;
    11371144      break;
    11381145    case MEAS_AIRMASS: /* OK */
    1139       value = measure[0].airmass_PS;
     1146      value = measure[0].airmass;
    11401147      break;
    11411148    case MEAS_EXPTIME: /* OK */
    1142       value = pow (10.0, measure[0].dt_PS * 0.4);
     1149      value = pow (10.0, measure[0].dt * 0.4);
    11431150      break;
    11441151    case MEAS_PHOTCODE: /* OK */
    1145       value = measure[0].source;
     1152      value = measure[0].photcode;
    11461153      break;
    11471154    case MEAS_TIME: /* OK */
     
    11491156      break;
    11501157    case MEAS_dR: /* OK */
    1151       value = measure[0].dR_PS;
     1158      value = measure[0].dR;
    11521159      break;
    11531160    case MEAS_dD: /* OK */
    1154       value = measure[0].dD_PS;
     1161      value = measure[0].dD;
    11551162      break;
    11561163    case MEAS_FWHM: /* OK */
     
    11641171      break;
    11651172    case MEAS_XCCD: /* OK */
    1166       ra  = average[0].R - measure[0].dR_PS / 3600.0;
    1167       dec = average[0].D - measure[0].dD_PS / 3600.0;
    1168       image = MatchImage (measure[0].t, measure[0].source);
     1173/* I need to perform this conversion for ELIXIR and LONEOS formats on load */     
     1174# if 0
     1175      value = measure[0].Xccd;
     1176# else
     1177      ra  = average[0].R - measure[0].dR / 3600.0;
     1178      dec = average[0].D - measure[0].dD / 3600.0;
     1179      image = MatchImage (measure[0].t, measure[0].photcode);
    11691180      if (image == NULL) break;
    11701181      RD_to_XY (&x, &y, ra, dec, &image[0].coords);
    11711182      value = x;
     1183# endif
    11721184      break;
    11731185    case MEAS_YCCD: /* OK */
    1174       ra  = average[0].R - measure[0].dR_PS / 3600.0;
    1175       dec = average[0].D - measure[0].dD_PS / 3600.0;
    1176       image = MatchImage (measure[0].t, measure[0].source);
     1186/* I need to perform this conversion for ELIXIR and LONEOS formats on load */     
     1187# if 0
     1188      value = measure[0].Yccd;
     1189# else
     1190      ra  = average[0].R - measure[0].dR / 3600.0;
     1191      dec = average[0].D - measure[0].dD / 3600.0;
     1192      image = MatchImage (measure[0].t, measure[0].photcode);
    11771193      if (image == NULL) break;
    11781194      RD_to_XY (&x, &y, ra, dec, &image[0].coords);
    11791195      value = y;
     1196# endif
    11801197      break;
    11811198    case MEAS_XMOSAIC: /* OK */
    1182       ra  = average[0].R - measure[0].dR_PS / 3600.0;
    1183       dec = average[0].D - measure[0].dD_PS / 3600.0;
    1184       mosaic = MatchMosaic (measure[0].t, measure[0].source);
     1199      ra  = average[0].R - measure[0].dR / 3600.0;
     1200      dec = average[0].D - measure[0].dD / 3600.0;
     1201      mosaic = MatchMosaic (measure[0].t, measure[0].photcode);
    11851202      if (mosaic == NULL) break;
    11861203      RD_to_XY (&x, &y, ra, dec, mosaic);
     
    11881205      break;
    11891206    case MEAS_YMOSAIC: /* OK */
    1190       ra  = average[0].R - measure[0].dR_PS / 3600.0;
    1191       dec = average[0].D - measure[0].dD_PS / 3600.0;
    1192       mosaic = MatchMosaic (measure[0].t, measure[0].source);
     1207      ra  = average[0].R - measure[0].dR / 3600.0;
     1208      dec = average[0].D - measure[0].dD / 3600.0;
     1209      mosaic = MatchMosaic (measure[0].t, measure[0].photcode);
    11931210      if (mosaic == NULL) break;
    11941211      RD_to_XY (&x, &y, ra, dec, mosaic);
Note: See TracChangeset for help on using the changeset viewer.