IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 6, 2013, 11:32:20 AM (13 years ago)
Author:
eugene
Message:

partial improvement in getting image data for mextract

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20130306/Ohana/src/opihi/dvo/mextract.c

    r34749 r35244  
    11# include "dvoshell.h"
     2
     3int field_needs_images (dbField *field) {
     4  // the image subset table requires imageID for all fields
     5
     6    if (!MEASURE_HAS_XCCD) {
     7      // I'm keeping this code because it gives a way of handling dvo dbs that don't have
     8      // measure.xccd if we need it
     9      if (field->ID == MEAS_XCCD) return TRUE; // full astrometry per chip (120 bytes!)
     10      if (field->ID == MEAS_YCCD) return TRUE; // full astrometry per chip (120 bytes!)
     11    }
     12    if (field->ID == MEAS_XMOSAIC)        return TRUE; // crval1,2 only
     13    if (field->ID == MEAS_YMOSAIC)        return TRUE; // crval1,2 only
     14    if (field->ID == MEAS_EXTERN_ID)      return TRUE; // externID
     15    if (field->ID == MEAS_FLAT)           return TRUE; // Mcal
     16    if (field->ID == MEAS_CENTER_OFFSET)  return TRUE; // 0.5*NX, 0.5*NY
     17    if (field->ID == MEAS_EXPNAME_AS_INT) return TRUE; // expname (or as int)
     18    return FALSE;
     19}
    220
    321int mextract (int argc, char **argv) {
     
    523  off_t i, j, k, m; // used for counter averages and measures
    624  int n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack;
    7   int Nsecfilt, VERBOSE, loadImages, mosaicMode;
     25  int Nsecfilt, VERBOSE, loadImages;
    826  char **cstack, name[1024];
    927  dbValue *values;
     
    121139  // load image data if needed (for fields listed below)
    122140  loadImages = FALSE;
    123   mosaicMode = FALSE;
    124141  for (i = 0; !loadImages && (i < Nfields); i++) {
    125     if (!MEASURE_HAS_XCCD) {
    126       // I'm keeping this code because it gives a way of handling dvo dbs that don't have
    127       // measure.xccd if we need it
    128       if (fields[i].ID == MEAS_XCCD) loadImages = TRUE;
    129       if (fields[i].ID == MEAS_YCCD) loadImages = TRUE;
    130     }
    131     if (fields[i].ID == MEAS_XMOSAIC)       loadImages = mosaicMode = TRUE;
    132     if (fields[i].ID == MEAS_YMOSAIC)       loadImages = mosaicMode = TRUE;
    133     if (fields[i].ID == MEAS_EXTERN_ID)     loadImages = mosaicMode = TRUE;
    134     if (fields[i].ID == MEAS_FLAT)          loadImages = mosaicMode = TRUE;
    135     if (fields[i].ID == MEAS_CENTER_OFFSET) loadImages = mosaicMode = TRUE;
    136   }
    137   if (loadImages && !SetImageSelection (mosaicMode, selection)) goto escape;
     142    loadImages = field_needs_images (&fields[i]);
     143  }
     144  if (loadImages && !SetImageSelection (TRUE, selection)) goto escape;
    138145
    139146  /* create storage vector */
Note: See TracChangeset for help on using the changeset viewer.