IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 12275


Ignore:
Timestamp:
Mar 6, 2007, 8:55:11 AM (19 years ago)
Author:
eugene
Message:

adding PANSTARRS_DEV_0, notes on adding new formats, cleanups to simply adding new formats

Location:
branches/dvo-mods-2007-02/Ohana/src/libdvo
Files:
2 added
11 edited

Legend:

Unmodified
Added
Removed
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/Makefile

    r12031 r12275  
    4848$(SRC)/dvo_convert_elixir.$(ARCH).o    \
    4949$(SRC)/dvo_convert_loneos.$(ARCH).o    \
     50$(SRC)/dvo_convert_panstarrs_DEV_0.$(ARCH).o \
    5051$(SRC)/skyregion_io.$(ARCH).o    \
    5152$(SRC)/skyregion_gsc.$(ARCH).o    \
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/doc/dvo-structures.txt

    r12008 r12275  
    8686- CFHT Elixir databases: cmp files, ELIXIR format
    8787- Brandon's Taurus db: incorrect 'PANSTARRS' format, should be called
    88   'PSTEST1'
     88  'PSTEST1'.  drop support for this eventually? have brandon migrate to
     89  the new panstarrs formats?
    8990
    9091I am going to use the following naming convention for future db table
    9192updates:
    9293
     94- PANSTARRS.DEV.0, PANSTARRS.DEV.1, etc
    9395- PANSTARRS.PS1.0, PANSTARRS.PS1.1, etc
    9496- PANSTARRS.PS4.0, PANSTARRS.PS4.1, etc
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/include/dvo.h

    r12222 r12275  
    1818
    1919/* DVO table formats */
    20 enum {DVO_FORMAT_UNDEF, DVO_FORMAT_INTERNAL, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS, DVO_FORMAT_PMTEST} DVOTableFormat;
     20enum {DVO_FORMAT_UNDEF,
     21      DVO_FORMAT_INTERNAL,
     22      DVO_FORMAT_ELIXIR,
     23      DVO_FORMAT_LONEOS,
     24      DVO_FORMAT_PANSTARRS,
     25      DVO_FORMAT_PMTEST,
     26      DVO_FORMAT_PANSTARRS_DEV_0
     27} DVOTableFormat;
    2128
    2229/* image data modes in RegImage */
     
    339346int ImageToVtable (VTable *vtable, Header *theader, int format);
    340347
    341 Image            *ImageElixirToInternal (ImageElixir *in, int Nvalues);
    342 Image            *ImageLoneosToInternal (ImageLoneos *in, int Nvalues);
    343 Image            *ImagePanstarrsToInternal (ImagePanstarrs *in, int Nvalues);
    344 
    345 ImageElixir      *ImageInternalToElixir (Image *in, int Nvalues);
    346 ImageLoneos      *ImageInternalToLoneos (Image *in, int Nvalues);
    347 ImagePanstarrs   *ImageInternalToPanstarrs (Image *in, int Nvalues);
    348 
    349 Average          *AverageLoneosToInternal (AverageLoneos *in, int Nvalues, SecFilt **primary);
    350 Average          *AverageElixirToInternal (AverageElixir *in, int Nvalues, SecFilt **primary);
    351 Average          *AveragePMtestToInternal (AveragePMtest *in, int Nvalues);
    352 Average          *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
    353 
    354 AverageLoneos    *AverageInternalToLoneos (Average *in, int Nvalues, SecFilt *primary);
    355 AverageElixir    *AverageInternalToElixir (Average *in, int Nvalues, SecFilt *primary);
    356 AveragePMtest    *AverageInternalToPMtest (Average *in, int Nvalues);
    357 AveragePanstarrs *AverageInternalToPanstarrs (Average *in, int Nvalues);
    358 
    359 Measure          *MeasureLoneosToInternal (MeasureLoneos *in, int Nvalues);
    360 Measure          *MeasureElixirToInternal (MeasureElixir *in, int Nvalues);
    361 Measure          *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
    362 
    363 MeasureLoneos    *MeasureInternalToLoneos (Measure *in, int Nvalues);
    364 MeasureElixir    *MeasureInternalToElixir (Measure *in, int Nvalues);
    365 MeasurePanstarrs *MeasureInternalToPanstarrs (Measure *in, int Nvalues);
    366 
    367 SecFilt          *SecFiltLoneosToInternal (SecFiltLoneos *in, int Nvalues);
    368 SecFilt          *SecFiltElixirToInternal (SecFiltElixir *in, int Nvalues);
    369 SecFilt          *SecFiltPanstarrsToInternal (SecFiltPanstarrs *in, int Nvalues);
    370 
    371 SecFiltLoneos    *SecFiltInternalToLoneos (SecFilt *in, int Nvalues);
    372 SecFiltElixir    *SecFiltInternalToElixir (SecFilt *in, int Nvalues);
    373 SecFiltPanstarrs *SecFiltInternalToPanstarrs (SecFilt *in, int Nvalues);
     348Image                  *ImageElixirToInternal (ImageElixir *in, int Nvalues);
     349Image                  *ImageLoneosToInternal (ImageLoneos *in, int Nvalues);
     350Image                  *ImagePanstarrsToInternal (ImagePanstarrs *in, int Nvalues);
     351Image                  *ImagePanstarrs_DEV_0_ToInternal (ImagePanstarrs_DEV_0 *in, int Nvalues);
     352
     353ImageElixir            *ImageInternalToElixir (Image *in, int Nvalues);
     354ImageLoneos            *ImageInternalToLoneos (Image *in, int Nvalues);
     355ImagePanstarrs         *ImageInternalToPanstarrs (Image *in, int Nvalues);
     356ImagePanstarrs_DEV_0   *ImageInternalToPanstarrs_DEV_0 (Image *in, int Nvalues);
     357
     358Average                *AverageLoneosToInternal (AverageLoneos *in, int Nvalues, SecFilt **primary);
     359Average                *AverageElixirToInternal (AverageElixir *in, int Nvalues, SecFilt **primary);
     360Average                *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
     361Average                *AveragePanstarrs_DEV_0_ToInternal (AveragePanstarrs_DEV_0 *in, int Nvalues);
     362
     363AverageLoneos          *AverageInternalToLoneos (Average *in, int Nvalues, SecFilt *primary);
     364AverageElixir          *AverageInternalToElixir (Average *in, int Nvalues, SecFilt *primary);
     365AveragePanstarrs       *AverageInternalToPanstarrs (Average *in, int Nvalues);
     366AveragePanstarrs_DEV_0 *AverageInternalToPanstarrs_DEV_0 (Average *in, int Nvalues);
     367
     368Measure                *MeasureLoneosToInternal (MeasureLoneos *in, int Nvalues);
     369Measure                *MeasureElixirToInternal (MeasureElixir *in, int Nvalues);
     370Measure                *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
     371Measure                *MeasurePanstarrs_DEV_0_ToInternal (MeasurePanstarrs_DEV_0 *in, int Nvalues);
     372
     373MeasureLoneos          *MeasureInternalToLoneos (Measure *in, int Nvalues);
     374MeasureElixir          *MeasureInternalToElixir (Measure *in, int Nvalues);
     375MeasurePanstarrs       *MeasureInternalToPanstarrs (Measure *in, int Nvalues);
     376MeasurePanstarrs_DEV_0 *MeasureInternalToPanstarrs_DEV_0 (Measure *in, int Nvalues);
     377
     378SecFilt                *SecFiltLoneosToInternal (SecFiltLoneos *in, int Nvalues);
     379SecFilt                *SecFiltElixirToInternal (SecFiltElixir *in, int Nvalues);
     380SecFilt                *SecFiltPanstarrsToInternal (SecFiltPanstarrs *in, int Nvalues);
     381SecFilt                *SecFiltPanstarrs_DEV_0_ToInternal (SecFiltPanstarrs_DEV_0 *in, int Nvalues);
     382
     383SecFiltLoneos          *SecFiltInternalToLoneos (SecFilt *in, int Nvalues);
     384SecFiltElixir          *SecFiltInternalToElixir (SecFilt *in, int Nvalues);
     385SecFiltPanstarrs       *SecFiltInternalToPanstarrs (SecFilt *in, int Nvalues);
     386SecFiltPanstarrs_DEV_0 *SecFiltInternalToPanstarrs_DEV_0 (SecFilt *in, int Nvalues);
    374387
    375388/*** DVO image db I/O Functions ***/
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_catalog.c

    r12008 r12275  
    5050  if (!strcasecmp (catformat, "PANSTARRS")) return (DVO_FORMAT_PANSTARRS);
    5151  if (!strcasecmp (catformat, "PMTEST"))    return (DVO_FORMAT_PMTEST);
     52  if (!strcasecmp (catformat, "PANSTARRS_DEV_0")) return (DVO_FORMAT_PANSTARRS_DEV_0);
    5253  return (DVO_FORMAT_UNDEF);
    5354}
     
    386387/*
    387388  mode   : items to read (LOAD_AVES | LOAD_MEAS | LOAD_MISS | LOAD_SECF)
    388   format : what structure on disk (INTERNAL, ELIXIR, LONEOS, PANSTARRS)
     389  format : what table structure on disk (INTERNAL, LONEOS, etc, )
    389390  style  : raw, mef, split, mysql
    390391*/
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c

    r12009 r12275  
    4545  Measure *measure;
    4646
    47   if (catalog[0].catformat == DVO_FORMAT_LONEOS) goto do_convert;
    48   if (catalog[0].catformat == DVO_FORMAT_ELIXIR) goto do_convert;
     47  if (catalog[0].catformat == DVO_FORMAT_LONEOS) goto do_convert;  // special conversion for LONEOS
     48  if (catalog[0].catformat == DVO_FORMAT_ELIXIR) goto do_convert;  // special conversion for ELIXIR
    4949  return TRUE;
    5050
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_catalog_mef.c

    r12011 r12275  
    152152}
    153153
    154 /* XXX need to decompose the primary and secfilt entries for ELIXIR and LONEOS */
     154/* XXX need to decompose the primary and secfilt entries for Elixir and Loneos */
    155155/* save_catalog_mef writes a complete new file from scratch */
    156156int dvo_catalog_save_mef (Catalog *catalog, char VERBOSE) {
     
    198198
    199199  /* for the appropriate types, pull out the first secfilt and pass to AverageToFtable as primary */
    200   if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || (catalog[0].catformat == DVO_FORMAT_LONEOS)) {
     200  if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || // special case for ELIXIR
     201      (catalog[0].catformat == DVO_FORMAT_LONEOS)) { // special case for LONEOS
    201202    Nallfilt = catalog[0].Nsecfilt;
    202203    Nsecfilt = catalog[0].Nsecfilt - 1;
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_catalog_raw.c

    r12011 r12275  
    2929  catalog[0].catformat = DVO_FORMAT_UNDEF;
    3030  if (gfits_scan (&catalog[0].header, "FORMAT",  "%s", 1, format)) {
    31     if (!strcmp (format, "INTERNAL")) catalog[0].catformat = DVO_FORMAT_INTERNAL;
    32     if (!strcmp (format, "LONEOS")) catalog[0].catformat = DVO_FORMAT_LONEOS;
    33     if (!strcmp (format, "ELIXIR")) catalog[0].catformat = DVO_FORMAT_ELIXIR;
    34     // if (!strcmp (format, "PANSTARRS")) catalog[0].catformat = DVO_FORMAT_PANSTARRS;
    35     // if (!strcmp (format, "PMTEST")) catalog[0].catformat = DVO_FORMAT_PMTEST;
     31    catalog[0].catformat = dvo_catalog_catformat (format);
    3632    if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format;
    3733  }
    3834  /* special cases: old versions of the DB tables which were poorly identified */
    3935  if (gfits_scan (&catalog[0].header, "NEWMEAS",  "%t", 1, &NewMeasure)) {
    40     catalog[0].catformat = DVO_FORMAT_ELIXIR;
     36    catalog[0].catformat = DVO_FORMAT_ELIXIR; // special case for ELIXIR
    4137    goto got_format;
    4238  }
    4339  if (gfits_scan (&catalog[0].header, "TELESCOP",  "%s", 1, telescope)) {
    4440    if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
    45       catalog[0].catformat = DVO_FORMAT_LONEOS;
     41      catalog[0].catformat = DVO_FORMAT_LONEOS; // special case for LONEOS
    4642      goto got_format;
    4743    }
    4844    if (!strncmp (telescope, "1.3m McGraw-Hill", strlen("1.3m McGraw-Hill"))) {
    49       catalog[0].catformat = DVO_FORMAT_ELIXIR;
     45      catalog[0].catformat = DVO_FORMAT_ELIXIR; // special case for ELIXIR
    5046      goto got_format;
    5147    }
     
    6056      AverageSize = sizeof(Average);
    6157      MeasureSize = sizeof(Measure);
    62       SecFiltSize = sizeof (SecFilt);
     58      SecFiltSize = sizeof(SecFilt);
    6359      break;
    6460    case DVO_FORMAT_LONEOS:
    6561      AverageSize = sizeof(AverageLoneos);
    6662      MeasureSize = sizeof(MeasureLoneos);
    67       SecFiltSize = sizeof (SecFiltLoneos);
     63      SecFiltSize = sizeof(SecFiltLoneos);
    6864      break;
    6965    case DVO_FORMAT_ELIXIR:
    7066      AverageSize = sizeof(AverageElixir);
    7167      MeasureSize = sizeof(MeasureElixir);
    72       SecFiltSize = sizeof (SecFiltElixir);
     68      SecFiltSize = sizeof(SecFiltElixir);
     69      break;
     70    case DVO_FORMAT_PANSTARRS_DEV_0:
     71      AverageSize = sizeof(AveragePanstarrs_DEV_0);
     72      MeasureSize = sizeof(MeasurePanstarrs_DEV_0);
     73      SecFiltSize = sizeof(SecFiltPanstarrs_DEV_0);
    7374      break;
    7475# if 0
     
    7677      AverageSize = sizeof(AveragePanstarrs);
    7778      MeasureSize = sizeof(MeasurePanstarrs);
    78       SecFiltSize = sizeof (SecFiltPanstarrs);
     79      SecFiltSize = sizeof(SecFiltPanstarrs);
    7980      break;
    8081    case DVO_FORMAT_PMTEST:
    8182      AverageSize = sizeof(AveragePMtest);
    8283      MeasureSize = sizeof(MeasurePanstarrs);
    83       SecFiltSize = sizeof (SecFiltPanstarrs);
     84      SecFiltSize = sizeof(SecFiltPanstarrs);
    8485      break;
    8586# endif
     
    239240  if (catalog[0].catformat == DVO_FORMAT_LONEOS)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");
    240241  if (catalog[0].catformat == DVO_FORMAT_ELIXIR)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");
     242  if (catalog[0].catformat == DVO_FORMAT_PANSTARRS_DEV_0) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS_DEV_0");
    241243  // if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");
    242244  // if (catalog[0].catformat == DVO_FORMAT_PMTEST)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");
     
    255257
    256258  /* for the appropriate types, pull out the first secfilt and pass to WriteRawAverage as primary */
    257   if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || (catalog[0].catformat == DVO_FORMAT_LONEOS)) {
     259  if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || // special case for ELIXIR
     260      (catalog[0].catformat == DVO_FORMAT_LONEOS)) { // special case for LONEOS
    258261    Nallfilt = catalog[0].Nsecfilt;
    259262    Nsecfilt = catalog[0].Nsecfilt - 1;
     
    310313  int nitems;
    311314  Average *average;
    312   AverageElixir *tmpAverageElixir;
    313   AverageLoneos *tmpAverageLoneos;
    314   // AveragePanstarrs *tmpAveragePanstarrs;
    315   // AveragePMtest *tmpAveragePMtest;
    316 
    317   /* in the ELIXIR and LONEOS cases, we are supplied with an average magnitude in Average
     315
     316  /* in the Elixir and Loneos cases, we are supplied with an average magnitude in Average
    318317     in these cases, save these values in primary; otherwise set primary to NULL */
    319318  *primary = NULL;
    320319
    321320  switch (format) {
    322     case DVO_FORMAT_INTERNAL:
     321    case DVO_FORMAT_INTERNAL: {
    323322      ALLOCATE (average, Average, MAX (Naverage, 1));
    324323      nitems = fread (average, sizeof(Average), Naverage, f);
     
    328327      }
    329328      gfits_convert_Average (average, sizeof(Average), Naverage);
    330       break;
    331     case DVO_FORMAT_ELIXIR:
    332       ALLOCATE (tmpAverageElixir, AverageElixir, MAX (Naverage, 1));
    333       nitems = fread (tmpAverageElixir, sizeof(AverageElixir), Naverage, f);
     329      break; }
     330    case DVO_FORMAT_ELIXIR: {
     331      AverageElixir *tmpAverage;
     332      ALLOCATE (tmpAverage, AverageElixir, MAX (Naverage, 1));
     333      nitems = fread (tmpAverage, sizeof(AverageElixir), Naverage, f);
    334334      if (nitems != Naverage) {
    335335        fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage);
    336336        return (NULL);
    337337      }
    338       gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
    339       average = AverageElixirToInternal (tmpAverageElixir, Naverage, primary);
    340       free (tmpAverageElixir);
    341       break;
    342     case DVO_FORMAT_LONEOS:
    343       ALLOCATE (tmpAverageLoneos, AverageLoneos, MAX (Naverage, 1));
    344       nitems = fread (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f);
     338      gfits_convert_AverageElixir (tmpAverage, sizeof(AverageElixir), Naverage);
     339      average = AverageElixirToInternal (tmpAverage, Naverage, primary);
     340      free (tmpAverage);
     341      break; }
     342    case DVO_FORMAT_LONEOS: {
     343      AverageLoneos *tmpAverage;
     344      ALLOCATE (tmpAverage, AverageLoneos, MAX (Naverage, 1));
     345      nitems = fread (tmpAverage, sizeof(AverageLoneos), Naverage, f);
    345346      if (nitems != Naverage) {
    346347        fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage);
    347348        return (NULL);
    348349      }
    349       gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
    350       average = AverageLoneosToInternal (tmpAverageLoneos, Naverage, primary);
    351       free (tmpAverageLoneos);
    352       break;
     350      gfits_convert_AverageLoneos (tmpAverage, sizeof(AverageLoneos), Naverage);
     351      average = AverageLoneosToInternal (tmpAverage, Naverage, primary);
     352      free (tmpAverage);
     353      break; }
     354    case DVO_FORMAT_PANSTARRS_DEV_0: {
     355      AveragePanstarrs_DEV_0 *tmpAverage;
     356      ALLOCATE (tmpAverage, AveragePanstarrs_DEV_0, MAX (Naverage, 1));
     357      nitems = fread (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage, f);
     358      if (nitems != Naverage) {
     359        fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage);
     360        return (NULL);
     361      }
     362      gfits_convert_AveragePanstarrs_DEV_0 (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage);
     363      average = AveragePanstarrs_DEV_0_ToInternal (tmpAverage, Naverage);
     364      free (tmpAverage);
     365      break; }
    353366# if 0
    354     case DVO_FORMAT_PANSTARRS:
    355       ALLOCATE (tmpAveragePanstarrs, AveragePanstarrs, MAX (Naverage, 1));
    356       nitems = fread (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f);
     367    case DVO_FORMAT_PANSTARRS: {
     368      AveragePanstarrs *tmpAverage;
     369      ALLOCATE (tmpAverage, AveragePanstarrs, MAX (Naverage, 1));
     370      nitems = fread (tmpAverage, sizeof(AveragePanstarrs), Naverage, f);
    357371      if (nitems != Naverage) {
    358372        fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage);
    359373        return (NULL);
    360374      }
    361       gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
    362       average = AveragePanstarrsToInternal (tmpAveragePanstarrs, Naverage);
    363       free (tmpAveragePanstarrs);
    364       break;
    365     case DVO_FORMAT_PMTEST:
    366       ALLOCATE (tmpAveragePMtest, AveragePMtest, MAX (Naverage, 1));
    367       nitems = fread (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f);
     375      gfits_convert_AveragePanstarrs (tmpAverage, sizeof(AveragePanstarrs), Naverage);
     376      average = AveragePanstarrsToInternal (tmpAverage, Naverage);
     377      free (tmpAverage);
     378      break; }
     379    case DVO_FORMAT_PMTEST: {
     380      AveragePMtest *tmpAverage;
     381      ALLOCATE (tmpAverage, AveragePMtest, MAX (Naverage, 1));
     382      nitems = fread (tmpAverage, sizeof(AveragePMtest), Naverage, f);
    368383      if (nitems != Naverage) {
    369384        fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage);
    370385        return (NULL);
    371386      }
    372       gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
    373       average = AveragePMtestToInternal (tmpAveragePMtest, Naverage);
    374       free (tmpAveragePMtest);
    375       break;
     387      gfits_convert_AveragePMtest (tmpAverage, sizeof(AveragePMtest), Naverage);
     388      average = AveragePMtestToInternal (tmpAverage, Naverage);
     389      free (tmpAverage);
     390      break; }
    376391# endif
    377392    default:
     
    387402
    388403  int nitems;
    389   AverageElixir *tmpAverageElixir;
    390   AverageLoneos *tmpAverageLoneos;
    391   // AveragePanstarrs *tmpAveragePanstarrs;
    392   // AveragePMtest *tmpAveragePMtest;
    393404
    394405  switch (format) {
    395     case DVO_FORMAT_INTERNAL:
     406    case DVO_FORMAT_INTERNAL: {
    396407      gfits_convert_Average (average, sizeof(Average), Naverage);
    397408      nitems = fwrite (average, sizeof(Average), Naverage, f);
     
    400411        return (FALSE);
    401412      }
    402       break;
    403     case DVO_FORMAT_ELIXIR:
    404       tmpAverageElixir = AverageInternalToElixir (average, Naverage, primary);
    405       gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
    406       nitems = fwrite (tmpAverageElixir, sizeof(AverageElixir), Naverage, f);
    407       free (tmpAverageElixir);
     413      break; }
     414    case DVO_FORMAT_ELIXIR: {
     415      AverageElixir *tmpAverage;
     416      tmpAverage = AverageInternalToElixir (average, Naverage, primary);
     417      gfits_convert_AverageElixir (tmpAverage, sizeof(AverageElixir), Naverage);
     418      nitems = fwrite (tmpAverage, sizeof(AverageElixir), Naverage, f);
     419      free (tmpAverage);
    408420      if (nitems != Naverage) {
    409421        fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage);
    410422        return (FALSE);
    411423      }
    412       break;
    413     case DVO_FORMAT_LONEOS:
    414       tmpAverageLoneos = AverageInternalToLoneos (average, Naverage, primary);
    415       gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
    416       nitems = fwrite (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f);
    417       free (tmpAverageLoneos);
     424      break; }
     425    case DVO_FORMAT_LONEOS: {
     426      AverageLoneos *tmpAverage;
     427      tmpAverage = AverageInternalToLoneos (average, Naverage, primary);
     428      gfits_convert_AverageLoneos (tmpAverage, sizeof(AverageLoneos), Naverage);
     429      nitems = fwrite (tmpAverage, sizeof(AverageLoneos), Naverage, f);
     430      free (tmpAverage);
    418431      if (nitems != Naverage) {
    419432        fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage);
    420433        return (FALSE);
    421434      }
    422       break;
     435      break; }
     436    case DVO_FORMAT_PANSTARRS_DEV_0: {
     437      AveragePanstarrs_DEV_0 *tmpAverage;
     438      tmpAverage = AverageInternalToPanstarrs_DEV_0 (average, Naverage);
     439      gfits_convert_AveragePanstarrs_DEV_0 (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage);
     440      nitems = fwrite (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage, f);
     441      free (tmpAverage);
     442      if (nitems != Naverage) {
     443        fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage);
     444        return (FALSE);
     445      }
     446      break; }
    423447# if 0
    424     case DVO_FORMAT_PANSTARRS:
    425       tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
    426       gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
    427       nitems = fwrite (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f);
    428       free (tmpAveragePanstarrs);
     448    case DVO_FORMAT_PANSTARRS: {
     449      AveragePanstarrs *tmpAverage;
     450      tmpAverage = AverageInternalToPanstarrs (average, Naverage);
     451      gfits_convert_AveragePanstarrs (tmpAverage, sizeof(AveragePanstarrs), Naverage);
     452      nitems = fwrite (tmpAverage, sizeof(AveragePanstarrs), Naverage, f);
     453      free (tmpAverage);
    429454      if (nitems != Naverage) {
    430455        fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage);
    431456        return (FALSE);
    432457      }
    433       break;
    434     case DVO_FORMAT_PMTEST:
    435       tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
    436       gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
    437       nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f);
    438       free (tmpAveragePMtest);
     458      break; }
     459    case DVO_FORMAT_PMTEST: {
     460      AveragePMtest *tmpAverage;
     461      tmpAverage = AverageInternalToPMtest (average, Naverage);
     462      gfits_convert_AveragePMtest (tmpAverage, sizeof(AveragePMtest), Naverage);
     463      nitems = fwrite (tmpAverage, sizeof(AveragePMtest), Naverage, f);
     464      free (tmpAverage);
    439465      if (nitems != Naverage) {
    440466        fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage);
    441467        return (FALSE);
    442468      }
    443       break;
     469      break; }
    444470# endif
    445471    default:
     
    456482  int nitems;
    457483  Measure *measure;
    458   MeasureElixir *tmpMeasureElixir;
    459   MeasureLoneos *tmpMeasureLoneos;
    460   // MeasurePanstarrs *tmpMeasurePanstarrs;
    461484
    462485  switch (format) {
    463     case DVO_FORMAT_INTERNAL:
     486    case DVO_FORMAT_INTERNAL: {
    464487      ALLOCATE (measure, Measure, MAX (Nmeasure, 1));
    465488      nitems = fread (measure, sizeof(Measure), Nmeasure, f);
     
    469492      }
    470493      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
    471       break;
    472     case DVO_FORMAT_ELIXIR:
    473       ALLOCATE (tmpMeasureElixir, MeasureElixir, MAX (Nmeasure, 1));
    474       nitems = fread (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f);
     494      break; }
     495    case DVO_FORMAT_ELIXIR: {
     496      MeasureElixir *tmpMeasure;
     497      ALLOCATE (tmpMeasure, MeasureElixir, MAX (Nmeasure, 1));
     498      nitems = fread (tmpMeasure, sizeof(MeasureElixir), Nmeasure, f);
    475499      if (nitems != Nmeasure) {
    476500        fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure);
    477501        return (NULL);
    478502      }
    479       gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
    480       measure = MeasureElixirToInternal (tmpMeasureElixir, Nmeasure);
    481       free (tmpMeasureElixir);
    482       break;
    483     case DVO_FORMAT_LONEOS:
    484       ALLOCATE (tmpMeasureLoneos, MeasureLoneos, MAX (Nmeasure, 1));
    485       nitems = fread (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f);
     503      gfits_convert_MeasureElixir (tmpMeasure, sizeof(MeasureElixir), Nmeasure);
     504      measure = MeasureElixirToInternal (tmpMeasure, Nmeasure);
     505      free (tmpMeasure);
     506      break; }
     507    case DVO_FORMAT_LONEOS: {
     508      MeasureLoneos *tmpMeasure;
     509      ALLOCATE (tmpMeasure, MeasureLoneos, MAX (Nmeasure, 1));
     510      nitems = fread (tmpMeasure, sizeof(MeasureLoneos), Nmeasure, f);
    486511      if (nitems != Nmeasure) {
    487512        fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure);
    488513        return (NULL);
    489514      }
    490       gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
    491       measure = MeasureLoneosToInternal (tmpMeasureLoneos, Nmeasure);
    492       free (tmpMeasureLoneos);
    493       break;
     515      gfits_convert_MeasureLoneos (tmpMeasure, sizeof(MeasureLoneos), Nmeasure);
     516      measure = MeasureLoneosToInternal (tmpMeasure, Nmeasure);
     517      free (tmpMeasure);
     518      break; }
     519    case DVO_FORMAT_PANSTARRS_DEV_0: {
     520      MeasurePanstarrs_DEV_0 *tmpMeasure;
     521      ALLOCATE (tmpMeasure, MeasurePanstarrs_DEV_0, MAX (Nmeasure, 1));
     522      nitems = fread (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure, f);
     523      if (nitems != Nmeasure) {
     524        fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure);
     525        return (NULL);
     526      }
     527      gfits_convert_MeasurePanstarrs_DEV_0 (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure);
     528      measure = MeasurePanstarrs_DEV_0_ToInternal (tmpMeasure, Nmeasure);
     529      free (tmpMeasure);
     530      break; }
    494531# if 0
    495     case DVO_FORMAT_PANSTARRS:
    496     case DVO_FORMAT_PMTEST:
    497       ALLOCATE (tmpMeasurePanstarrs, MeasurePanstarrs, MAX (Nmeasure, 1));
    498       nitems = fread (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);
     532    case DVO_FORMAT_PANSTARRS: {
     533      MeasurePanstarrs *tmpMeasure;
     534      ALLOCATE (tmpMeasure, MeasurePanstarrs, MAX (Nmeasure, 1));
     535      nitems = fread (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure, f);
    499536      if (nitems != Nmeasure) {
    500537        fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure);
    501538        return (NULL);
    502539      }
    503       gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
    504       measure = MeasurePanstarrsToInternal (tmpMeasurePanstarrs, Nmeasure);
    505       free (tmpMeasurePanstarrs);
    506       break;
     540      gfits_convert_MeasurePanstarrs (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure);
     541      measure = MeasurePanstarrsToInternal (tmpMeasure, Nmeasure);
     542      free (tmpMeasure);
     543      break; }
    507544# endif
    508545    default:
     
    518555
    519556  int nitems;
    520   MeasureElixir *tmpMeasureElixir;
    521   MeasureLoneos *tmpMeasureLoneos;
    522   // MeasurePanstarrs *tmpMeasurePanstarrs;
    523557
    524558  switch (format) {
    525     case DVO_FORMAT_INTERNAL:
     559    case DVO_FORMAT_INTERNAL: {
    526560      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
    527561      nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
     
    530564        return (FALSE);
    531565      }
    532       break;
    533     case DVO_FORMAT_ELIXIR:
    534       tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
    535       gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
    536       nitems = fwrite (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f);
    537       free (tmpMeasureElixir);
     566      break; }
     567    case DVO_FORMAT_ELIXIR: {
     568      MeasureElixir *tmpMeasure;
     569      tmpMeasure = MeasureInternalToElixir (measure, Nmeasure);
     570      gfits_convert_MeasureElixir (tmpMeasure, sizeof(MeasureElixir), Nmeasure);
     571      nitems = fwrite (tmpMeasure, sizeof(MeasureElixir), Nmeasure, f);
     572      free (tmpMeasure);
    538573      if (nitems != Nmeasure) {
    539574        fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure);
    540575        return (FALSE);
    541576      }
    542       break;
    543     case DVO_FORMAT_LONEOS:
    544       tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
    545       gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
    546       nitems = fwrite (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f);
    547       free (tmpMeasureLoneos);
     577      break; }
     578    case DVO_FORMAT_LONEOS: {
     579      MeasureLoneos *tmpMeasure;
     580      tmpMeasure = MeasureInternalToLoneos (measure, Nmeasure);
     581      gfits_convert_MeasureLoneos (tmpMeasure, sizeof(MeasureLoneos), Nmeasure);
     582      nitems = fwrite (tmpMeasure, sizeof(MeasureLoneos), Nmeasure, f);
     583      free (tmpMeasure);
    548584      if (nitems != Nmeasure) {
    549585        fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure);
    550586        return (FALSE);
    551587      }
    552       break;
     588      break; }
     589    case DVO_FORMAT_PANSTARRS_DEV_0: {
     590      MeasurePanstarrs_DEV_0 *tmpMeasure;
     591      tmpMeasure = MeasureInternalToPanstarrs_DEV_0 (measure, Nmeasure);
     592      gfits_convert_MeasurePanstarrs_DEV_0 (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure);
     593      nitems = fwrite (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure, f);
     594      free (tmpMeasure);
     595      if (nitems != Nmeasure) {
     596        fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure);
     597        return (FALSE);
     598      }
     599      break; }
    553600# if 0
    554     case DVO_FORMAT_PANSTARRS:
    555     case DVO_FORMAT_PMTEST:
    556       tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
    557       gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
    558       nitems = fwrite (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);
    559       free (tmpMeasurePanstarrs);
     601    case DVO_FORMAT_PANSTARRS: {
     602      MeasurePanstarrs *tmpMeasure;
     603      tmpMeasure = MeasureInternalToPanstarrs (measure, Nmeasure);
     604      gfits_convert_MeasurePanstarrs (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure);
     605      nitems = fwrite (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure, f);
     606      free (tmpMeasure);
    560607      if (nitems != Nmeasure) {
    561608        fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure);
    562609        return (FALSE);
    563610      }
    564       break;
     611      break; }
    565612# endif
    566613    default:
     
    577624  int nitems;
    578625  SecFilt *secfilt;
    579   SecFiltElixir *tmpSecFiltElixir;
    580   SecFiltLoneos *tmpSecFiltLoneos;
    581   // SecFiltPanstarrs *tmpSecFiltPanstarrs;
    582626
    583627  switch (format) {
    584     case DVO_FORMAT_INTERNAL:
     628    case DVO_FORMAT_INTERNAL: {
    585629      ALLOCATE (secfilt, SecFilt, MAX (Nsecfilt, 1));
    586630      nitems = fread (secfilt, sizeof(SecFilt), Nsecfilt, f);
     
    590634      }
    591635      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
    592       break;
    593     case DVO_FORMAT_ELIXIR:
    594       ALLOCATE (tmpSecFiltElixir, SecFiltElixir, MAX (Nsecfilt, 1));
    595       nitems = fread (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f);
     636      break; }
     637    case DVO_FORMAT_ELIXIR: {
     638      SecFiltElixir *tmpSecFilt;
     639      ALLOCATE (tmpSecFilt, SecFiltElixir, MAX (Nsecfilt, 1));
     640      nitems = fread (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt, f);
    596641      if (nitems != Nsecfilt) {
    597642        fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt);
    598643        return (NULL);
    599644      }
    600       gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
    601       secfilt = SecFiltElixirToInternal (tmpSecFiltElixir, Nsecfilt);
    602       free (tmpSecFiltElixir);
    603       break;
    604     case DVO_FORMAT_LONEOS:
    605       ALLOCATE (tmpSecFiltLoneos, SecFiltLoneos, MAX (Nsecfilt, 1));
    606       nitems = fread (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f);
     645      gfits_convert_SecFiltElixir (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt);
     646      secfilt = SecFiltElixirToInternal (tmpSecFilt, Nsecfilt);
     647      free (tmpSecFilt);
     648      break; }
     649    case DVO_FORMAT_LONEOS: {
     650      SecFiltLoneos *tmpSecFilt;
     651      ALLOCATE (tmpSecFilt, SecFiltLoneos, MAX (Nsecfilt, 1));
     652      nitems = fread (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt, f);
    607653      if (nitems != Nsecfilt) {
    608654        fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt);
    609655        return (NULL);
    610656      }
    611       gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
    612       secfilt = SecFiltLoneosToInternal (tmpSecFiltLoneos, Nsecfilt);
    613       free (tmpSecFiltLoneos);
    614       break;
     657      gfits_convert_SecFiltLoneos (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt);
     658      secfilt = SecFiltLoneosToInternal (tmpSecFilt, Nsecfilt);
     659      free (tmpSecFilt);
     660      break; }
     661    case DVO_FORMAT_PANSTARRS_DEV_0: {
     662      SecFiltPanstarrs_DEV_0 *tmpSecFilt;
     663      ALLOCATE (tmpSecFilt, SecFiltPanstarrs_DEV_0, MAX (Nsecfilt, 1));
     664      nitems = fread (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt, f);
     665      if (nitems != Nsecfilt) {
     666        fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt);
     667        return (NULL);
     668      }
     669      gfits_convert_SecFiltPanstarrs_DEV_0 (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt);
     670      secfilt = SecFiltPanstarrs_DEV_0_ToInternal (tmpSecFilt, Nsecfilt);
     671      free (tmpSecFilt);
     672      break; }
    615673# if 0
    616     case DVO_FORMAT_PANSTARRS:
    617     case DVO_FORMAT_PMTEST:
    618       ALLOCATE (tmpSecFiltPanstarrs, SecFiltPanstarrs, MAX (Nsecfilt, 1));
    619       nitems = fread (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);
     674    case DVO_FORMAT_PANSTARRS: {
     675      SecFiltPanstarrs *tmpSecFilt;
     676      ALLOCATE (tmpSecFilt, SecFiltPanstarrs, MAX (Nsecfilt, 1));
     677      nitems = fread (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt, f);
    620678      if (nitems != Nsecfilt) {
    621679        fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt);
    622680        return (NULL);
    623681      }
    624       gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
    625       secfilt = SecFiltPanstarrsToInternal (tmpSecFiltPanstarrs, Nsecfilt);
    626       free (tmpSecFiltPanstarrs);
    627       break;
     682      gfits_convert_SecFiltPanstarrs (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt);
     683      secfilt = SecFiltPanstarrsToInternal (tmpSecFilt, Nsecfilt);
     684      free (tmpSecFilt);
     685      break; }
    628686# endif
    629687    default:
     
    639697
    640698  int nitems;
    641   SecFiltElixir *tmpSecFiltElixir;
    642   SecFiltLoneos *tmpSecFiltLoneos;
    643   // SecFiltPanstarrs *tmpSecFiltPanstarrs;
    644699
    645700  switch (format) {
    646     case DVO_FORMAT_INTERNAL:
     701    case DVO_FORMAT_INTERNAL: {
    647702      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
    648703      nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f);
     
    651706        return (FALSE);
    652707      }
    653       break;
    654     case DVO_FORMAT_ELIXIR:
    655       tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
    656       gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
    657       nitems = fwrite (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f);
    658       free (tmpSecFiltElixir);
     708      break; }
     709    case DVO_FORMAT_ELIXIR: {
     710      SecFiltElixir *tmpSecFilt;
     711      tmpSecFilt = SecFiltInternalToElixir (secfilt, Nsecfilt);
     712      gfits_convert_SecFiltElixir (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt);
     713      nitems = fwrite (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt, f);
     714      free (tmpSecFilt);
    659715      if (nitems != Nsecfilt) {
    660716        fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt);
    661717        return (FALSE);
    662718      }
    663       break;
    664     case DVO_FORMAT_LONEOS:
    665       tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
    666       gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
    667       nitems = fwrite (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f);
    668       free (tmpSecFiltLoneos);
     719      break; }
     720    case DVO_FORMAT_LONEOS: {
     721      SecFiltLoneos *tmpSecFilt;
     722      tmpSecFilt = SecFiltInternalToLoneos (secfilt, Nsecfilt);
     723      gfits_convert_SecFiltLoneos (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt);
     724      nitems = fwrite (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt, f);
     725      free (tmpSecFilt);
    669726      if (nitems != Nsecfilt) {
    670727        fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt);
    671728        return (FALSE);
    672729      }
    673       break;
     730      break; }
     731    case DVO_FORMAT_PANSTARRS_DEV_0: {
     732      SecFiltPanstarrs_DEV_0 *tmpSecFilt;
     733      tmpSecFilt = SecFiltInternalToPanstarrs_DEV_0 (secfilt, Nsecfilt);
     734      gfits_convert_SecFiltPanstarrs_DEV_0 (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt);
     735      nitems = fwrite (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt, f);
     736      free (tmpSecFilt);
     737      if (nitems != Nsecfilt) {
     738        fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt);
     739        return (FALSE);
     740      }
     741      break; }
    674742# if 0
    675     case DVO_FORMAT_PANSTARRS:
    676     case DVO_FORMAT_PMTEST:
    677       tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
    678       gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
    679       nitems = fwrite (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);
    680       free (tmpSecFiltPanstarrs);
     743    case DVO_FORMAT_PANSTARRS: {
     744      SecFiltPanstarrs *tmpSecFilt;
     745      tmpSecFilt = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
     746      gfits_convert_SecFiltPanstarrs (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt);
     747      nitems = fwrite (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt, f);
     748      free (tmpSecFilt);
    681749      if (nitems != Nsecfilt) {
    682750        fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt);
    683751        return (FALSE);
    684752      }
    685       break;
     753      break; }
    686754# endif
    687755    default:
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_catalog_split.c

    r12011 r12275  
    318318
    319319  /* for the appropriate types, pull out the first secfilt and pass to AverageToFtable as primary */
    320   if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || (catalog[0].catformat == DVO_FORMAT_LONEOS)) {
     320  if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || // special case for ELIXIR
     321      (catalog[0].catformat == DVO_FORMAT_LONEOS)) { // special case for LONEOS
    321322    if (catalog[0].secfilt == NULL) {       
    322323      fprintf (stderr, "missing secfilt, cannot build output averages (dvo_catalog_split.c:544)\n");
     
    543544
    544545  /** for the appropriate types, pull out the first secfilt and pass to AverageToFtable as primary **/
    545   if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || (catalog[0].catformat == DVO_FORMAT_LONEOS)) {
     546  if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || // special case for ELIXIR
     547      (catalog[0].catformat == DVO_FORMAT_LONEOS)) { // special case for LONEOS
    546548    if (catalog[0].secfilt == NULL) {
    547549      fprintf (stderr, "missing secfilt, cannot build output averages (dvo_catalog_split.c:544)\n");
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_convert.c

    r12011 r12275  
    1818  char extname[80];
    1919
    20   /* in the ELIXIR and LONEOS cases, we are supplied with an average magnitude in Average
     20  /* in the Elixir and Loneos cases, we are supplied with an average magnitude in Average
    2121     in these cases, save these values in primary; otherwise set primary to NULL */
    2222  *primary = NULL;
     
    4848    return (average);
    4949  }
     50  if (!strcmp (extname, "DVO_AVERAGE_PANSTARRS_DEV_0")) {
     51    AveragePanstarrs_DEV_0 *tmpAverage;
     52    tmpAverage = gfits_table_get_AveragePanstarrs_DEV_0 (ftable, Naverage, NULL);
     53    average = AveragePanstarrs_DEV_0_ToInternal (tmpAverage, *Naverage);
     54    free (tmpAverage);
     55    *format = DVO_FORMAT_PANSTARRS_DEV_0;
     56    return (average);
     57  }
    5058/* disable the new and minimally-used versions for now. 
    5159   put them back in after dev work is further along
     
    7886int AverageToFtable (FTable *ftable, Average *average, int Naverage, int format, SecFilt *primary) {
    7987
    80   AverageElixir *tmpAverageElixir;
    81   AverageLoneos *tmpAverageLoneos ;
    82   // AveragePanstarrs *tmpAveragePanstarrs;
    83   // AveragePMtest *tmpAveragePMtest;
    8488
    8589  /* convert from the internal format */
    8690  switch (format) {
    87     case DVO_FORMAT_INTERNAL:
     91    case DVO_FORMAT_INTERNAL: {
    8892      gfits_table_set_Average (ftable, average, Naverage);
    89       break;
    90     case DVO_FORMAT_ELIXIR:
    91       tmpAverageElixir = AverageInternalToElixir (average, Naverage, primary);
    92       gfits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);
    93       free (tmpAverageElixir);
    94       break;
    95     case DVO_FORMAT_LONEOS:
    96       tmpAverageLoneos  = AverageInternalToLoneos (average, Naverage, primary);
    97       gfits_table_set_AverageLoneos (ftable, tmpAverageLoneos, Naverage);
    98       free (tmpAverageLoneos );
    99       break;
    100 # if 0
    101     case DVO_FORMAT_PANSTARRS:
    102       tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
    103       gfits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);
    104       free (tmpAveragePanstarrs);
    105       break;
    106     case DVO_FORMAT_PMTEST:
    107       tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
    108       gfits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);
    109       free (tmpAveragePMtest);
    110       break;
     93      break; }
     94    case DVO_FORMAT_ELIXIR: {
     95      AverageElixir *tmpAverage;
     96      tmpAverage = AverageInternalToElixir (average, Naverage, primary);
     97      gfits_table_set_AverageElixir (ftable, tmpAverage, Naverage);
     98      free (tmpAverage);
     99      break; }
     100    case DVO_FORMAT_LONEOS: {
     101      AverageLoneos *tmpAverage ;
     102      tmpAverage  = AverageInternalToLoneos (average, Naverage, primary);
     103      gfits_table_set_AverageLoneos (ftable, tmpAverage, Naverage);
     104      free (tmpAverage );
     105      break; }
     106    case DVO_FORMAT_PANSTARRS_DEV_0: {
     107      AveragePanstarrs_DEV_0 *tmpAverage;
     108      tmpAverage = AverageInternalToPanstarrs_DEV_0 (average, Naverage);
     109      gfits_table_set_AveragePanstarrs_DEV_0 (ftable, tmpAverage, Naverage);
     110      free (tmpAverage);
     111      break; }
     112# if 0
     113    case DVO_FORMAT_PANSTARRS: {
     114      AveragePanstarrs *tmpAverage;
     115      tmpAverage = AverageInternalToPanstarrs (average, Naverage);
     116      gfits_table_set_AveragePanstarrs (ftable, tmpAverage, Naverage);
     117      free (tmpAverage);
     118      break; }
     119    case DVO_FORMAT_PMTEST: {
     120      AveragePMtest *tmpAverage;
     121      tmpAverage = AverageInternalToPMtest (average, Naverage);
     122      gfits_table_set_AveragePMtest (ftable, tmpAverage, Naverage);
     123      free (tmpAverage);
     124      break; }
    111125# endif
    112126    default:
     
    150164    return (measure);
    151165  }
     166  if (!strcmp (extname, "DVO_MEASURE_PANSTARRS_DEV_0")) {
     167    MeasurePanstarrs_DEV_0 *tmpMeasure;
     168    tmpMeasure = gfits_table_get_MeasurePanstarrs_DEV_0 (ftable, Nmeasure, NULL);
     169    measure = MeasurePanstarrs_DEV_0_ToInternal (tmpMeasure, *Nmeasure);
     170    free (tmpMeasure);
     171    *format = DVO_FORMAT_PANSTARRS_DEV_0;
     172    return (measure);
     173  }
    152174# if 0
    153175  if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") || !strcmp (extname, "DVO_MEASURE_PMTEST")) {
     
    169191int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, int format) {
    170192
    171   MeasureElixir *tmpMeasureElixir;
    172   MeasureLoneos *tmpMeasureLoneos;
    173   // MeasurePanstarrs *tmpMeasurePanstarrs;
    174193
    175194  /* convert from the internal format */
    176195  switch (format) {
    177     case DVO_FORMAT_INTERNAL:
     196    case DVO_FORMAT_INTERNAL: {
    178197      gfits_table_set_Measure (ftable, measure, Nmeasure);
    179       break;
    180     case DVO_FORMAT_ELIXIR:
    181       tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
    182       gfits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);
    183       free (tmpMeasureElixir);
    184       break;
    185     case DVO_FORMAT_LONEOS:
    186       tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
    187       gfits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);
    188       free (tmpMeasureLoneos);
    189       break;
    190 # if 0
    191     case DVO_FORMAT_PANSTARRS:
    192     case DVO_FORMAT_PMTEST:
    193       tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
    194       gfits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);
    195       free (tmpMeasurePanstarrs);
    196       break;
     198      break; }
     199    case DVO_FORMAT_ELIXIR: {
     200      MeasureElixir *tmpMeasure;
     201      tmpMeasure = MeasureInternalToElixir (measure, Nmeasure);
     202      gfits_table_set_MeasureElixir (ftable, tmpMeasure, Nmeasure);
     203      free (tmpMeasure);
     204      break; }
     205    case DVO_FORMAT_LONEOS: {
     206      MeasureLoneos *tmpMeasure;
     207      tmpMeasure = MeasureInternalToLoneos (measure, Nmeasure);
     208      gfits_table_set_MeasureLoneos (ftable, tmpMeasure, Nmeasure);
     209      free (tmpMeasure);
     210      break; }
     211    case DVO_FORMAT_PANSTARRS_DEV_0: {
     212      MeasurePanstarrs_DEV_0 *tmpMeasure;
     213      tmpMeasure = MeasureInternalToPanstarrs_DEV_0 (measure, Nmeasure);
     214      gfits_table_set_MeasurePanstarrs_DEV_0 (ftable, tmpMeasure, Nmeasure);
     215      free (tmpMeasure);
     216      break; }
     217# if 0
     218    case DVO_FORMAT_PANSTARRS: {
     219      MeasurePanstarrs *tmpMeasure;
     220      tmpMeasure = MeasureInternalToPanstarrs (measure, Nmeasure);
     221      gfits_table_set_MeasurePanstarrs (ftable, tmpMeasure, Nmeasure);
     222      free (tmpMeasure);
     223      break; }
    197224# endif
    198225    default:
     
    236263    return (secfilt);
    237264  }
     265  if (!strcmp (extname, "DVO_SECFILT_PANSTARRS_DEV_0")) {
     266    SecFiltPanstarrs_DEV_0 *tmpSecFilt;
     267    tmpSecFilt = gfits_table_get_SecFiltPanstarrs_DEV_0 (ftable, Nsecfilt, NULL);
     268    secfilt = SecFiltPanstarrs_DEV_0_ToInternal (tmpSecFilt, *Nsecfilt);
     269    free (tmpSecFilt);
     270    *format = DVO_FORMAT_PANSTARRS_DEV_0;
     271    return (secfilt);
     272  }
    238273# if 0
    239274  if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") || !strcmp (extname, "DVO_SECFILT_PMTEST")) {
     
    255290int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, int format) {
    256291
    257   SecFiltElixir *tmpSecFiltElixir;
    258   SecFiltLoneos *tmpSecFiltLoneos;
    259   // SecFiltPanstarrs *tmpSecFiltPanstarrs;
    260 
    261292  /* convert from the internal format */
    262293  switch (format) {
    263     case DVO_FORMAT_INTERNAL:
     294    case DVO_FORMAT_INTERNAL: {
    264295      gfits_table_set_SecFilt (ftable, secfilt, Nsecfilt);
    265       break;
    266     case DVO_FORMAT_ELIXIR:
    267       tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
    268       gfits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);
    269       free (tmpSecFiltElixir);
    270       break;
    271     case DVO_FORMAT_LONEOS:
    272       tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
    273       gfits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);
    274       free (tmpSecFiltLoneos);
    275       break;
    276 # if 0
    277     case DVO_FORMAT_PANSTARRS:
    278     case DVO_FORMAT_PMTEST:
    279       tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
    280       gfits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);
    281       free (tmpSecFiltPanstarrs);
    282       break;
     296      break; }
     297    case DVO_FORMAT_ELIXIR: {
     298      SecFiltElixir *tmpSecFilt;
     299      tmpSecFilt = SecFiltInternalToElixir (secfilt, Nsecfilt);
     300      gfits_table_set_SecFiltElixir (ftable, tmpSecFilt, Nsecfilt);
     301      free (tmpSecFilt);
     302      break; }
     303    case DVO_FORMAT_LONEOS: {
     304      SecFiltLoneos *tmpSecFilt;
     305      tmpSecFilt = SecFiltInternalToLoneos (secfilt, Nsecfilt);
     306      gfits_table_set_SecFiltLoneos (ftable, tmpSecFilt, Nsecfilt);
     307      free (tmpSecFilt);
     308      break; }
     309    case DVO_FORMAT_PANSTARRS_DEV_0: {
     310      SecFiltPanstarrs_DEV_0 *tmpSecFilt;
     311      tmpSecFilt = SecFiltInternalToPanstarrs_DEV_0 (secfilt, Nsecfilt);
     312      gfits_table_set_SecFiltPanstarrs_DEV_0 (ftable, tmpSecFilt, Nsecfilt);
     313      free (tmpSecFilt);
     314      break; }
     315# if 0
     316    case DVO_FORMAT_PANSTARRS: {
     317      SecFiltPanstarrs *tmpSecFilt;
     318      tmpSecFilt = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
     319      gfits_table_set_SecFiltPanstarrs (ftable, tmpSecFilt, Nsecfilt);
     320      free (tmpSecFilt);
     321      break; }
    283322# endif
    284323    default:
     
    297336
    298337  /* extname may be set from outside if the source is RAW not MEF */
    299   if (*format == DVO_FORMAT_ELIXIR) {
     338  if (*format == DVO_FORMAT_ELIXIR) {             // special case for ELIXIR
    300339    ImageElixir *tmpimage;
    301340    tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL);
     
    332371    goto set_header;
    333372  }
     373  if (!strcmp (extname, "DVO_IMAGE_PANSTARRS_DEV_0")) {
     374    ImagePanstarrs_DEV_0 *tmpimage;
     375    *format = DVO_FORMAT_PANSTARRS_DEV_0;
     376    tmpimage = gfits_table_get_ImagePanstarrs_DEV_0 (ftable, &Nimage, NULL);
     377    ftable[0].buffer = (char *) ImagePanstarrs_DEV_0_ToInternal (tmpimage, Nimage);
     378    free (tmpimage);
     379    goto set_header;
     380  }
    334381# if 0
    335382  if (!strcmp (extname, "DVO_IMAGE_PANSTARRS") || !strcmp (extname, "DVO_IMAGE_PMTEST")) {
     
    357404
    358405  int Nimage;
    359   ImageElixir *tmpImageElixir;
    360   ImageLoneos *tmpImageLoneos;
    361   // ImagePanstarrs *tmpImagePanstarrs;
    362406
    363407  Nimage = theader[0].Naxis[1];
     
    365409  /* convert from the internal format */
    366410  switch (format) {
    367     case DVO_FORMAT_INTERNAL:
     411    case DVO_FORMAT_INTERNAL: {
    368412      gfits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);
    369       break;
    370     case DVO_FORMAT_ELIXIR:
    371       tmpImageElixir = ImageInternalToElixir ((Image *) ftable[0].buffer, Nimage);
     413      break; }
     414    case DVO_FORMAT_ELIXIR: {
     415      ImageElixir *tmpImage;
     416      tmpImage = ImageInternalToElixir ((Image *) ftable[0].buffer, Nimage);
    372417      free (ftable[0].buffer);
    373       gfits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);
    374       free (tmpImageElixir);
    375       break;
    376     case DVO_FORMAT_LONEOS:
    377       tmpImageLoneos = ImageInternalToLoneos ((Image *) ftable[0].buffer, Nimage);
     418      gfits_table_set_ImageElixir (ftable, tmpImage, Nimage);
     419      free (tmpImage);
     420      break; }
     421    case DVO_FORMAT_LONEOS: {
     422      ImageLoneos *tmpImage;
     423      tmpImage = ImageInternalToLoneos ((Image *) ftable[0].buffer, Nimage);
    378424      free (ftable[0].buffer);
    379       gfits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);
    380       free (tmpImageLoneos);
    381       break;
    382 # if 0
    383     case DVO_FORMAT_PANSTARRS:
    384     case DVO_FORMAT_PMTEST:
    385       tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage);
     425      gfits_table_set_ImageLoneos (ftable, tmpImage, Nimage);
     426      free (tmpImage);
     427      break; }
     428    case DVO_FORMAT_PANSTARRS_DEV_0: {
     429      ImagePanstarrs_DEV_0 *tmpImage;
     430      tmpImage = ImageInternalToPanstarrs_DEV_0 ((Image *) ftable[0].buffer, Nimage);
    386431      free (ftable[0].buffer);
    387       gfits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);
    388       free (tmpImagePanstarrs);
    389       break;
     432      gfits_table_set_ImagePanstarrs_DEV_0 (ftable, tmpImage, Nimage);
     433      free (tmpImage);
     434      break; }
     435# if 0
     436    case DVO_FORMAT_PANSTARRS: {
     437      ImagePanstarrs *tmpImage;
     438      tmpImage = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage);
     439      free (ftable[0].buffer);
     440      gfits_table_set_ImagePanstarrs (ftable, tmpImage, Nimage);
     441      free (tmpImage);
     442      break; }
    390443# endif
    391444    default:
     
    398451int ImageToVtable (VTable *vtable, Header *theader, int format) {
    399452
    400   ImageElixir *tmpImageElixir;
    401   ImageLoneos *tmpImageLoneos;
    402   // ImagePanstarrs *tmpImagePanstarrs;
    403453  int i, Nrow, Nimage;
    404454
     
    407457  /* convert from the internal format */
    408458  switch (format) {
    409     case DVO_FORMAT_INTERNAL:
     459    case DVO_FORMAT_INTERNAL: {
    410460      for (i = 0; i < Nrow; i++) {
    411461        gfits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);
    412462      }
    413       return (TRUE);
    414     case DVO_FORMAT_ELIXIR:
     463      return (TRUE); }
     464    case DVO_FORMAT_ELIXIR: {
     465      ImageElixir *tmpImage;
    415466      /* convert table rows from internal to external format */
    416467      for (i = 0; i < Nrow; i++) {
    417         tmpImageElixir = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1);
    418         gfits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);
     468        tmpImage = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1);
     469        gfits_convert_ImageElixir (tmpImage, sizeof(ImageElixir), 1);
    419470        free (vtable[0].buffer[i]);
    420         vtable[0].buffer[i] = (char *) tmpImageElixir;
     471        vtable[0].buffer[i] = (char *) tmpImage;
    421472      }
    422473
     
    430481      theader[0].Naxis[1] = Nimage;
    431482      vtable[0].size = gfits_matrix_size (theader);
    432       return (TRUE);
    433     case DVO_FORMAT_LONEOS:
     483      return (TRUE); }
     484    case DVO_FORMAT_LONEOS: {
     485      ImageLoneos *tmpImage;
    434486      /* convert table rows from internal to external format */
    435487      for (i = 0; i < Nrow; i++) {
    436         tmpImageLoneos = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1);
    437         gfits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);
     488        tmpImage = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1);
     489        gfits_convert_ImageLoneos (tmpImage, sizeof(ImageLoneos), 1);
    438490        free (vtable[0].buffer[i]);
    439         vtable[0].buffer[i] = (char *) tmpImageLoneos;
     491        vtable[0].buffer[i] = (char *) tmpImage;
    440492      }
    441493
     
    449501      theader[0].Naxis[1] = Nimage;
    450502      vtable[0].size = gfits_matrix_size (theader);
    451       return (TRUE);
    452 # if 0
    453     case DVO_FORMAT_PANSTARRS:
    454     case DVO_FORMAT_PMTEST:
     503      return (TRUE); }
     504    case DVO_FORMAT_PANSTARRS_DEV_0: {
     505      ImagePanstarrs_DEV_0 *tmpImage;
    455506      /* convert table rows from internal to external format */
    456507      for (i = 0; i < Nrow; i++) {
    457         tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1);
    458         gfits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);
     508        tmpImage = ImageInternalToPanstarrs_DEV_0 ((Image *) vtable[0].buffer[i], 1);
     509        gfits_convert_ImagePanstarrs_DEV_0 (tmpImage, sizeof(ImagePanstarrs_DEV_0), 1);
    459510        free (vtable[0].buffer[i]);
    460         vtable[0].buffer[i] = (char *) tmpImagePanstarrs;
     511        vtable[0].buffer[i] = (char *) tmpImage;
    461512      }
    462 # endif
    463 
     513      /* convert header from old format to new format */
     514      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
     515      gfits_free_header (theader);
     516      gfits_table_mkheader_ImagePanstarrs_DEV_0 (theader);
     517      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
     518      theader[0].Naxis[1] = Nimage;
     519      vtable[0].size = gfits_matrix_size (theader);
     520      return (TRUE); }
     521# if 0
     522    case DVO_FORMAT_PANSTARRS: {
     523      ImagePanstarrs *tmpImage;
     524      /* convert table rows from internal to external format */
     525      for (i = 0; i < Nrow; i++) {
     526        tmpImage = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1);
     527        gfits_convert_ImagePanstarrs (tmpImage, sizeof(ImagePanstarrs), 1);
     528        free (vtable[0].buffer[i]);
     529        vtable[0].buffer[i] = (char *) tmpImage;
     530      }
    464531      /* convert header from old format to new format */
    465532      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
     
    469536      theader[0].Naxis[1] = Nimage;
    470537      vtable[0].size = gfits_matrix_size (theader);
    471       return (TRUE);
     538      return (TRUE); }
     539# endif
    472540    default:
    473541      break;
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_image.c

    r9632 r12275  
    187187  gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPoint);
    188188
    189   if (db[0].format == DVO_FORMAT_INTERNAL)  gfits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL");
    190   if (db[0].format == DVO_FORMAT_LONEOS)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS");
    191   if (db[0].format == DVO_FORMAT_ELIXIR)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR");
    192   if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS");
    193   if (db[0].format == DVO_FORMAT_PMTEST)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST");
     189  if (db[0].format == DVO_FORMAT_INTERNAL)        gfits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL");
     190  if (db[0].format == DVO_FORMAT_LONEOS)          gfits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS");
     191  if (db[0].format == DVO_FORMAT_ELIXIR)          gfits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR");
     192  if (db[0].format == DVO_FORMAT_PANSTARRS_DEV_0) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS_DEV_0");
     193  // if (db[0].format == DVO_FORMAT_PANSTARRS)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS");
     194  // if (db[0].format == DVO_FORMAT_PMTEST)       gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST");
    194195 
    195196  return;
  • branches/dvo-mods-2007-02/Ohana/src/libdvo/src/dvo_image_raw.c

    r7080 r12275  
    2020  db[0].format = DVO_FORMAT_UNDEF;
    2121  if (gfits_scan (&db[0].header, "FORMAT",  "%s", 1, format)) {
    22     if (!strcmp (format, "INTERNAL")) db[0].format = DVO_FORMAT_INTERNAL;
    23     if (!strcmp (format, "LONEOS")) db[0].format = DVO_FORMAT_LONEOS;
    24     if (!strcmp (format, "ELIXIR")) db[0].format = DVO_FORMAT_ELIXIR;
    25     if (!strcmp (format, "PANSTARRS")) db[0].format = DVO_FORMAT_PANSTARRS;
    26     if (!strcmp (format, "PMTEST")) db[0].format = DVO_FORMAT_PANSTARRS;
     22    db[0].format = dvo_catalog_catformat (format);
    2723    if (db[0].format != DVO_FORMAT_UNDEF) goto got_format;
    2824  }
    2925  if (gfits_scan (&db[0].header, "TELESCOP",  "%s", 1, telescope)) {
    3026    if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
    31       db[0].format = DVO_FORMAT_LONEOS;
     27      db[0].format = DVO_FORMAT_LONEOS; // special case for LONEOS
    3228      goto got_format;
    3329    }
    3430    if (!strncmp (telescope, "1.3m McGraw-Hill", strlen("1.3m McGraw-Hill"))) {
    35       db[0].format = DVO_FORMAT_ELIXIR;
     31      db[0].format = DVO_FORMAT_ELIXIR; // special case for ELIXIR
    3632      goto got_format;
    3733    }
     
    5147  /* get datatype size */
    5248  ImageSize = 0;
    53   if (db[0].format == DVO_FORMAT_INTERNAL)  ImageSize = sizeof(Image);
    54   if (db[0].format == DVO_FORMAT_LONEOS)    ImageSize = sizeof(ImageLoneos);
    55   if (db[0].format == DVO_FORMAT_ELIXIR)    ImageSize = sizeof(ImageElixir);
    56   if (db[0].format == DVO_FORMAT_PANSTARRS) ImageSize = sizeof(ImagePanstarrs);
     49  if (db[0].format == DVO_FORMAT_INTERNAL)        ImageSize = sizeof(Image);
     50  if (db[0].format == DVO_FORMAT_LONEOS)          ImageSize = sizeof(ImageLoneos);
     51  if (db[0].format == DVO_FORMAT_ELIXIR)          ImageSize = sizeof(ImageElixir);
     52  if (db[0].format == DVO_FORMAT_PANSTARRS)       ImageSize = sizeof(ImagePanstarrs);
     53  if (db[0].format == DVO_FORMAT_PANSTARRS_DEV_0) ImageSize = sizeof(ImagePanstarrs_DEV_0);
    5754
    5855  /* check that filesize makes sense */
     
    7269  db[0].ftable.header = &db[0].theader;
    7370
    74   if (db[0].format == DVO_FORMAT_INTERNAL)  gfits_table_mkheader_Image (&db[0].theader);
    75   if (db[0].format == DVO_FORMAT_LONEOS)    gfits_table_mkheader_ImageLoneos (&db[0].theader);
    76   if (db[0].format == DVO_FORMAT_ELIXIR)    gfits_table_mkheader_ImageElixir (&db[0].theader);
    77   if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_table_mkheader_ImagePanstarrs (&db[0].theader);
     71  if (db[0].format == DVO_FORMAT_INTERNAL)        gfits_table_mkheader_Image (&db[0].theader);
     72  if (db[0].format == DVO_FORMAT_LONEOS)          gfits_table_mkheader_ImageLoneos (&db[0].theader);
     73  if (db[0].format == DVO_FORMAT_ELIXIR)          gfits_table_mkheader_ImageElixir (&db[0].theader);
     74  if (db[0].format == DVO_FORMAT_PANSTARRS)       gfits_table_mkheader_ImagePanstarrs (&db[0].theader);
     75  if (db[0].format == DVO_FORMAT_PANSTARRS_DEV_0) gfits_table_mkheader_ImagePanstarrs_DEV_0 (&db[0].theader);
    7876   
    7977  /* read data from file */
Note: See TracChangeset for help on using the changeset viewer.