IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33200


Ignore:
Timestamp:
Feb 2, 2012, 2:07:22 PM (14 years ago)
Author:
eugene
Message:

adding a few query fields to mextract (flat, Mcal_offset, mean_airmass)

Location:
branches/eam_branches/ipp-20111122/Ohana/src
Files:
4 edited

Legend:

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

    r31647 r33200  
    11# ifndef DVODB_H
    22# define DVODB_H
     3
     4# define MEASURE_HAS_XCCD 1
    35
    46typedef enum {
     
    8284      MEAS_EXPTIME,
    8385      MEAS_AIRMASS,
     86      MEAS_MEAN_AIRMASS,
    8487      MEAS_ALT,
    8588      MEAS_AZ,
    8689      MEAS_PHOTCODE,
    8790      MEAS_PHOTCODE_EQUIV,
     91      MEAS_PHOTCODE_KLAM,
     92      MEAS_PHOTCODE_C,
    8893      MEAS_TIME,
    8994      MEAS_FWHM,
     
    120125      MEAS_EXT_NSIGMA,
    121126      MEAS_EXTERN_ID,
     127      MEAS_MCAL_OFFSET,
     128      MEAS_FLAT,
    122129};
    123130
  • branches/eam_branches/ipp-20111122/Ohana/src/libdvo/src/dbExtractMeasures.c

    r32695 r33200  
    302302      value.Flt = measure[0].airmass;
    303303      break;
     304    case MEAS_MEAN_AIRMASS: /* OK */
     305      {
     306        Image *image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
     307        if (image == NULL) break;
     308        value.Flt = image[0].secz;
     309        break;
     310      }
    304311    case MEAS_AZ: /* OK */
    305312      value.Flt = measure[0].az;
     
    317324      value.Int = measure[0].photcode;
    318325      break;
     326    case MEAS_PHOTCODE_KLAM: /* OK */
     327      {
     328        PhotCode *code = GetPhotcodebyCode (measure[0].photcode);
     329        if (!code) break;
     330        value.Flt = code->K;
     331        break;
     332      }
     333    case MEAS_PHOTCODE_C: /* OK */
     334      {
     335        PhotCode *code = GetPhotcodebyCode (measure[0].photcode);
     336        if (!code) break;
     337        value.Flt = code->C;
     338        break;
     339      }
    319340    case MEAS_TIME: /* OK */
    320341      value.Flt = TimeValue (measure[0].t, TimeReference, TimeFormat);
     
    351372      break;
    352373    case MEAS_XCCD: /* OK */
    353 /* I need to perform this conversion for ELIXIR and LONEOS formats on load */     
    354 # if 1
     374# if MEASURE_HAS_XCCD
    355375      value.Flt = measure[0].Xccd;
    356376# else
    357377      {
     378        // I'm keeping this code because it gives a way of handing dvo dbs that don't have
     379        // measure.xccd if we need it
    358380        Image *image;
    359381        ra  = average[0].R - measure[0].dR / 3600.0;
     
    367389      break;
    368390    case MEAS_YCCD: /* OK */
    369 /* I need to perform this conversion for ELIXIR and LONEOS formats on load */     
    370 # if 1
     391# if MEASURE_HAS_XCCD
    371392      value.Flt = measure[0].Yccd;
    372393# else
     
    456477      break;
    457478
     479    case MEAS_MCAL_OFFSET: /* OK */
     480      value.Flt = measure[0].Mcal;
     481      break;
     482
     483    case MEAS_FLAT: /* OK */
     484      // flat = measure.Mcal - image.Mcal
     485      {
     486        Image *image;
     487        image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
     488        if (image == NULL) break;
     489        value.Flt = measure[0].Mcal - image[0].Mcal;
     490      }
     491      break;
     492
    458493      // add the star/galaxy sep --
    459494  }
  • branches/eam_branches/ipp-20111122/Ohana/src/libdvo/src/dbFields.c

    r31635 r33200  
    174174  if (!strcasecmp (fieldName, "PHOTFLAGS"))      ESCAPE (MEAS_PHOT_FLAGS,     MAG_NONE, OPIHI_INT);
    175175  if (!strcasecmp (fieldName, "AIRMASS"))        ESCAPE (MEAS_AIRMASS,        MAG_NONE, OPIHI_FLT);
     176  if (!strcasecmp (fieldName, "MEAN_AIRMASS"))   ESCAPE (MEAS_MEAN_AIRMASS,   MAG_NONE, OPIHI_FLT);
    176177  if (!strcasecmp (fieldName, "ALT"))            ESCAPE (MEAS_ALT,            MAG_NONE, OPIHI_FLT);
    177178  if (!strcasecmp (fieldName, "AZ"))             ESCAPE (MEAS_AZ,             MAG_NONE, OPIHI_FLT);
    178179  if (!strcasecmp (fieldName, "EXPTIME"))        ESCAPE (MEAS_EXPTIME,        MAG_NONE, OPIHI_FLT);
    179180  if (!strcasecmp (fieldName, "PHOTCODE"))       ESCAPE (MEAS_PHOTCODE,       MAG_NONE, OPIHI_INT);
     181  if (!strcasecmp (fieldName, "PHOTCODE:KLAM"))  ESCAPE (MEAS_PHOTCODE_KLAM,  MAG_NONE, OPIHI_FLT);
     182  if (!strcasecmp (fieldName, "PHOTCODE:C"))     ESCAPE (MEAS_PHOTCODE_C,     MAG_NONE, OPIHI_FLT);
    180183  if (!strcasecmp (fieldName, "PHOTCODE:EQUIV")) ESCAPE (MEAS_PHOTCODE_EQUIV, MAG_NONE, OPIHI_INT);
    181184  if (!strcasecmp (fieldName, "TIME"))           ESCAPE (MEAS_TIME,           MAG_NONE, OPIHI_FLT);
     
    215218  if (!strcasecmp (fieldName, "SKY_ERR"))        ESCAPE (MEAS_dSKY,           MAG_NONE, OPIHI_FLT);
    216219  if (!strcasecmp (fieldName, "externID"))       ESCAPE (MEAS_EXTERN_ID,      MAG_NONE, OPIHI_INT);
     220  if (!strcasecmp (fieldName, "MCAL_OFFSET"))    ESCAPE (MEAS_MCAL_OFFSET,    MAG_NONE, OPIHI_FLT);
     221  if (!strcasecmp (fieldName, "FLAT"))           ESCAPE (MEAS_FLAT,           MAG_NONE, OPIHI_FLT);
    217222
    218223  // for words that don't parse, try a photcode
  • branches/eam_branches/ipp-20111122/Ohana/src/opihi/dvo/mextract.c

    r30612 r33200  
    8888  mosaicMode = FALSE;
    8989  for (i = 0; !loadImages && (i < Nfields); i++) {
    90     if (fields[i].ID == MEAS_XCCD) loadImages = TRUE;   // Are these still needed? Xccd and Yccd are in measurement
    91     if (fields[i].ID == MEAS_YCCD) loadImages = TRUE;   // and dbExtractMeasures doesn't look at the image for these
    92     if (fields[i].ID == MEAS_XMOSAIC) loadImages = mosaicMode = TRUE;
    93     if (fields[i].ID == MEAS_YMOSAIC) loadImages = mosaicMode = TRUE;
     90    if (!MEASURE_HAS_XCCD) {
     91      // I'm keeping this code because it gives a way of handing dvo dbs that don't have
     92      // measure.xccd if we need it
     93      if (fields[i].ID == MEAS_XCCD) loadImages = TRUE;
     94      if (fields[i].ID == MEAS_YCCD) loadImages = TRUE;
     95    }
     96    if (fields[i].ID == MEAS_XMOSAIC)   loadImages = mosaicMode = TRUE;
     97    if (fields[i].ID == MEAS_YMOSAIC)   loadImages = mosaicMode = TRUE;
    9498    if (fields[i].ID == MEAS_EXTERN_ID) loadImages = mosaicMode = TRUE;
     99    if (fields[i].ID == MEAS_FLAT)      loadImages = mosaicMode = TRUE;
    95100  }
    96101  if (loadImages && !SetImageSelection (mosaicMode, selection)) goto escape;
     
    307312    gprint (GP_ERR, "  imageID : ID of source image (32 bit)\n");
    308313    gprint (GP_ERR, "  externID : externID of source image (32 bit)\n");
     314
     315    gprint (GP_ERR, "  Mcal_offset : difference wrt nominal zero point (clouds are positive)\n");
     316    gprint (GP_ERR, "  flat : flat-field correction (measure.Mcal - image.Mcal)\n");
    309317    return (FALSE);
    310318  }
Note: See TracChangeset for help on using the changeset viewer.