IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25020


Ignore:
Timestamp:
Aug 7, 2009, 12:42:40 PM (17 years ago)
Author:
eugene
Message:

update from mainline

Location:
branches/eam_branches/20090715/Ohana/src
Files:
19 edited
6 copied

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20090715/Ohana/src/addstar/Makefile

    r21508 r25020  
    5858$(SRC)/greference.$(ARCH).o \
    5959$(SRC)/grefstars.$(ARCH).o \
     60$(SRC)/GetZeroPointExposure.$(ARCH).o \
    6061$(SRC)/LoadStars.$(ARCH).o \
    6162$(SRC)/LoadHeaders.$(ARCH).o \
     
    199200$(SRC)/replace_match.$(ARCH).o \
    200201$(SRC)/update_coords.$(ARCH).o \
     202$(SRC)/SkyRegionUtils.$(ARCH).o \
    201203$(SRC)/StarOps.$(ARCH).o \
    202204$(SRC)/ConfigInit.$(ARCH).o \
  • branches/eam_branches/20090715/Ohana/src/addstar/doc/notes.txt

    r21508 r25020  
     1
     22009.08.02
     3
     4  ZERO POINTS: addstar currently has a couple of inconsistent ways that it
     5  measures or uses image zero points:
     6
     7  * the standard zero point: data in the database is saved as M_inst +
     8    25.0.  This value is written to the image header and checked when
     9    the image is loaded.  This is completely archaic, but removing
     10    this concept from the DVO system will require some work and some
     11    care.  This value is NOT reflected in the image->Mcal values
     12
     13  * on-the-fly calibration: addstar was used by CFHT skyprobe to
     14    measure the sky transparency.  This calculation was done by
     15    measuring the zero point between the Tycho stars in the database
     16    and the stars in the image.  Star data is saved in
     17    AddToCalibration as they are found (in find_matches, or
     18    equivalent).  At the end of the match processing, the zero point
     19    for the image was calculated with FindCalibration and saved to the
     20    image table but NOT the measure table.  For skyprobe, the stars
     21    are normally not saved to the database -- the Tycho stars are kept
     22    in the measure & average tables, and used as the reference for the
     23    zero point calculation above.
     24
     25  For Pan-STARRS, the zero point analysis is performed by psastro
     26  before we run addstar.  However, there are a few ways we could
     27  choose to apply the zero point calculation:
     28
     29  * use the per-chip zero point reported in the individual chip
     30    headers (easy, but fairly wrong)
     31
     32  * calculate the per-exposure zero point from the chip headers and
     33    supply.
     34
     35  * calculate the per-exposure zero point from the MATCHED_REFS table
     36
     37  We also need to consider the zero point error.  We currently have
     38  only dM (poisson error) + dMcal (calibration error).  We need to
     39  divide dMsys into dMcal (photometry calibration error) and dMap
     40  (aperture correction error).
     41
     42  * zero point options:
     43    * NOMINAL : set Mcal = 0.0
     44    * CHIP_HEADER : each chip has zero point in header
     45    * PHU_HEADER : a single exposure-wide value in the header
     46    * CHIP_AVERAGE : determine zero point for exposure from chip zero points
     47    * MATCHED_REFS : recalculate from table
    148
    2492009.02.11
  • branches/eam_branches/20090715/Ohana/src/addstar/include/2mass.h

    r17439 r25020  
    3333e_time    get2mass_date (char *ptr, int Nbound, int Nmax);
    3434
    35 int       load2mass_as_rawdata (SkyTable *skytable, char *filename, AddstarClientOptions options);
     35int       load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
    3636SkyTable *load2mass_acc (char *path, char *accel);
    3737int       get2mass_3star (Stars *star, char *line, int Nmax);
  • branches/eam_branches/20090715/Ohana/src/addstar/include/addstar.h

    r24400 r25020  
    7373char   TYCHO_DIR[256];
    7474char   SubpixDatafile[256];
     75char   *USE_NAME;
    7576char   PASSWORD[80];
    7677char   HOSTNAME[80];
     
    118119double  FAKE_THETA;     // boresite angle for fake images
    119120
     121char    ZERO_POINT_OPTION[64];
     122float   ZERO_POINT_OFFSET;
     123
    120124// carries the mosaic into gstars
    121125
     
    187191HeaderSet *MatchHeaders           PROTO((int **extsize, int *nimage, int mode, Header **headers, int Nheaders));
    188192int        LoadData               PROTO((FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int NheaderSets));
     193int        GetZeroPointExposure   PROTO((Header **headers, HeaderSet *headerSets, int Nimages));
    189194
    190195int        in_image               PROTO((double r, double d, Image *image));
  • branches/eam_branches/20090715/Ohana/src/addstar/src/ConfigInit.c

    r21508 r25020  
    7777  if (!ScanConfig (config, "EXTNAME-KEYWORD",        "%s",  0, ExtnameKeyword)) {
    7878      strcpy (ExtnameKeyword, "EXTNAME");
     79  }
     80
     81  // if this config variable is not set, do not set any zero point offset
     82  if (!ScanConfig (config, "ZERO_POINT_OPTION", "%s",  0, ZERO_POINT_OPTION)) {
     83      strcpy (ZERO_POINT_OPTION, "NOMINAL");
    7984  }
    8085
  • branches/eam_branches/20090715/Ohana/src/addstar/src/LoadData.c

    r21508 r25020  
    2323
    2424  // find image rootname
    25   name = filebasename (file);
     25  if (USE_NAME) {
     26      name = filebasename (USE_NAME);
     27  } else {
     28      name = filebasename (file);
     29  }
     30
     31  // if zero points are calculated for the full exposure using more than just the matched chip header,
     32  // we need to perform that analysis here
     33  GetZeroPointExposure (headers, headerSets, Nimages);
    2634
    2735  // now run through the images, interpret the headers and read the stars
  • branches/eam_branches/20090715/Ohana/src/addstar/src/ReadImageHeader.c

    r21508 r25020  
    88  double tmp, sec, Cerror, ZeroPt, FWHM_X, FWHM_Y;
    99  char *c, photname[64], line[80];
     10  PhotCode *photcodeData = NULL;
    1011
    1112  // zero out the entire image structure
     
    104105      return (FALSE);
    105106    }
    106     photcode = GetPhotcodeCodebyName (photname);
    107     if (photcode == 0) {
     107    photcodeData = GetPhotcodebyName (photname);
     108    if (photcodeData == NULL) {
    108109      fprintf (stderr, "photcode %s not found in photcode table\n", photname);
    109110      return (FALSE);
    110111    }
     112    photcode = photcodeData[0].code;
    111113  }
    112114  if (photcode == 0) {
     
    191193  }
    192194
     195  // XXX this is archaic: we used to set a fixed zero point of 25 to shift data into the range
     196  // 0 - 32 so it would fit in an unsigned int.  This is also needed because some programs like
     197  // sextractor will put in an arbitrary zero point that we need to understand to get back to
     198  // instrumental mags. 
    193199  gfits_scan (header, "ZERO_PT", "%lf", 1, &ZeroPt);
    194200  if (ZeroPt != GetZeroPoint()) {
     
    197203  }
    198204
     205  // if it exists, find the
     206  if (!strcasecmp(ZERO_POINT_OPTION, "CHIP_HEADER")) {
     207      float ZPT_OBS;
     208      if (!photcodeData || !gfits_scan (header, "ZPT_OBS", "%f", 1, &ZPT_OBS)) {
     209          fprintf (stderr, "zero point not supplied in header\n");
     210          ZERO_POINT_OFFSET = 0.0;
     211      } else {
     212          ZERO_POINT_OFFSET = 0.001*photcodeData[0].C - ZPT_OBS;
     213      }   
     214  }
     215
    199216  /* secz is in units milli-airmass */
    200   image[0].Mcal = 0.0;
     217  image[0].Mcal = ZERO_POINT_OFFSET;
    201218  image[0].Xm   = NAN_S_SHORT;
    202219  image[0].flags = 0;
  • branches/eam_branches/20090715/Ohana/src/addstar/src/SkyRegionUtils.c

    r14401 r25020  
    1111  ALLOCATE (subset, SkyList, 1);
    1212  ALLOCATE (subset[0].regions, SkyRegion *, NSUBSET);
     13  ALLOCATE (subset[0].filename, char *, NSUBSET);
    1314  subset[0].ownElements = FALSE; // free these elements when freeing the list
    1415
     
    2021
    2122    subset[0].regions[Nsubset] = input[0].regions[i];
     23    subset[0].filename[Nsubset] = input[0].filename[i];
    2224    Nsubset ++;
    23     CHECK_REALLOCATE (subset[0].regions, SkyRegion *, NSUBSET, Nsubset, 100);
     25    if (Nsubset >= NSUBSET) {
     26        NSUBSET += 100;
     27        REALLOCATE (subset[0].regions, SkyRegion *, NSUBSET);
     28        REALLOCATE (subset[0].filename, char *, NSUBSET);
     29    }
    2430    subset[0].Nregions = Nsubset;
    2531  }
  • branches/eam_branches/20090715/Ohana/src/addstar/src/args.c

    r21508 r25020  
    4646  if ((N = get_argument (argc, argv, "-list"))) {
    4747    options.filelist = TRUE;
     48    remove_argument (N, &argc, argv);
     49  }
     50
     51  USE_NAME = NULL;
     52  if ((N = get_argument (argc, argv, "-use-name"))) {
     53    remove_argument (N, &argc, argv);
     54    USE_NAME = strcreate (argv[N]);
    4855    remove_argument (N, &argc, argv);
    4956  }
  • branches/eam_branches/20090715/Ohana/src/addstar/src/args_load2mass.c

    r18374 r25020  
    3838  }
    3939
     40  /* only add to existing regions */
     41  options.existing_regions = FALSE;
     42  if ((N = get_argument (argc, argv, "-existing-regions"))) {
     43    options.existing_regions = TRUE;
     44    remove_argument (N, &argc, argv);
     45  }
    4046  /* only add to existing objects */
    4147  options.only_match = FALSE;
     
    6268  options.timeref = 0;
    6369  options.mosaic = FALSE;
    64   options.existing_regions = FALSE;
    6570  options.skip_missed = FALSE;
    6671  options.closest = FALSE;
  • branches/eam_branches/20090715/Ohana/src/addstar/src/load2mass.c

    r7780 r25020  
    77  int i;
    88  SkyTable *sky, *sky2mass;
     9  SkyList *skylist = NULL;
     10  SkyList *overlap = NULL;
    911  AddstarClientOptions options;
    1012
     
    1315  options = args_load2mass (argc, argv, options);
    1416
     17  // load the full sky description table:
    1518  sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, SKY_DEPTH, VERBOSE);
    1619  SkyTableSetFilenames (sky, CATDIR, "cpt");
    1720 
     21  // generate the subset matching the user-selected region
     22  skylist = SkyListByPatch (sky, -1, &UserPatch);
     23
     24  // if we only match to existing (already populated) regions, limit the select to those regions:
     25  if (options.existing_regions) {
     26    SkyList *tmp;
     27    tmp = SkyListExistingSubset (skylist, CATDIR);
     28    SkyListFree (skylist);
     29    skylist = tmp;
     30  }
     31
    1832  path = TWO_MASS_DIR_AS;
    1933
     
    2337 
    2438  for (i = 0; i < sky2mass[0].Nregions; i++) {
     39    // check if any of the skylist entries overlap this 2mass catalog:
     40    overlap = SkyListByBounds_List (skylist, -1, sky2mass[0].regions[i].Rmin, sky2mass[0].regions[i].Rmax, sky2mass[0].regions[i].Dmin, sky2mass[0].regions[i].Dmax);
     41    if (overlap[0].Nregions == 0) {
     42      SkyListFree (overlap);
     43      continue;
     44    }
     45   
    2546    fprintf (stderr, "loading %s\n", sky2mass[0].filename[i]);
    26     load2mass_as_rawdata (sky, sky2mass[0].filename[i], options);
     47    load2mass_as_rawdata (overlap, sky2mass[0].filename[i], options);
     48    SkyListFree (overlap);
    2749  }
    2850  exit (0);
  • branches/eam_branches/20090715/Ohana/src/addstar/src/load2mass_as_rawdata.c

    r21508 r25020  
    1010# define DEBUG 0
    1111
    12 int load2mass_as_rawdata (SkyTable *skytable, char *filename, AddstarClientOptions options) {
     12int load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options) {
    1313 
    1414  int i, j, verbose;
     
    109109      if (tstars[i].D > UserPatch.Dmax) continue;
    110110
     111      // identify the relevant catalog
     112      skylist = SkyRegionByPoint_List (skytable, -1, tstars[i].R, tstars[i].D);
     113      if (skylist[0].Nregions == 0) {
     114          SkyListFree (skylist);
     115          continue;
     116      }
     117      region = skylist[0].regions[0];
     118      if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
     119
    111120      // collect array of (Stars *) stars in a new output catalog
    112121      Nstars = 0;
     
    114123      ALLOCATE (stars, Stars *, NSTARS);
    115124
    116       // identify the relevant catalog
    117       skylist = SkyRegionByPoint (skytable, -1, tstars[i].R, tstars[i].D);
    118       region = skylist[0].regions[0];
    119       if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
    120 
     125      // loop over stars in this 2mass region that are also in this output region
    121126      for (j = i; j < Ntstars; j++) {
    122127        if (tstars[j].flag) continue;
     
    166171      }
    167172
    168       if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f\n", Nstars,
     173      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", Nstars,
    169174                          region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
    170175
  • branches/eam_branches/20090715/Ohana/src/getstar/Makefile

    r20983 r25020  
    2323dvoImageOverlaps.install: $(DESTBIN)/dvoImageOverlaps
    2424
     25dvoImagesAtCoords: $(BIN)/dvoImagesAtCoords.$(ARCH)
     26dvoImagesAtCoords.install: $(DESTBIN)/dvoImagesAtCoords
     27
    2528dvoImageExtract: $(BIN)/dvoImageExtract.$(ARCH)
    2629dvoImageExtract.install: $(DESTBIN)/dvoImageExtract
    2730
    28 all: getstar dvoImageOverlaps dvoImageExtract
    29 install: getstar.install dvoImageOverlaps.install dvoImageExtract.install
     31all: getstar dvoImageOverlaps dvoImageExtract dvoImagesAtCoords
     32install: getstar.install dvoImageOverlaps.install dvoImageExtract.install dvoImagesAtCoords.install
    3033
    3134GETSTAR = \
     
    6164$(BIN)/dvoImageOverlaps.$(ARCH): $(OVERLAPS)
    6265
     66COVERLAPS = \
     67$(SRC)/dvoImagesAtCoords.$(ARCH).o       \
     68$(SRC)/args_coords.$(ARCH).o             \
     69$(SRC)/ConfigInit_coords.$(ARCH).o       \
     70$(SRC)/Shutdown.$(ARCH).o                \
     71$(SRC)/SetSignals.$(ARCH).o              \
     72$(SRC)/ReadImageFiles.$(ARCH).o          \
     73$(SRC)/ReadImageHeader.$(ARCH).o         \
     74$(SRC)/GetFileMode.$(ARCH).o             \
     75$(SRC)/MatchCoords.$(ARCH).o
     76
     77$(COVERLAPS): $(INC)/dvoImagesAtCoords.h $(DVO_INCS)
     78$(BIN)/dvoImagesAtCoords.$(ARCH): $(COVERLAPS)
     79
    6380EXTRACT = \
    6481$(SRC)/dvoImageExtract.$(ARCH).o         \
  • branches/eam_branches/20090715/Ohana/src/libdvo/include/dvo.h

    r24748 r25020  
    311311float PhotInst (Measure *measure);
    312312float PhotCat (Measure *measure);
     313float PhotAper (Measure *measure);
    313314float PhotSys (Measure *measure, Average *average, SecFilt *secfilt);
    314315float PhotRel (Measure *measure, Average *average, SecFilt *secfilt);
     
    441442SkyList   *SkyListByBounds         PROTO((SkyTable *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
    442443SkyList   *SkyListChildrenByBounds PROTO((SkyTable *table, int No, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
     444
    443445int        SkyListMerge            PROTO((SkyList **outlist, SkyList *newlist));
    444446int        SkyListFree             PROTO((SkyList *list));
     
    447449int        SkyTableSetFilenames    PROTO((SkyTable *sky, char *path, char *ext));
    448450
     451SkyList   *SkyRegionByPoint_List   PROTO((SkyList *inList, int depth, double ra, double dec));
     452SkyList   *SkyListByBounds_List    PROTO((SkyList *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
     453SkyList   *SkyListChildrenByBounds_List PROTO((SkyList *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
     454
    449455/* dvo-specific sorting functions */
    450456void sortave (Average *ave, int N);
  • branches/eam_branches/20090715/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r17253 r25020  
    249249  code = &photcodes[0].code[Np];
    250250  Mcat = measure[0].M - ZERO_POINT + code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C;
     251 
     252  return (Mcat);
     253}
     254
     255float PhotAper (Measure *measure) {
     256
     257  int Np;
     258  float Mcat;
     259  PhotCode *code;
     260
     261  Np = photcodes[0].hashcode[measure[0].photcode];
     262  if (Np == -1) return (NAN);
     263
     264  if (photcodes[0].code[Np].type == PHOT_REF) {
     265    Mcat = measure[0].Map;
     266    return (Mcat);
     267  }
     268  code = &photcodes[0].code[Np];
     269  Mcat = measure[0].Map - ZERO_POINT + code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C;
    251270 
    252271  return (Mcat);
  • branches/eam_branches/20090715/Ohana/src/libdvo/src/skyregion_ops.c

    r24747 r25020  
    300300          REALLOCATE (list[0].filename, char *, NNEW);
    301301      }
     302    }
     303  }
     304
     305  list[0].Nregions = Nnew;
     306  return (list);
     307}
     308
     309/* find region which overlaps c at given depth (-1 : populated ) */
     310SkyList *SkyRegionByPoint_List (SkyList *inList, int depth, double ra, double dec) {
     311 
     312  int i;
     313  SkyRegion **region;
     314  SkyList *list;
     315
     316  ALLOCATE (list, SkyList, 1);
     317  ALLOCATE (list[0].regions,  SkyRegion *, 1);
     318  ALLOCATE (list[0].filename,  char *, 1);
     319  list[0].Nregions = 0;
     320  list[0].ownElements = FALSE; // this list is only holding a view to the elements
     321
     322  region = inList[0].regions;
     323
     324  for (i = 0; i < inList[0].Nregions; i++) {
     325
     326    // once we pass our desired depth, quit
     327    if ((depth > -1) && (depth < region[i][0].depth)) break;
     328
     329    // skip tables that do not overlap
     330    if (ra  < region[i][0].Rmin) continue;
     331    if (ra  > region[i][0].Rmax) continue;
     332    if (dec < region[i][0].Dmin) continue;
     333    if (dec > region[i][0].Dmax) continue;
     334
     335    // skip tables that are not at our depth
     336    if ((depth >  -1) && (depth > region[i][0].depth)) continue;
     337    if ((depth == -1) && (region[i][0].table == FALSE)) continue;
     338   
     339    list[0].regions[0] = region[i];
     340    list[0].filename[0] = inList[0].filename[i];
     341    list[0].Nregions = 1;
     342    break;
     343  }
     344  return (list);
     345}
     346
     347SkyList *SkyListByBounds_List (SkyList *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax) {
     348
     349  int i, j, Ns;
     350  SkyList *list, *extra;
     351
     352  Rmin = ohana_normalize_angle (Rmin);
     353  Rmax = ohana_normalize_angle (Rmax);
     354
     355  /* handle 0,360 boundary requests */
     356  /* this is probably wrong: I will get duplicates for all Dec bands... */
     357  if (Rmin > Rmax) {
     358    list = SkyListChildrenByBounds_List (table, depth, 0.0, Rmax, Dmin, Dmax);
     359
     360    extra = SkyListChildrenByBounds_List (table, depth, Rmin, 360.0, Dmin, Dmax);
     361    REALLOCATE (list[0].regions, SkyRegion *, list[0].Nregions + extra[0].Nregions);
     362    REALLOCATE (list[0].filename, char *, list[0].Nregions + extra[0].Nregions);
     363    Ns = list[0].Nregions;
     364    for (i = 0; i < extra[0].Nregions; i++) {
     365      // search for pre-existing match
     366      for (j = 0; j < list[0].Nregions; j++) {
     367        if (list[0].regions[j] == extra[0].regions[i]) {
     368          goto skip;
     369        }
     370      }
     371      list[0].regions[Ns] = extra[0].regions[i];
     372      list[0].filename[Ns] = extra[0].filename[i];
     373      Ns ++;
     374    skip:
     375      continue;
     376    }
     377    list[0].Nregions = Ns;
     378    SkyListFree (extra);
     379  } else {
     380    list = SkyListChildrenByBounds_List (table, depth, Rmin, Rmax, Dmin, Dmax);
     381  }
     382
     383  return (list);
     384}
     385
     386SkyList *SkyListChildrenByBounds_List (SkyList *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax) {
     387
     388  int i, j, Ns, Ne, Nnew, NNEW;
     389  int append;
     390  SkyList *children;
     391  SkyList *list;
     392  SkyRegion **region;
     393
     394  Nnew = 0;
     395  NNEW = 50;
     396  ALLOCATE (list, SkyList, 1);
     397  ALLOCATE (list[0].regions, SkyRegion *, NNEW);
     398  ALLOCATE (list[0].filename, char *, NNEW);
     399  list[0].ownElements = FALSE; // this list is only holding a view to the elements
     400
     401  region = table[0].regions;
     402
     403  // can we assume the skylist is globally sorted by depth?  i think so...
     404  for (i = 0; i < table[0].Nregions; i++) {
     405   
     406    // once we pass our desired depth, quit
     407    if ((depth > -1) && (depth < region[i][0].depth)) break;
     408
     409    // skip tables that do not overlap
     410    if (Rmax <= region[i][0].Rmin) continue;
     411    if (Rmin >= region[i][0].Rmax) continue;
     412    if (Dmax <= region[i][0].Dmin) continue;
     413    if (Dmin >= region[i][0].Dmax) continue;
     414
     415    // skip tables that are not at our depth
     416    if ((depth >  -1) && (depth > region[i][0].depth)) continue;
     417    if ((depth == -1) && (region[i][0].table == FALSE)) continue;
     418
     419    list[0].regions[Nnew] = region[i];
     420    list[0].filename[Nnew] = table[0].filename[i];
     421    Nnew ++;
     422    if (Nnew >= NNEW) {
     423      NNEW += 50;
     424      REALLOCATE (list[0].regions, SkyRegion *, NNEW);
     425      REALLOCATE (list[0].filename, char *, NNEW);
    302426    }
    303427  }
  • branches/eam_branches/20090715/Ohana/src/opihi/dvo/dbExtractMeasures.c

    r21508 r25020  
    117117        case MAG_REF:
    118118          value.Flt = PhotRef  (equiv, average, secfilt, measure);
     119          break;
     120        case MAG_APER:
     121          value.Flt = PhotAper  (measure);
    119122          break;
    120123        case MAG_ERR:
  • branches/eam_branches/20090715/Ohana/src/opihi/dvo/dbFields.c

    r21508 r25020  
    3737  if (!strcasecmp (string, "ave"))       return (MAG_AVE);
    3838  if (!strcasecmp (string, "ref"))       return (MAG_REF);
     39  if (!strcasecmp (string, "ap"))        return (MAG_APER);
     40  if (!strcasecmp (string, "aper"))      return (MAG_APER);
    3941  if (!strcasecmp (string, "err"))       return (MAG_ERR);
    4042  if (!strcasecmp (string, "photflags")) return (MAG_PHOT_FLAGS);
  • branches/eam_branches/20090715/Ohana/src/opihi/include/dvoshell.h

    r21508 r25020  
    2727      MAG_INST,
    2828      MAG_CAT,
     29      MAG_APER,
    2930      MAG_SYS,
    3031      MAG_REL,
Note: See TracChangeset for help on using the changeset viewer.