IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 36898


Ignore:
Timestamp:
Jun 17, 2014, 6:23:16 PM (12 years ago)
Author:
eugene
Message:

updates for PS1_V5 (major schema upgrade and rework): libdvo builds, but far from ready...

Location:
branches/eam_branches/ipp-20140610/Ohana/src/libdvo
Files:
2 added
40 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/Makefile

    r36630 r36898  
    3636$(DESTINC)/ps1_v3_defs.h \
    3737$(DESTINC)/ps1_v4_defs.h \
     38$(DESTINC)/ps1_v5_defs.h \
    3839$(DESTINC)/ps1_ref_defs.h \
    3940$(DESTINC)/cmf-ps1-dv3.h
     
    7677$(SRC)/dvo_convert_PS1_V3.$(ARCH).o \
    7778$(SRC)/dvo_convert_PS1_V4.$(ARCH).o \
     79$(SRC)/dvo_convert_PS1_V5.$(ARCH).o \
    7880$(SRC)/dvo_convert_PS1_REF.$(ARCH).o \
    7981$(SRC)/flatcorr_io.$(ARCH).o    \
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/dvo.h

    r36833 r36898  
    2828  DVO_FORMAT_PS1_V3,
    2929  DVO_FORMAT_PS1_V4,
     30  DVO_FORMAT_PS1_V5,
    3031} DVOTableFormat;
    3132
     
    434435// a reduced-subset structure for relphot & relastro
    435436typedef struct {
    436   float          dR;
    437   float          dD;
     437  double         R;
     438  double         D;
    438439  float          M;
    439440  float          Mcal;
     
    548549
    549550Measure_PS1_V4alt *gfits_table_get_Measure_PS1_V4alt (FTable *table, off_t *Ndata, char *swapped);
    550 Measure *Measure_PS1_V4alt_ToInternal (Measure_PS1_V4alt *in, off_t Nvalues);
     551Measure *Measure_PS1_V4alt_ToInternal (Average *ave, Measure_PS1_V4alt *in, off_t Nvalues);
    551552
    552553/* a catalog contains this data */
     
    696697
    697698float PhotMstdev (PhotCode *code, Average *average, SecFilt *secfilt);
    698 float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt);
    699 float PhotM80 (PhotCode *code, Average *average, SecFilt *secfilt);
     699float PhotMmin (PhotCode *code, Average *average, SecFilt *secfilt);
     700float PhotMmax (PhotCode *code, Average *average, SecFilt *secfilt);
    700701float PhotUCdist (PhotCode *code, Average *average, SecFilt *secfilt);
    701702unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt);
     
    782783/*** conversion functions / I/O conversions ***/
    783784Average *ReadRawAverage (FILE *f, off_t Naverage, char format, SecFilt **primary);
    784 Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format);
     785Measure *ReadRawMeasure (FILE *f, Average *average, off_t Nmeasure, char format);
    785786SecFilt *ReadRawSecFilt (FILE *f, off_t Nsecfilt, char format);
    786787int WriteRawAverage (FILE *f, Average *average, off_t Naverage, char format, SecFilt *primary);
    787 int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format);
     788int WriteRawMeasure (FILE *f, Average *average, Measure *measure, off_t Nmeasure, char format);
    788789int WriteRawSecFilt (FILE *f, SecFilt *secfilt, off_t Nsecfilt, char format);
    789790
     
    791792
    792793Average *FtableToAverage (FTable *ftable, off_t *Naverage, char *format, SecFilt **primary);
    793 Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format);
     794Measure *FtableToMeasure (FTable *ftable, Average *average, off_t *Nmeasure, char *format);
    794795SecFilt *FtableToSecFilt (FTable *ftable, off_t *Nsecfilt, char *format);
    795796int      FtableToImage   (FTable *ftable, Header *theader, char *format);
    796797
    797798int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, char format, SecFilt *primary);
    798 int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format);
     799int MeasureToFtable (FTable *ftable, Average *average, Measure *measure, off_t Nmeasure, char format);
    799800int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, char format);
    800801int ImageToFtable (FTable *ftable, Header *theader, char format);
     
    812813# include "ps1_v3_defs.h"
    813814# include "ps1_v4_defs.h"
     815# include "ps1_v5_defs.h"
    814816# include "ps1_ref_defs.h"
    815817
     
    906908void TessellationTableInit (TessellationTable *tess, int Ntess);
    907909
     910float dvoOffsetR (Measure *measure, Average *average);
     911float dvoOffsetD (Measure *measure, Average *average);
     912double dvoMeanR (float dR, Average *average);
     913double dvoMeanD (float dD, Average *average);
     914
    908915void dvo_average_init (Average *average);
    909916void dvo_averageT_init (AverageTiny *average);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/dvodb.h

    r36840 r36898  
    5858      MAG_AVE_ERR,
    5959      MAG_CHISQ,
    60       MAG_20,
    61       MAG_80,
     60      MAG_MIN,
     61      MAG_MAX,
    6262      MAG_FLUX_PSF,
    6363      MAG_FLUX_PSF_ERR,
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/elixir_defs.h

    r35162 r36898  
    33Average                 *Average_Elixir_ToInternal (Average_Elixir *in, off_t Nvalues, SecFilt **primary);
    44Average_Elixir          *AverageInternalTo_Elixir (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_Elixir_ToInternal (Measure_Elixir *in, off_t Nvalues);
    6 Measure_Elixir          *MeasureInternalTo_Elixir (Measure *in, off_t Nvalues);
     5Measure                 *Measure_Elixir_ToInternal (Average *ave, Measure_Elixir *in, off_t Nvalues);
     6Measure_Elixir          *MeasureInternalTo_Elixir (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_Elixir_ToInternal (SecFilt_Elixir *in, off_t Nvalues);
    88SecFilt_Elixir          *SecFiltInternalTo_Elixir (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/loneos_defs.h

    r35162 r36898  
    33Average                 *Average_Loneos_ToInternal (Average_Loneos *in, off_t Nvalues, SecFilt **primary);
    44Average_Loneos          *AverageInternalTo_Loneos (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_Loneos_ToInternal (Measure_Loneos *in, off_t Nvalues);
    6 Measure_Loneos          *MeasureInternalTo_Loneos (Measure *in, off_t Nvalues);
     5Measure                 *Measure_Loneos_ToInternal (Average *ave, Measure_Loneos *in, off_t Nvalues);
     6Measure_Loneos          *MeasureInternalTo_Loneos (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_Loneos_ToInternal (SecFilt_Loneos *in, off_t Nvalues);
    88SecFilt_Loneos          *SecFiltInternalTo_Loneos (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/panstarrs_dev_0_defs.h

    r35162 r36898  
    33Average                 *Average_Panstarrs_DEV_0_ToInternal (Average_Panstarrs_DEV_0 *in, off_t Nvalues, SecFilt **primary);
    44Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, off_t Nvalues);
    6 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_Panstarrs_DEV_0_ToInternal (Average *ave, Measure_Panstarrs_DEV_0 *in, off_t Nvalues);
     6Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_Panstarrs_DEV_0_ToInternal (SecFilt_Panstarrs_DEV_0 *in, off_t Nvalues);
    88SecFilt_Panstarrs_DEV_0 *SecFiltInternalTo_Panstarrs_DEV_0 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/panstarrs_dev_1_defs.h

    r35162 r36898  
    33Average                 *Average_Panstarrs_DEV_1_ToInternal (Average_Panstarrs_DEV_1 *in, off_t Nvalues, SecFilt **primary);
    44Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, off_t Nvalues);
    6 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_Panstarrs_DEV_1_ToInternal (Average *ave, Measure_Panstarrs_DEV_1 *in, off_t Nvalues);
     6Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_Panstarrs_DEV_1_ToInternal (SecFilt_Panstarrs_DEV_1 *in, off_t Nvalues);
    88SecFilt_Panstarrs_DEV_1 *SecFiltInternalTo_Panstarrs_DEV_1 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_dev_1_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_DEV_1_ToInternal (Average_PS1_DEV_1 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_DEV_1       *AverageInternalTo_PS1_DEV_1 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, off_t Nvalues);
    6 Measure_PS1_DEV_1       *MeasureInternalTo_PS1_DEV_1 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_DEV_1_ToInternal (Average *ave, Measure_PS1_DEV_1 *in, off_t Nvalues);
     6Measure_PS1_DEV_1       *MeasureInternalTo_PS1_DEV_1 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_DEV_1_ToInternal (SecFilt_PS1_DEV_1 *in, off_t Nvalues);
    88SecFilt_PS1_DEV_1       *SecFiltInternalTo_PS1_DEV_1 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_dev_2_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_DEV_2_ToInternal (Average_PS1_DEV_2 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_DEV_2       *AverageInternalTo_PS1_DEV_2 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, off_t Nvalues);
    6 Measure_PS1_DEV_2       *MeasureInternalTo_PS1_DEV_2 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_DEV_2_ToInternal (Average *ave, Measure_PS1_DEV_2 *in, off_t Nvalues);
     6Measure_PS1_DEV_2       *MeasureInternalTo_PS1_DEV_2 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_DEV_2_ToInternal (SecFilt_PS1_DEV_2 *in, off_t Nvalues);
    88SecFilt_PS1_DEV_2       *SecFiltInternalTo_PS1_DEV_2 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_ref_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_REF_ToInternal (Average_PS1_REF *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_REF          *AverageInternalTo_PS1_REF (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, off_t Nvalues);
    6 Measure_PS1_REF          *MeasureInternalTo_PS1_REF (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_REF_ToInternal (Average *ave, Measure_PS1_REF *in, off_t Nvalues);
     6Measure_PS1_REF          *MeasureInternalTo_PS1_REF (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_REF_ToInternal (SecFilt_PS1_REF *in, off_t Nvalues);
    88SecFilt_PS1_REF          *SecFiltInternalTo_PS1_REF (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_v1_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_V1_ToInternal (Average_PS1_V1 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_V1          *AverageInternalTo_PS1_V1 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, off_t Nvalues);
    6 Measure_PS1_V1          *MeasureInternalTo_PS1_V1 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_V1_ToInternal (Average *ave, Measure_PS1_V1 *in, off_t Nvalues);
     6Measure_PS1_V1          *MeasureInternalTo_PS1_V1 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_V1_ToInternal (SecFilt_PS1_V1 *in, off_t Nvalues);
    88SecFilt_PS1_V1          *SecFiltInternalTo_PS1_V1 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_v2_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_V2_ToInternal (Average_PS1_V2 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_V2          *AverageInternalTo_PS1_V2 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_V2_ToInternal (Measure_PS1_V2 *in, off_t Nvalues);
    6 Measure_PS1_V2          *MeasureInternalTo_PS1_V2 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_V2_ToInternal (Average *ave, Measure_PS1_V2 *in, off_t Nvalues);
     6Measure_PS1_V2          *MeasureInternalTo_PS1_V2 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_V2_ToInternal (SecFilt_PS1_V2 *in, off_t Nvalues);
    88SecFilt_PS1_V2          *SecFiltInternalTo_PS1_V2 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_v3_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_V3_ToInternal (Average_PS1_V3 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_V3          *AverageInternalTo_PS1_V3 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_V3_ToInternal (Measure_PS1_V3 *in, off_t Nvalues);
    6 Measure_PS1_V3          *MeasureInternalTo_PS1_V3 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_V3_ToInternal (Average *ave, Measure_PS1_V3 *in, off_t Nvalues);
     6Measure_PS1_V3          *MeasureInternalTo_PS1_V3 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_V3_ToInternal (SecFilt_PS1_V3 *in, off_t Nvalues);
    88SecFilt_PS1_V3          *SecFiltInternalTo_PS1_V3 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/include/ps1_v4_defs.h

    r35162 r36898  
    33Average                 *Average_PS1_V4_ToInternal (Average_PS1_V4 *in, off_t Nvalues, SecFilt **primary);
    44Average_PS1_V4          *AverageInternalTo_PS1_V4 (Average *in, off_t Nvalues, SecFilt *primary);
    5 Measure                 *Measure_PS1_V4_ToInternal (Measure_PS1_V4 *in, off_t Nvalues);
    6 Measure_PS1_V4          *MeasureInternalTo_PS1_V4 (Measure *in, off_t Nvalues);
     5Measure                 *Measure_PS1_V4_ToInternal (Average *ave, Measure_PS1_V4 *in, off_t Nvalues);
     6Measure_PS1_V4          *MeasureInternalTo_PS1_V4 (Average *ave, Measure *in, off_t Nvalues);
    77SecFilt                 *SecFilt_PS1_V4_ToInternal (SecFilt_PS1_V4 *in, off_t Nvalues);
    88SecFilt_PS1_V4          *SecFiltInternalTo_PS1_V4 (SecFilt *in, off_t Nvalues);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/LoadPhotcodesFITS.c

    r35755 r36898  
    6464  CONVERT_FORMAT("DVO_PHOTCODE_PS1_V3",    PS1_V3);
    6565  CONVERT_FORMAT("DVO_PHOTCODE_PS1_V4",    PS1_V4);
     66  CONVERT_FORMAT("DVO_PHOTCODE_PS1_V5",    PS1_V5);
    6667
    6768  table = GetPhotcodeTable ();
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/SavePhotcodesFITS.c

    r34260 r36898  
    3030  // for the moment, we simply support the latest photcode format for output
    3131  // XXX update this as needed as new formats are defined
    32   PhotCode_PS1_V4 *photcode_output = PhotCode_Internal_To_PS1_V4 (table[0].code, table[0].Ncode);
     32  PhotCode_PS1_V5 *photcode_output = PhotCode_Internal_To_PS1_V5 (table[0].code, table[0].Ncode);
    3333
    3434  /* convert FITS format data to internal format (byteswaps & EXTNAME) */
    3535  if (!gfits_db_create (&db)) return (FALSE);
    36   if (!gfits_table_set_PhotCode_PS1_V4 (&db.ftable, photcode_output, table[0].Ncode)) return (FALSE);
     36  if (!gfits_table_set_PhotCode_PS1_V5 (&db.ftable, photcode_output, table[0].Ncode)) return (FALSE);
    3737  if (!gfits_db_save (&db)) return (FALSE);
    3838  if (!gfits_db_close (&db)) return (FALSE);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dbExtractAverages.c

    r36833 r36898  
    268268          break;
    269269
    270         case MAG_20:
    271           value.Flt = PhotM20 (field->photcode, average, secfilt);
    272           break;
    273         case MAG_80:
    274           value.Flt = PhotM80 (field->photcode, average, secfilt);
     270        case MAG_MIN:
     271          value.Flt = PhotMmin (field->photcode, average, secfilt);
     272          break;
     273        case MAG_MAX:
     274          value.Flt = PhotMmax (field->photcode, average, secfilt);
    275275          break;
    276276        case MAG_UC_DIST:
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dbExtractMeasures.c

    r36840 r36898  
    9090  dbValue value;
    9191  double dT;
     92  float dR, dD;
    9293
    9394  Coords *mosaic, *fieldc;
     
    150151          case MAG_AVE_ERR:
    151152          case MAG_CHISQ:
     153
    152154          case MAG_FLUX_PSF:
    153155          case MAG_FLUX_PSF_ERR:
     
    159161          case MAG_FLUX_KRON_ERR:
    160162
    161           case MAG_20:
    162           case MAG_80:
     163          case MAG_MIN:
     164          case MAG_MAX:
    163165          case MAG_UC_DIST:
    164166          case MAG_STACK_DET_ID:
     
    283285          value.Flt = PhotMstdev (equiv, average, secfilt);
    284286          break;
    285         case MAG_20:
    286           value.Flt = PhotM20 (equiv, average, secfilt);
    287           break;
    288         case MAG_80:
    289           value.Flt = PhotM80 (equiv, average, secfilt);
     287        case MAG_MIN:
     288          value.Flt = PhotMmin (equiv, average, secfilt);
     289          break;
     290        case MAG_MAX:
     291          value.Flt = PhotMmax (equiv, average, secfilt);
    290292          break;
    291293        case MAG_UC_DIST:
     
    309311    }
    310312    case MEAS_RA: /* OK */
    311       value.Flt = average[0].R - measure[0].dR / 3600.0;
     313      value.Flt = measure[0].R;
    312314      break;
    313315    case MEAS_DEC: /* OK */
    314       value.Flt = average[0].D - measure[0].dD / 3600.0;
     316      value.Flt = measure[0].D;
    315317      break;
    316318    case MEAS_RA_AVE: /* OK */
     
    323325    case MEAS_GLON:
    324326      if (!haveGalacticMeas) {
    325         ApplyTransform (&GLON_MEAS, &GLAT_MEAS, average[0].R - measure[0].dR / 3600.0, average[0].D - measure[0].dD / 3600.0, celestial_to_galactic);
     327        ApplyTransform (&GLON_MEAS, &GLAT_MEAS, measure[0].R, measure[0].D, celestial_to_galactic);
    326328        haveGalacticMeas = TRUE;
    327329      }
     
    330332    case MEAS_GLAT:
    331333      if (!haveGalacticMeas) {
    332         ApplyTransform (&GLON_MEAS, &GLAT_MEAS, average[0].R - measure[0].dR / 3600.0, average[0].D - measure[0].dD / 3600.0, celestial_to_galactic);
     334        ApplyTransform (&GLON_MEAS, &GLAT_MEAS, measure[0].R, measure[0].D, celestial_to_galactic);
    333335        haveGalacticMeas = TRUE;
    334336      }
     
    337339    case MEAS_ELON:
    338340      if (!haveEclipticMeas) {
    339         ApplyTransform (&ELON_MEAS, &ELAT_MEAS, average[0].R - measure[0].dR / 3600.0, average[0].D - measure[0].dD / 3600.0, celestial_to_ecliptic);
     341        ApplyTransform (&ELON_MEAS, &ELAT_MEAS, measure[0].R, measure[0].D, celestial_to_ecliptic);
    340342        haveEclipticMeas = TRUE;
    341343      }
     
    344346    case MEAS_ELAT:
    345347      if (!haveEclipticMeas) {
    346         ApplyTransform (&ELON_MEAS, &ELAT_MEAS, average[0].R - measure[0].dR / 3600.0, average[0].D - measure[0].dD / 3600.0, celestial_to_ecliptic);
     348        ApplyTransform (&ELON_MEAS, &ELAT_MEAS, measure[0].R, measure[0].D, celestial_to_ecliptic);
    347349        haveEclipticMeas = TRUE;
    348350      }
     
    441443    // the error.
    442444    case MEAS_RA_OFFSET: /* OK */
    443       value.Flt = measure[0].dR;
     445      value.Flt = dvoOffsetR (measure, average);
    444446      break;
    445447    case MEAS_DEC_OFFSET: /* OK */
    446       value.Flt = measure[0].dD;
     448      value.Flt = dvoOffsetD (measure, average);
    447449      break;
    448450    case MEAS_RA_FIT_OFFSET: /* OK */
    449451      dT = (measure[0].t - average[0].Tmean) / (86400*365.25);
    450       value.Flt = average[0].uR * dT + measure[0].dR;
     452      dR = dvoOffsetR (measure, average);
     453      value.Flt = average[0].uR * dT + dR;
    451454      break;
    452455    case MEAS_DEC_FIT_OFFSET: /* OK */
    453456      dT = (measure[0].t - average[0].Tmean) / (86400*365.25);
    454       value.Flt = average[0].uD * dT + measure[0].dD;
     457      dD = dvoOffsetD (measure, average);
     458      value.Flt = average[0].uD * dT + dD;
    455459      break;
    456460    case MEAS_RA_OFFSET_ERR: /* OK */
     
    556560        // measure.xccd if we need it
    557561        Image *image;
    558         ra  = average[0].R - measure[0].dR / 3600.0;
    559         dec = average[0].D - measure[0].dD / 3600.0;
     562        ra  = measure[0].R;
     563        dec = measure[0].D;
    560564        image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
    561565        if (image == NULL) break;
     
    571575      {
    572576        Image *image;
    573         ra  = average[0].R - measure[0].dR / 3600.0;
    574         dec = average[0].D - measure[0].dD / 3600.0;
     577        ra  = measure[0].R;
     578        dec = measure[0].D;
    575579        image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
    576580        if (image == NULL) break;
     
    607611        }
    608612        if (fieldc == NULL) break;
    609         double Rm = average[0].R - measure[0].dR / 3600.0;
    610         double Dm = average[0].D - measure[0].dD / 3600.0;
     613        double Rm = measure[0].R;
     614        double Dm = measure[0].D;
    611615        RD_to_XY (&XFIELD_MEAS, &YFIELD_MEAS, Rm, Dm, fieldc);
    612616      }
     
    624628        }
    625629        if (fieldc == NULL) break;
    626         double Rm = average[0].R - measure[0].dR / 3600.0;
    627         double Dm = average[0].D - measure[0].dD / 3600.0;
     630        double Rm = measure[0].R;
     631        double Dm = measure[0].D;
    628632        RD_to_XY (&XFIELD_MEAS, &YFIELD_MEAS, Rm, Dm, fieldc);
    629633      }
     
    642646        }
    643647        if (mosaic == NULL) break;
    644         double Rm = average[0].R - measure[0].dR / 3600.0;
    645         double Dm = average[0].D - measure[0].dD / 3600.0;
     648        double Rm = measure[0].R;
     649        double Dm = measure[0].D;
    646650        RD_to_XY (&XMOS_MEAS, &YMOS_MEAS, Rm, Dm, mosaic);
    647651      }
     
    659663        }
    660664        if (mosaic == NULL) break;
    661         double Rm = average[0].R - measure[0].dR / 3600.0;
    662         double Dm = average[0].D - measure[0].dD / 3600.0;
     665        double Rm = measure[0].R;
     666        double Dm = measure[0].D;
    663667        RD_to_XY (&XMOS_MEAS, &YMOS_MEAS, Rm, Dm, mosaic);
    664668      }
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dbFields.c

    r36840 r36898  
    8585  if (!strcasecmp (string, "nphot"))       return (MAG_NPHOT);
    8686  if (!strcasecmp (string, "stdev"))       return (MAG_STDEV);
    87   if (!strcasecmp (string, "20"))          return (MAG_20);
    88   if (!strcasecmp (string, "80"))          return (MAG_80);
     87  if (!strcasecmp (string, "min"))         return (MAG_MIN);
     88  if (!strcasecmp (string, "max"))         return (MAG_MAX);
    8989  if (!strcasecmp (string, "ucdist"))      return (MAG_UC_DIST);
    9090  if (!strcasecmp (string, "stackDetectID")) return (MAG_STACK_DET_ID);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_catalog.c

    r36833 r36898  
    5656  if (!strcasecmp (catformat, "PS1_V3"))          return (DVO_FORMAT_PS1_V3);
    5757  if (!strcasecmp (catformat, "PS1_V4"))          return (DVO_FORMAT_PS1_V4);
     58  if (!strcasecmp (catformat, "PS1_V5"))          return (DVO_FORMAT_PS1_V5);
    5859  if (!strcasecmp (catformat, "PS1_REF"))         return (DVO_FORMAT_PS1_REF);
    5960  return (DVO_FORMAT_UNDEF);
     
    6970}
    7071
     72float dvoOffsetR (Measure *measure, Average *average) {
     73
     74  float dR = (measure[0].R - average[0].R) * 3600.0;
     75  return dR;
     76}
     77
     78float dvoOffsetD (Measure *measure, Average *average) {
     79
     80  float dD = (measure[0].D - average[0].D) * 3600.0;
     81  return dD;
     82}
     83
     84double dvoMeanR (float dR, Average *average) {
     85
     86  double ra = average[0].R - dR / 3600.0;
     87  return ra;
     88}
     89
     90double dvoMeanD (float dD, Average *average) {
     91
     92  double dec = average[0].D - dD / 3600.0;
     93  return dec;
     94}
     95
    7196// init all data, or just catalog data
    7297void dvo_average_init (Average *average) {
    7398  average->R               = 0;
    7499  average->D               = 0;
    75   average->dR              = 0;
    76   average->dD              = 0;
     100  average->dR              = NAN;
     101  average->dD              = NAN;
    77102
    78103  average->uR              = 0;
    79104  average->uD              = 0;
    80   average->duR             = 0;
    81   average->duD             = 0;
     105  average->duR             = NAN;
     106  average->duD             = NAN;
    82107  average->P               = 0;
    83   average->dP              = 0;
     108  average->dP              = NAN;
     109
     110  average->Rstk            = NAN;
     111  average->Dstk            = NAN;
     112  average->dRstk           = NAN;
     113  average->dDstk           = NAN;
    84114
    85115  average->ChiSqAve        = NAN;
     
    97127  average->Nmeasure        = 0;
    98128  average->Nmissing        = 0;
     129  average->Nlensing        = 0;
     130  average->Nlensobj        = 0;
    99131  average->Nextend         = 0;
     132
    100133  average->measureOffset   = -1;
    101134  average->missingOffset   = -1;
     135  average->lensingOffset   = -1;
     136  average->lensobjOffset   = -1;
     137  average->extendOffset    = -1;
     138
    102139  average->refColor        = NAN;
    103140
     
    109146  average->catID           = 0;
    110147  average->extID           = 0;
     148  average->extIDgc         = 0;
    111149}
    112150
     
    125163void dvo_secfilt_init (SecFilt *secfilt) {
    126164  secfilt->M           = NAN;
     165  secfilt->dM          = NAN;
    127166  secfilt->Map         = NAN;
     167  secfilt->dMap        = NAN;
    128168  secfilt->Mkron       = NAN;
    129169  secfilt->dMkron      = NAN;
    130   secfilt->dM          = NAN;
    131   secfilt->Xm          = NAN_S_SHORT;
    132 
    133   secfilt->FluxPSF     = NAN;
    134   secfilt->dFluxPSF    = NAN;
    135   secfilt->FluxKron    = NAN;
    136   secfilt->dFluxKron   = NAN;
    137 
    138   secfilt->flags       = 0;
     170
     171  secfilt->Mstdev      = NAN;
     172  secfilt->Mmin        = NAN;
     173  secfilt->Mmax        = NAN;
     174  secfilt->Xm          = NAN;
     175
    139176  secfilt->Ncode       = 0;
    140177  secfilt->Nused       = 0;
    141 
    142   secfilt->M_20        = NAN_S_SHORT;
    143   secfilt->M_80        = NAN_S_SHORT;
     178  secfilt->NusedKron   = 0;
     179  secfilt->NusedAp     = 0;
     180
     181  secfilt->flags       = 0;
     182
     183  secfilt->MpsfStk     = NAN;
     184  secfilt->FpsfStk     = NAN;
     185  secfilt->dFpsfStk    = NAN;
     186
     187  secfilt->MkronStk    = NAN;
     188  secfilt->FkronStk    = NAN;
     189  secfilt->dFkronStk   = NAN;
     190
     191  secfilt->MapStk      = NAN;
     192  secfilt->FapStk      = NAN;
     193  secfilt->dFapStk     = NAN;
     194
     195  secfilt->stackDetectID = 0;
     196
     197  secfilt->MpsfWrp     = NAN;
     198  secfilt->FpsfWrp     = NAN;
     199  secfilt->dFpsfWrp    = NAN;
     200  secfilt->sFpsfWrp    = NAN;
     201
     202  secfilt->MkronWrp    = NAN;
     203  secfilt->FkronWrp    = NAN;
     204  secfilt->dFkronWrp   = NAN;
     205  secfilt->sFkronWrp   = NAN;
     206
     207  secfilt->MapWrp      = NAN;
     208  secfilt->FapWrp      = NAN;
     209  secfilt->dFapWrp     = NAN;
     210  secfilt->sFapWrp     = NAN;
     211
     212  secfilt->NusedWrp     = 0;
     213  secfilt->NusedKronWrp = 0;
     214  secfilt->NusedApWrp   = 0;
    144215
    145216  secfilt->ubercalDist = 1000;
    146   secfilt->Mstdev      = NAN_S_SHORT;
    147   secfilt->stackDetectID     = 0;
    148217}
    149218
    150219// init all data, or just catalog data
    151220void dvo_measure_init (Measure *measure) {
     221 measure->R         = NAN;
     222 measure->D         = NAN;
     223
    152224 measure->M         = NAN;
    153  measure->dR        = NAN;
    154  measure->dD        = NAN;
    155  measure->Mcal      = NAN;
     225 measure->dM        = NAN;
    156226 measure->Map       = NAN;
     227 measure->dMap      = NAN;
    157228 measure->Mkron     = NAN;
    158229 measure->dMkron    = NAN;
    159  measure->dM        = NAN;
     230 measure->Mcal      = NAN;
    160231 measure->dMcal     = NAN;
    161232 measure->dt        = NAN;
     
    165236 measure->FluxKron  = NAN;
    166237 measure->dFluxKron = NAN;
     238 measure->FluxAp    = NAN;
     239 measure->dFluxAp   = NAN;
    167240
    168241 measure->airmass   = NAN;
     
    174247 measure->Yfix      = NAN;
    175248
     249 measure->XoffKH    = NAN;
     250 measure->YoffKH    = NAN;
     251 measure->XoffDCR   = NAN;
     252 measure->YoffDCR   = NAN;
     253 measure->XoffGAL   = NAN;
     254 measure->YoffGAL   = NAN;
     255
    176256 measure->Sky       = NAN;
    177257 measure->dSky      = NAN;
    178258
    179259 measure->t         = 0;
    180  measure->t_msec    = 0;
    181260 measure->averef    = 0;
    182261
    183262 measure->detID     = 0;
    184  measure->imageID   = 0;
    185263 measure->objID     = 0;
    186264 measure->catID     = 0;
     265
    187266 measure->extID     = 0;
     267
     268 measure->imageID   = 0;
    188269
    189270 measure->psfQF     = NAN;
    190271 measure->psfQFperf = NAN;
    191272 measure->psfChisq  = NAN;
     273
    192274 measure->psfNdof   = 0;
    193275 measure->psfNpix   = 0;
     
    203285 measure->Myy       = 0;
    204286
     287 measure->t_msec    = 0;
     288 measure->photcode  = 0;
     289
    205290 measure->dXccd     = 0;
    206291 measure->dYccd     = 0;
     
    210295 measure->pltscale  = NAN;
    211296
    212  measure->photcode  = 0;
    213297 measure->dbFlags   = 0;
    214298 measure->photFlags = 0;
     
    216300
    217301void dvo_measureT_init (MeasureTiny *measure) {
    218  measure->dR        = NAN;
    219  measure->dD        = NAN;
     302 measure->R         = NAN;
     303 measure->D         = NAN;
    220304 measure->M         = NAN;
    221305 measure->Mcal      = NAN;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c

    r16810 r36898  
    5656    m = average[i].measureOffset;
    5757    for (j = 0; j < average[i].Nmeasure; j++, m++) {
    58       ra  = average[i].R - measure[m].dR / 3600.0;
    59       dec = average[i].D - measure[m].dD / 3600.0;
     58      ra  = measure[m].R;
     59      dec = measure[m].D;
    6060      N = dvo_match_image (image, Nimage, measure[m].t, measure[m].photcode);
    6161      if (N == -1) continue;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_catalog_mef.c

    r33649 r36898  
    101101      return (FALSE);
    102102    }
    103     catalog[0].measure = FtableToMeasure (&ftable, &catalog[0].Nmeasure, &catalog[0].catformat);
     103    catalog[0].measure = FtableToMeasure (&ftable, catalog[0].average, &catalog[0].Nmeasure, &catalog[0].catformat);
    104104    if (Nmeasure != catalog[0].Nmeas_disk) {
    105105      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure,  catalog[0].Nmeas_disk);
     
    289289
    290290  /* write out Measure table (convert to FITS table format) */
    291   MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
     291  MeasureToFtable (&ftable, catalog[0].average, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
    292292  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
    293293    fprintf (stderr, "can't write table header");
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_catalog_raw.c

    r34260 r36898  
    9090      FORMAT_CASE (PS1_V3,    PS1_V3);
    9191      FORMAT_CASE (PS1_V4,    PS1_V4);
     92      FORMAT_CASE (PS1_V5,    PS1_V5);
    9293      FORMAT_CASE (PS1_REF,   PS1_REF);
    9394
     
    144145  /* read and convert the measures (use a macro to clean this up?) */
    145146  if (catalog[0].catflags & LOAD_MEAS) {
    146     catalog[0].measure = ReadRawMeasure (catalog[0].f, catalog[0].Nmeasure, catalog[0].catformat);
     147    catalog[0].measure = ReadRawMeasure (catalog[0].f, catalog[0].average, catalog[0].Nmeasure, catalog[0].catformat);
    147148  } else {
    148149    /* skip over measures */
     
    284285  if (catalog[0].catformat == DVO_FORMAT_PS1_V3)          gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V3");
    285286  if (catalog[0].catformat == DVO_FORMAT_PS1_V4)          gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V4");
     287  if (catalog[0].catformat == DVO_FORMAT_PS1_V5)          gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V5");
    286288  if (catalog[0].catformat == DVO_FORMAT_PS1_REF)         gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_REF");
    287289
     
    303305  /* write averages and measures */
    304306  WriteRawAverage (f, catalog[0].average, catalog[0].Naverage, catalog[0].catformat, primary);
    305   WriteRawMeasure (f, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
     307  WriteRawMeasure (f, catalog[0].average, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
    306308
    307309  /* write missing data */
     
    387389      FORMAT_CASE (PS1_V3,    PS1_V3);
    388390      FORMAT_CASE (PS1_V4,    PS1_V4);
     391      FORMAT_CASE (PS1_V5,    PS1_V5);
    389392      FORMAT_CASE (PS1_REF,   PS1_REF);
    390393
     
    438441      FORMAT_CASE (PS1_V3,    PS1_V3);
    439442      FORMAT_CASE (PS1_V4,    PS1_V4);
     443      FORMAT_CASE (PS1_V5,    PS1_V5);
    440444      FORMAT_CASE (PS1_REF,   PS1_REF);
    441445
     
    451455/** Average / Raw Table conversions **/
    452456
    453 Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format) {
     457Measure *ReadRawMeasure (FILE *f, Average *average, off_t Nmeasure, char format) {
    454458
    455459  Measure *measure;
     
    467471      } \
    468472      gfits_convert_Measure_##TYPE (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure); \
    469       measure = Measure_##TYPE##_ToInternal (tmpMeasure, Nmeasure); \
     473      measure = Measure_##TYPE##_ToInternal (average, tmpMeasure, Nmeasure); \
    470474      free (tmpMeasure); \
    471475      break; }
     
    481485      }
    482486      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
     487      break; }
     488
     489      FORMAT_CASE (LONEOS, Loneos);
     490      FORMAT_CASE (ELIXIR, Elixir);
     491      FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
     492      FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
     493      FORMAT_CASE (PS1_DEV_1, PS1_DEV_1);
     494      FORMAT_CASE (PS1_DEV_2, PS1_DEV_2);
     495      FORMAT_CASE (PS1_V1,    PS1_V1);
     496      FORMAT_CASE (PS1_V2,    PS1_V2);
     497      FORMAT_CASE (PS1_V3,    PS1_V3);
     498      FORMAT_CASE (PS1_V5,    PS1_V5);
     499      FORMAT_CASE (PS1_REF,   PS1_REF);
     500
     501    default:
     502      fprintf (stderr, "error reading measures\n");
     503      return (NULL);
     504  }
     505# undef FORMAT_CASE
     506
     507  return (measure);
     508}
     509
     510/* accepts and converts internal measure formats and outputs
     511   raw data in the specified format */
     512int WriteRawMeasure (FILE *f, Average *average, Measure *measure, off_t Nmeasure, char format) {
     513
     514// this macro generates the case statements for each type
     515# define FORMAT_CASE(NAME,TYPE) \
     516    case DVO_FORMAT_##NAME: { \
     517      off_t nitems; \
     518      Measure_##TYPE *tmpMeasure; \
     519      tmpMeasure = MeasureInternalTo_##TYPE (average, measure, Nmeasure); \
     520      gfits_convert_Measure_##TYPE (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure); \
     521      nitems = fwrite (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure, f); \
     522      free (tmpMeasure); \
     523      if (nitems != Nmeasure) { \
     524        fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure); \
     525        return (FALSE); \
     526      } \
     527      break; }
     528
     529  switch (format) {
     530    case DVO_FORMAT_INTERNAL: {
     531      off_t nitems;
     532      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
     533      nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
     534      if (nitems != Nmeasure) {
     535        fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure);
     536        return (FALSE);
     537      }
    483538      break; }
    484539
     
    493548      FORMAT_CASE (PS1_V3,    PS1_V3);
    494549      FORMAT_CASE (PS1_V4,    PS1_V4);
    495       FORMAT_CASE (PS1_REF,   PS1_REF);
    496 
    497     default:
    498       fprintf (stderr, "error reading measures\n");
    499       return (NULL);
    500   }
    501 # undef FORMAT_CASE
    502 
    503   return (measure);
    504 }
    505 
    506 /* accepts and converts internal measure formats and outputs
    507    raw data in the specified format */
    508 int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format) {
    509 
    510 // this macro generates the case statements for each type
    511 # define FORMAT_CASE(NAME,TYPE) \
    512     case DVO_FORMAT_##NAME: { \
    513       off_t nitems; \
    514       Measure_##TYPE *tmpMeasure; \
    515       tmpMeasure = MeasureInternalTo_##TYPE (measure, Nmeasure); \
    516       gfits_convert_Measure_##TYPE (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure); \
    517       nitems = fwrite (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure, f); \
    518       free (tmpMeasure); \
    519       if (nitems != Nmeasure) { \
    520         fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure); \
    521         return (FALSE); \
    522       } \
    523       break; }
    524 
    525   switch (format) {
    526     case DVO_FORMAT_INTERNAL: {
    527       off_t nitems;
    528       gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
    529       nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
    530       if (nitems != Nmeasure) {
    531         fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure);
    532         return (FALSE);
    533       }
    534       break; }
    535 
    536       FORMAT_CASE (LONEOS, Loneos);
    537       FORMAT_CASE (ELIXIR, Elixir);
    538       FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
    539       FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
    540       FORMAT_CASE (PS1_DEV_1, PS1_DEV_1);
    541       FORMAT_CASE (PS1_DEV_2, PS1_DEV_2);
    542       FORMAT_CASE (PS1_V1,    PS1_V1);
    543       FORMAT_CASE (PS1_V2,    PS1_V2);
    544       FORMAT_CASE (PS1_V3,    PS1_V3);
    545       FORMAT_CASE (PS1_V4,    PS1_V4);
     550      FORMAT_CASE (PS1_V5,    PS1_V5);
    546551      FORMAT_CASE (PS1_REF,   PS1_REF);
    547552
     
    599604      FORMAT_CASE (PS1_V3,    PS1_V3);
    600605      FORMAT_CASE (PS1_V4,    PS1_V4);
     606      FORMAT_CASE (PS1_V5,    PS1_V5);
    601607      FORMAT_CASE (PS1_REF,   PS1_REF);
    602608
     
    650656      FORMAT_CASE (PS1_V3,    PS1_V3);
    651657      FORMAT_CASE (PS1_V4,    PS1_V4);
     658      FORMAT_CASE (PS1_V5,    PS1_V5);
    652659      FORMAT_CASE (PS1_REF,   PS1_REF);
    653660
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_catalog_split.c

    r34844 r36898  
    277277    }
    278278    /* convert data format to internal : returns number of row read in Nmeasure */
    279     catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
     279    catalog[0].measure = FtableToMeasure (&ftable, catalog[0].average, &Nmeasure, &catalog[0].catformat);
    280280    if (Nmeasure != catalog[0].Nmeas_disk) {
    281281      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure,  catalog[0].Nmeas_disk);
     
    476476
    477477    /* convert data format to internal : returns number of row read in Nmeasure */
    478     catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
     478    catalog[0].measure = FtableToMeasure (&ftable, catalog[0].average, &Nmeasure, &catalog[0].catformat);
    479479    if (Nmeasure != Nrows) {
    480480      // XXX this condition denotes the eof has been reached; not an error or a warning
     
    621621    assert (catalog[0].Nmeas_disk >= catalog[0].Nmeas_off);
    622622
    623     // convert to external table format
    624     if (!MeasureToFtable (&ftable, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
     623    // convert to external table format (note that the block above does not damage or free catalog.average)
     624    if (!MeasureToFtable (&ftable, catalog[0].average, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
    625625      fprintf (stderr, "trouble converting format\n");
    626626      goto failure;
     
    821821
    822822    // convert to external table format
    823     if (!MeasureToFtable (&ftable, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
     823    if (!MeasureToFtable (&ftable, catalog[0].average, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
    824824      fprintf (stderr, "trouble converting format\n");
    825825      goto failure;
     
    10001000
    10011001    // convert to external table format
    1002     if (!MeasureToFtable (&ftable, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
     1002    // XXX does catalog.measure have averef correctly set up?
     1003    if (!MeasureToFtable (&ftable, catalog[0].average, &catalog[0].measure[first], Nrows, catalog[0].catformat)) {
    10031004      fprintf (stderr, "trouble converting format\n");
    10041005      goto failure;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert.c

    r36528 r36898  
    4141  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V3",          PS1_V3);
    4242  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V4",          PS1_V4);
     43  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V5",          PS1_V5);
    4344  CONVERT_FORMAT ("DVO_AVERAGE_PS1_REF",         PS1_REF);
    4445# undef CONVERT_FORMAT
     
    112113  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V3",          PS1_V3,          PS1_V3);
    113114  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V4",          PS1_V4,          PS1_V4);
     115  CONVERT_FORMAT ("DVO_AVERAGE_PS1_V5",          PS1_V5,          PS1_V5);
    114116  CONVERT_FORMAT ("DVO_AVERAGE_PS1_REF",         PS1_REF,         PS1_REF);
    115117# undef CONVERT_FORMAT
     
    147149      FORMAT_CASE (PS1_V3,          PS1_V3);
    148150      FORMAT_CASE (PS1_V4,          PS1_V4);
     151      FORMAT_CASE (PS1_V5,          PS1_V5);
    149152      FORMAT_CASE (PS1_REF,         PS1_REF);
    150153# undef FORMAT_CASE
     
    159162/*** Measure / FTable conversion functions ***/
    160163
    161 Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format) {
     164// FtableToMeasure needs the Average since old formats stored measure.dR,dD only
     165Measure *FtableToMeasure (FTable *ftable, Average *average, off_t *Nmeasure, char *format) {
    162166
    163167  Measure *measure;
     
    179183      exit (2);
    180184    }
    181     measure = Measure_PS1_V4alt_ToInternal (tmpMeasure, *Nmeasure);
     185    myAssert (average, "conversion to internal needs average table");
     186    measure = Measure_PS1_V4alt_ToInternal (average, tmpMeasure, *Nmeasure);
    182187    free (tmpMeasure);
    183188    *format = DVO_FORMAT_PS1_V4;
     
    185190  }
    186191
    187 # define CONVERT_FORMAT(NAME, FORMAT, TYPE) \
    188   if (!strcmp (extname, NAME)) { \
    189     Measure_##TYPE *tmpMeasure; \
     192# define CONVERT_FORMAT(NAME, FORMAT, TYPE, ABS_COORDS)         \
     193  if (!strcmp (extname, NAME)) {                                        \
     194    Measure_##TYPE *tmpMeasure;                                         \
    190195    tmpMeasure = gfits_table_get_Measure_##TYPE (ftable, Nmeasure, NULL); \
    191     if (!tmpMeasure) { \
    192       fprintf (stderr, "ERROR: failed to read measures\n"); \
    193       exit (2); \
    194     } \
    195     measure = Measure_##TYPE##_ToInternal (tmpMeasure, *Nmeasure); \
    196     free (tmpMeasure); \
    197     *format = DVO_FORMAT_##FORMAT; \
     196    if (!tmpMeasure) {                                                  \
     197      fprintf (stderr, "ERROR: failed to read measures\n");             \
     198      exit (2);                                                         \
     199    }                                                                   \
     200    myAssert (ABS_COORDS || average, "conversion to internal needs average table"); \
     201    measure = Measure_##TYPE##_ToInternal (average, tmpMeasure, *Nmeasure); \
     202    free (tmpMeasure);                                                  \
     203    *format = DVO_FORMAT_##FORMAT;                                      \
    198204    return (measure); }
    199205
     
    208214  }
    209215
    210   CONVERT_FORMAT ("DVO_MEASURE_ELIXIR",          ELIXIR,          Elixir);
    211   CONVERT_FORMAT ("DVO_MEASURE_LONEOS",          LONEOS,          Loneos);
    212   CONVERT_FORMAT ("DVO_MEASURE_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0);
    213   CONVERT_FORMAT ("DVO_MEASURE_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1);
    214   CONVERT_FORMAT ("DVO_MEASURE_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1);
    215   CONVERT_FORMAT ("DVO_MEASURE_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2);
    216   CONVERT_FORMAT ("DVO_MEASURE_PS1_V1",          PS1_V1,          PS1_V1);
    217   CONVERT_FORMAT ("DVO_MEASURE_PS1_V2",          PS1_V2,          PS1_V2);
    218   CONVERT_FORMAT ("DVO_MEASURE_PS1_V3",          PS1_V3,          PS1_V3);
    219   CONVERT_FORMAT ("DVO_MEASURE_PS1_V4",          PS1_V4,          PS1_V4);
    220   CONVERT_FORMAT ("DVO_MEASURE_PS1_REF",         PS1_REF,         PS1_REF);
     216  CONVERT_FORMAT ("DVO_MEASURE_ELIXIR",          ELIXIR,          Elixir,          FALSE);
     217  CONVERT_FORMAT ("DVO_MEASURE_LONEOS",          LONEOS,          Loneos,          FALSE);
     218  CONVERT_FORMAT ("DVO_MEASURE_PANSTARRS_DEV_0", PANSTARRS_DEV_0, Panstarrs_DEV_0, FALSE);
     219  CONVERT_FORMAT ("DVO_MEASURE_PANSTARRS_DEV_1", PANSTARRS_DEV_1, Panstarrs_DEV_1, FALSE);
     220  CONVERT_FORMAT ("DVO_MEASURE_PS1_DEV_1",       PS1_DEV_1,       PS1_DEV_1,       FALSE);
     221  CONVERT_FORMAT ("DVO_MEASURE_PS1_DEV_2",       PS1_DEV_2,       PS1_DEV_2,       FALSE);
     222  CONVERT_FORMAT ("DVO_MEASURE_PS1_V1",          PS1_V1,          PS1_V1,          FALSE);
     223  CONVERT_FORMAT ("DVO_MEASURE_PS1_V2",          PS1_V2,          PS1_V2,          FALSE);
     224  CONVERT_FORMAT ("DVO_MEASURE_PS1_V3",          PS1_V3,          PS1_V3,          FALSE);
     225  CONVERT_FORMAT ("DVO_MEASURE_PS1_V4",          PS1_V4,          PS1_V4,          FALSE);
     226  CONVERT_FORMAT ("DVO_MEASURE_PS1_V5",          PS1_V5,          PS1_V5,          TRUE);
     227  CONVERT_FORMAT ("DVO_MEASURE_PS1_REF",         PS1_REF,         PS1_REF,         FALSE);
    221228# undef CONVERT_FORMAT
    222229
     
    227234}
    228235
    229 int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format) {
    230 
    231 # define FORMAT_CASE(FORMAT, TYPE) \
     236// MeasureToFtable needs the Average since old formats stored measure.dR,dD only
     237int MeasureToFtable (FTable *ftable, Average *average, Measure *measure, off_t Nmeasure, char format) {
     238
     239# define FORMAT_CASE(FORMAT, TYPE, ABS_COORDS)          \
    232240    case DVO_FORMAT_##FORMAT: { \
    233241      Measure_##TYPE *tmpMeasure; \
    234       tmpMeasure = MeasureInternalTo_##TYPE (measure, Nmeasure); \
     242      myAssert (ABS_COORDS || average, "conversion to internal needs average table"); \
     243      tmpMeasure = MeasureInternalTo_##TYPE (average, measure, Nmeasure); \
    235244      gfits_table_set_Measure_##TYPE (ftable, tmpMeasure, Nmeasure); \
    236245      free (tmpMeasure); \
     
    243252      break; }
    244253
    245       FORMAT_CASE (ELIXIR,          Elixir);
    246       FORMAT_CASE (LONEOS,          Loneos);
    247       FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
    248       FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
    249       FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1);
    250       FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2);
    251       FORMAT_CASE (PS1_V1,          PS1_V1);
    252       FORMAT_CASE (PS1_V2,          PS1_V2);
    253       FORMAT_CASE (PS1_V3,          PS1_V3);
    254       FORMAT_CASE (PS1_V4,          PS1_V4);
    255       FORMAT_CASE (PS1_REF,         PS1_REF);
     254      FORMAT_CASE (ELIXIR,          Elixir,          FALSE);
     255      FORMAT_CASE (LONEOS,          Loneos,          FALSE);
     256      FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0, FALSE);
     257      FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1, FALSE);
     258      FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1,       FALSE);
     259      FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2,       FALSE);
     260      FORMAT_CASE (PS1_V1,          PS1_V1,          FALSE);
     261      FORMAT_CASE (PS1_V2,          PS1_V2,          FALSE);
     262      FORMAT_CASE (PS1_V3,          PS1_V3,          FALSE);
     263      FORMAT_CASE (PS1_V4,          PS1_V4,          FALSE);
     264      FORMAT_CASE (PS1_V5,          PS1_V5,          TRUE);
     265      FORMAT_CASE (PS1_REF,         PS1_REF,         FALSE);
    256266# undef FORMAT_CASE
    257267
     
    309319  CONVERT_FORMAT ("DVO_SECFILT_PS1_V3",          PS1_V3,          PS1_V3);
    310320  CONVERT_FORMAT ("DVO_SECFILT_PS1_V4",          PS1_V4,          PS1_V4);
     321  CONVERT_FORMAT ("DVO_SECFILT_PS1_V5",          PS1_V5,          PS1_V5);
    311322  CONVERT_FORMAT ("DVO_SECFILT_PS1_REF",         PS1_REF,         PS1_REF);
    312323# undef CONVERT_FORMAT
     
    344355      FORMAT_CASE (PS1_V3,          PS1_V3);
    345356      FORMAT_CASE (PS1_V4,          PS1_V4);
     357      FORMAT_CASE (PS1_V5,          PS1_V5);
    346358      FORMAT_CASE (PS1_REF,         PS1_REF);
    347359# undef FORMAT_CASE
     
    428440  CONVERT_FORMAT ("DVO_IMAGE_PS1_V3",          PS1_V3,          PS1_V3);
    429441  CONVERT_FORMAT ("DVO_IMAGE_PS1_V4",          PS1_V4,          PS1_V4);
     442  CONVERT_FORMAT ("DVO_IMAGE_PS1_V5",          PS1_V5,          PS1_V5);
    430443  CONVERT_FORMAT ("DVO_IMAGE_PS1_REF",         PS1_REF,         PS1_REF);
    431444
     
    467480      FORMAT_CASE (PS1_V3,          PS1_V3);
    468481      FORMAT_CASE (PS1_V4,          PS1_V4);
     482      FORMAT_CASE (PS1_V5,          PS1_V5);
    469483      FORMAT_CASE (PS1_REF,         PS1_REF);
    470484
     
    522536      FORMAT_CASE (PS1_V3,          PS1_V3);
    523537      FORMAT_CASE (PS1_V4,          PS1_V4);
     538      FORMAT_CASE (PS1_V5,          PS1_V5);
    524539      FORMAT_CASE (PS1_REF,         PS1_REF);
    525540
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c

    r35162 r36898  
    33/* convert PS1_DEV_1 formats to internal formats */
    44
    5 Measure *Measure_PS1_DEV_1_ToInternal (Measure_PS1_DEV_1 *in, off_t Nvalues) {
     5Measure *Measure_PS1_DEV_1_ToInternal (Average *ave, Measure_PS1_DEV_1 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1212  for (i = 0; i < Nvalues; i++) {
    1313    dvo_measure_init (&out[i]);
    14     out[i].dR         = in[i].dR;
    15     out[i].dD         = in[i].dD;
     14
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1618    out[i].M          = in[i].M;
    1719    out[i].Mcal       = in[i].Mcal;
     
    5052}
    5153
    52 Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Measure *in, off_t Nvalues) {
     54Measure_PS1_DEV_1 *MeasureInternalTo_PS1_DEV_1 (Average *ave, Measure *in, off_t Nvalues) {
    5355
    5456  off_t i;
     
    5860
    5961  for (i = 0; i < Nvalues; i++) {
    60     out[i].dR         = in[i].dR;
    61     out[i].dD         = in[i].dD;
     62    int averef = in[i].averef;
     63
     64    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     65    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    6266    out[i].M          = in[i].M;
    6367    out[i].Mcal       = in[i].Mcal;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c

    r36833 r36898  
    33/* convert PS1_DEV_2 formats to internal formats */
    44
    5 Measure *Measure_PS1_DEV_2_ToInternal (Measure_PS1_DEV_2 *in, off_t Nvalues) {
     5Measure *Measure_PS1_DEV_2_ToInternal (Average *ave, Measure_PS1_DEV_2 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1212  for (i = 0; i < Nvalues; i++) {
    1313    dvo_measure_init (&out[i]);
    14     out[i].dR         = in[i].dR;
    15     out[i].dD         = in[i].dD;
     14
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1618    out[i].M          = in[i].M;
    1719    out[i].Mcal       = in[i].Mcal;
     
    4850}
    4951
    50 Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Measure *in, off_t Nvalues) {
     52Measure_PS1_DEV_2 *MeasureInternalTo_PS1_DEV_2 (Average *ave, Measure *in, off_t Nvalues) {
    5153
    5254  off_t i;
     
    5658
    5759  for (i = 0; i < Nvalues; i++) {
    58     out[i].dR         = in[i].dR;
    59     out[i].dD         = in[i].dD;
     60    int averef = in[i].averef;
     61
     62    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     63    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    6064    out[i].M          = in[i].M;
    6165    out[i].Mcal       = in[i].Mcal;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c

    r35162 r36898  
    33/* convert PS1_REF formats to internal formats */
    44
    5 Measure *Measure_PS1_REF_ToInternal (Measure_PS1_REF *in, off_t Nvalues) {
     5Measure *Measure_PS1_REF_ToInternal (Average *ave, Measure_PS1_REF *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1313    dvo_measure_init (&out[i]);
    1414
    15     out[i].dR         = in[i].dR;
    16     out[i].dD         = in[i].dD;
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1718    out[i].M          = in[i].M;
    1819    out[i].dM         = in[i].dM;
     
    2829}
    2930
    30 Measure_PS1_REF *MeasureInternalTo_PS1_REF (Measure *in, off_t Nvalues) {
     31Measure_PS1_REF *MeasureInternalTo_PS1_REF (Average *ave, Measure *in, off_t Nvalues) {
    3132
    3233  off_t i;
     
    3637
    3738  for (i = 0; i < Nvalues; i++) {
    38     out[i].dR         = in[i].dR;
    39     out[i].dD         = in[i].dD;
     39    int averef = in[i].averef;
     40
     41    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     42    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    4043    out[i].M          = in[i].M;
    4144    out[i].dM         = in[i].dM;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c

    r36833 r36898  
    33/* convert PS1_V1 formats to internal formats */
    44
    5 Measure *Measure_PS1_V1_ToInternal (Measure_PS1_V1 *in, off_t Nvalues) {
     5Measure *Measure_PS1_V1_ToInternal (Average *ave, Measure_PS1_V1 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1313    dvo_measure_init (&out[i]);
    1414
    15     out[i].dR         = in[i].dR;
    16     out[i].dD         = in[i].dD;
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1718    out[i].M          = in[i].M;
    1819    out[i].Mcal       = in[i].Mcal;
     
    5859}
    5960
    60 Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Measure *in, off_t Nvalues) {
     61Measure_PS1_V1 *MeasureInternalTo_PS1_V1 (Average *ave, Measure *in, off_t Nvalues) {
    6162
    6263  off_t i;
     
    6667
    6768  for (i = 0; i < Nvalues; i++) {
    68     out[i].dR         = in[i].dR;
    69     out[i].dD         = in[i].dD;
     69    int averef = in[i].averef;
     70
     71    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     72    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    7073    out[i].M          = in[i].M;
    7174    out[i].Mcal       = in[i].Mcal;
     
    199202    out[i].Ncode = in[i].Ncode;
    200203    out[i].Nused = in[i].Nused;
    201     out[i].M_20  = in[i].M_20;     
    202     out[i].M_80  = in[i].M_80;     
     204    out[i].Mmin  = in[i].M_20*0.001;     
     205    out[i].Mmax  = in[i].M_80*0.001;     
    203206 }
    204207  return (out);
     
    218221    out[i].Ncode = in[i].Ncode;
    219222    out[i].Nused = in[i].Nused;
    220     out[i].M_20  = in[i].M_20;     
    221     out[i].M_80  = in[i].M_80;     
     223    out[i].M_20  = in[i].Mmin*1000.0;     
     224    out[i].M_80  = in[i].Mmax*1000.0;     
    222225  }
    223226  return (out);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c

    r36833 r36898  
    33/* convert PS1_V2 formats to internal formats */
    44
    5 Measure *Measure_PS1_V2_ToInternal (Measure_PS1_V2 *in, off_t Nvalues) {
     5Measure *Measure_PS1_V2_ToInternal (Average *ave, Measure_PS1_V2 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1313    dvo_measure_init (&out[i]);
    1414
    15     out[i].dR         = in[i].dR;
    16     out[i].dD         = in[i].dD;
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1718    out[i].M          = in[i].M;
    1819    out[i].Mcal       = in[i].Mcal;
     
    5960}
    6061
    61 Measure_PS1_V2 *MeasureInternalTo_PS1_V2 (Measure *in, off_t Nvalues) {
     62Measure_PS1_V2 *MeasureInternalTo_PS1_V2 (Average *ave, Measure *in, off_t Nvalues) {
    6263
    6364  off_t i;
     
    6768
    6869  for (i = 0; i < Nvalues; i++) {
    69     out[i].dR         = in[i].dR;
    70     out[i].dD         = in[i].dD;
     70    int averef = in[i].averef;
     71
     72    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     73    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    7174    out[i].M          = in[i].M;
    7275    out[i].Mcal       = in[i].Mcal;
     
    209212    out[i].Ncode = in[i].Ncode;
    210213    out[i].Nused = in[i].Nused;
    211     out[i].M_20  = in[i].M_20;     
    212     out[i].M_80  = in[i].M_80;     
     214    out[i].Mmin  = in[i].M_20*0.001;     
     215    out[i].Mmax  = in[i].M_80*0.001;     
    213216 }
    214217  return (out);
     
    229232    out[i].Ncode = in[i].Ncode;
    230233    out[i].Nused = in[i].Nused;
    231     out[i].M_20  = in[i].M_20;     
    232     out[i].M_80  = in[i].M_80;     
     234    out[i].M_20  = in[i].Mmin*1000.0;     
     235    out[i].M_80  = in[i].Mmax*1000.0;     
    233236  }
    234237  return (out);
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c

    r36833 r36898  
    33/* convert PS1_V3 formats to internal formats */
    44
    5 Measure *Measure_PS1_V3_ToInternal (Measure_PS1_V3 *in, off_t Nvalues) {
     5Measure *Measure_PS1_V3_ToInternal (Average *ave, Measure_PS1_V3 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1313    dvo_measure_init (&out[i]);
    1414
    15     out[i].dR         = in[i].dR;
    16     out[i].dD         = in[i].dD;
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1718    out[i].M          = in[i].M;
    1819    out[i].Mcal       = in[i].Mcal;
     
    5960}
    6061
    61 Measure_PS1_V3 *MeasureInternalTo_PS1_V3 (Measure *in, off_t Nvalues) {
     62Measure_PS1_V3 *MeasureInternalTo_PS1_V3 (Average *ave, Measure *in, off_t Nvalues) {
    6263
    6364  off_t i;
     
    6768
    6869  for (i = 0; i < Nvalues; i++) {
    69     out[i].dR         = in[i].dR;
    70     out[i].dD         = in[i].dD;
     70    int averef = in[i].averef;
     71
     72    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     73    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    7174    out[i].M          = in[i].M;
    7275    out[i].Mcal       = in[i].Mcal;
     
    214217    out[i].Ncode       = in[i].Ncode;
    215218    out[i].Nused       = in[i].Nused;
    216     out[i].M_20        = in[i].M_20;     
    217     out[i].M_80        = in[i].M_80;     
     219    out[i].Mmin        = in[i].M_20*0.001;     
     220    out[i].Mmax        = in[i].M_80*0.001;     
    218221    out[i].Mstdev      = in[i].Mstdev;     
    219222    out[i].ubercalDist = in[i].ubercalDist;     
     
    237240    out[i].Ncode       = in[i].Ncode;
    238241    out[i].Nused       = in[i].Nused;
    239     out[i].M_20        = in[i].M_20;     
    240     out[i].M_80        = in[i].M_80;     
     242    out[i].M_20        = in[i].Mmin*1000.0;     
     243    out[i].M_80        = in[i].Mmax*1000.0;     
    241244    out[i].Mstdev      = in[i].Mstdev;     
    242245    out[i].ubercalDist = in[i].ubercalDist;     
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c

    r36833 r36898  
    33/* convert PS1_V4 formats to internal formats */
    44
    5 Measure *Measure_PS1_V4_ToInternal (Measure_PS1_V4 *in, off_t Nvalues) {
     5Measure *Measure_PS1_V4_ToInternal (Average *ave, Measure_PS1_V4 *in, off_t Nvalues) {
    66
    77  off_t i;
     
    1313    dvo_measure_init (&out[i]);
    1414
    15     out[i].dR         = in[i].dR;
    16     out[i].dD         = in[i].dD;
     15    int averef = in[i].averef;
     16    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     17    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1718    out[i].M          = in[i].M;
    1819    out[i].Mcal       = in[i].Mcal;
     
    6869}
    6970
    70 Measure_PS1_V4 *MeasureInternalTo_PS1_V4 (Measure *in, off_t Nvalues) {
     71Measure_PS1_V4 *MeasureInternalTo_PS1_V4 (Average *ave, Measure *in, off_t Nvalues) {
    7172
    7273  off_t i;
     
    7677
    7778  for (i = 0; i < Nvalues; i++) {
    78     out[i].dR         = in[i].dR;
    79     out[i].dD         = in[i].dD;
     79    int averef = in[i].averef;
     80
     81    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     82    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    8083    out[i].M          = in[i].M;
    8184    out[i].Mcal       = in[i].Mcal;
     
    237240    out[i].dM            = in[i].dM;     
    238241    out[i].Xm            = in[i].Xm;     
    239     out[i].FluxPSF       = in[i].FluxPSF;
    240     out[i].dFluxPSF      = in[i].dFluxPSF;
    241     out[i].FluxKron      = in[i].FluxKron;
    242     out[i].dFluxKron     = in[i].dFluxKron;
     242    out[i].FpsfStk       = in[i].FluxPSF;
     243    out[i].dFpsfStk      = in[i].dFluxPSF;
     244    out[i].FkronStk      = in[i].FluxKron;
     245    out[i].dFkronStk     = in[i].dFluxKron;
    243246    out[i].flags         = in[i].flags;     
    244247    out[i].Ncode         = in[i].Ncode;
    245248    out[i].Nused         = in[i].Nused;
    246     out[i].M_20          = in[i].M_20;     
    247     out[i].M_80          = in[i].M_80;     
     249    out[i].Mmin          = in[i].M_20*0.001;     
     250    out[i].Mmax          = in[i].M_80*0.001;     
    248251    out[i].Mstdev        = in[i].Mstdev;     
    249252    out[i].ubercalDist   = in[i].ubercalDist;     
     
    267270    out[i].dM            = in[i].dM;     
    268271    out[i].Xm            = in[i].Xm;     
    269     out[i].FluxPSF       = in[i].FluxPSF;
    270     out[i].dFluxPSF      = in[i].dFluxPSF;
    271     out[i].FluxKron      = in[i].FluxKron;
    272     out[i].dFluxKron     = in[i].dFluxKron;
     272    out[i].FluxPSF       = in[i].FpsfStk;
     273    out[i].dFluxPSF      = in[i].dFpsfStk;
     274    out[i].FluxKron      = in[i].FkronStk;
     275    out[i].dFluxKron     = in[i].dFkronStk;
    273276    out[i].flags         = in[i].flags;     
    274277    out[i].Ncode         = in[i].Ncode;
    275278    out[i].Nused         = in[i].Nused;
    276     out[i].M_20          = in[i].M_20;     
    277     out[i].M_80          = in[i].M_80;     
     279    out[i].M_20          = in[i].Mmin*1000.0;     
     280    out[i].M_80          = in[i].Mmax*1000.0;     
    278281    out[i].Mstdev        = in[i].Mstdev;     
    279282    out[i].ubercalDist   = in[i].ubercalDist;     
     
    486489/*** there are some mini dvodbs with the wrong PS1_V4 format (missing Xoff,Yoff / Xfix,Yfix) ************/
    487490
    488 Measure *Measure_PS1_V4alt_ToInternal (Measure_PS1_V4alt *in, off_t Nvalues) {
     491Measure *Measure_PS1_V4alt_ToInternal (Average *ave, Measure_PS1_V4alt *in, off_t Nvalues) {
    489492
    490493  off_t i;
     
    496499    dvo_measure_init (&out[i]);
    497500
    498     out[i].dR         = in[i].dR;
    499     out[i].dD         = in[i].dD;
     501    int averef = in[i].averef;
     502    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     503    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    500504    out[i].M          = in[i].M;
    501505    out[i].Mcal       = in[i].Mcal;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_elixir.c

    r35162 r36898  
    22
    33/* convert elixir-format measures to internal measures */
    4 Measure *Measure_Elixir_ToInternal (Measure_Elixir *in, off_t Nvalues) {
     4Measure *Measure_Elixir_ToInternal (Average *ave, Measure_Elixir *in, off_t Nvalues) {
    55
    66  off_t i;
     
    1515    out[i].averef   = in[i].averef;
    1616
     17    // changed for PS1_V5
     18    int averef = out[i].averef;
     19    out[i].R          = (in[i].dR == NAN_S_SHORT) ? NAN : ave[averef].R - 0.01 * in[i].dR / 3600.0;
     20    out[i].D          = (in[i].dD == NAN_S_SHORT) ? NAN : ave[averef].D - 0.01 * in[i].dD / 3600.0;
     21
    1722    // changed for PANSTARRS_DEV_0
    18     out[i].dR       = (in[i].dR      == NAN_S_SHORT) ? NAN : in[i].dR     * 0.01;
    19     out[i].dD       = (in[i].dD      == NAN_S_SHORT) ? NAN : in[i].dD     * 0.01;
    2023    out[i].M        = (in[i].M       == NAN_S_SHORT) ? NAN : in[i].M      * 0.001;
    2124    out[i].dM       = (in[i].dM      == NAN_U_CHAR)  ? NAN : in[i].dM     * 0.001;
     
    4750
    4851/* convert internal measures to elixir-format measures */
    49 Measure_Elixir *MeasureInternalTo_Elixir (Measure *in, off_t Nvalues) {
     52Measure_Elixir *MeasureInternalTo_Elixir (Average *ave, Measure *in, off_t Nvalues) {
    5053
    5154  off_t i;
     
    5962    out[i].averef  = in[i].averef;
    6063
     64    // changed for PS1_V5
     65    int averef = in[i].averef;
     66    int isBad = isnan(in[i].R) || isnan(in[i].D);
     67    out[i].dR     = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].R - in[i].R);
     68    out[i].dD     = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].D - in[i].D);
     69
    6170    // changed for PANSTARRS_DEV_0
    62     out[i].dR       = isnan(in[i].dR     ) ? NAN_S_SHORT : in[i].dR      *  100.0;
    63     out[i].dD       = isnan(in[i].dD     ) ? NAN_S_SHORT : in[i].dD      *  100.0;
    6471    out[i].M        = isnan(in[i].M      ) ? NAN_S_SHORT : in[i].M       * 1000.0;
    6572    out[i].dM       = isnan(in[i].dM     ) ? NAN_U_CHAR  : in[i].dM      * 1000.0;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_loneos.c

    r35162 r36898  
    22
    33/* convert loneos-format measures to internal measures */
    4 Measure *Measure_Loneos_ToInternal (Measure_Loneos *in, off_t Nvalues) {
     4Measure *Measure_Loneos_ToInternal (Average *ave, Measure_Loneos *in, off_t Nvalues) {
    55
    66  off_t i;
     
    1818    out[i].t         = in[i].t;
    1919
     20    // changed for PS1_V5
     21    int averef = out[i].averef;
     22    out[i].R          = (in[i].dR == NAN_S_SHORT) ? NAN : ave[averef].R - 0.01 * in[i].dR / 3600.0;
     23    out[i].D          = (in[i].dD == NAN_S_SHORT) ? NAN : ave[averef].D - 0.01 * in[i].dD / 3600.0;
     24
    2025    // changed for PANSTARRS_DEV_0
    21     out[i].dR       = (in[i].dR      == NAN_S_SHORT) ? NAN : in[i].dR     * 0.01;
    22     out[i].dD       = (in[i].dD      == NAN_S_SHORT) ? NAN : in[i].dD     * 0.01;
    2326    out[i].M        = (in[i].M       == NAN_S_SHORT) ? NAN : in[i].M      * 0.001;
    2427    out[i].dM       = (in[i].dM      == NAN_U_CHAR)  ? NAN : in[i].dM     * 0.001;
     
    4043
    4144/* convert internal measures to loneos-format measures */
    42 Measure_Loneos *MeasureInternalTo_Loneos (Measure *in, off_t Nvalues) {
     45Measure_Loneos *MeasureInternalTo_Loneos (Average *ave, Measure *in, off_t Nvalues) {
    4346
    4447  off_t i;
     
    4851
    4952  for (i = 0; i < Nvalues; i++) {
    50 
    51     // changed for PANSTARRS_DEV_0
    52     out[i].dR     = isnan(in[i].dR     ) ? NAN_S_SHORT : in[i].dR      *  100.0;
    53     out[i].dD     = isnan(in[i].dD     ) ? NAN_S_SHORT : in[i].dD      *  100.0;
     53    // changed for PS1_V5
     54    int averef = in[i].averef;
     55    int isBad = isnan(in[i].R) || isnan(in[i].D);
     56    out[i].dR     = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].R - in[i].R);
     57    out[i].dD     = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].D - in[i].D);
     58
    5459    out[i].M      = isnan(in[i].M      ) ? NAN_S_SHORT : in[i].M       * 1000.0;
    5560    out[i].dM     = isnan(in[i].dM     ) ? NAN_U_CHAR  : in[i].dM      * 1000.0;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c

    r35162 r36898  
    22
    33/* convert panstarrs-format measures to internal measures */
    4 Measure *Measure_Panstarrs_DEV_0_ToInternal (Measure_Panstarrs_DEV_0 *in, off_t Nvalues) {
     4Measure *Measure_Panstarrs_DEV_0_ToInternal (Average *ave, Measure_Panstarrs_DEV_0 *in, off_t Nvalues) {
    55
    66  off_t i;
     
    1111  for (i = 0; i < Nvalues; i++) {
    1212    dvo_measure_init (&out[i]);
    13     out[i].dR         = in[i].dR;
    14     out[i].dD         = in[i].dD;
     13
     14    int averef = in[i].averef;
     15    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     16    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1517    out[i].M          = in[i].M;
    1618    out[i].dM         = in[i].dM;
     
    5254
    5355/* convert internal measures to panstarrs-format measures */
    54 Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Measure *in, off_t Nvalues) {
     56Measure_Panstarrs_DEV_0 *MeasureInternalTo_Panstarrs_DEV_0 (Average *ave, Measure *in, off_t Nvalues) {
    5557
    5658  off_t i;
     
    6062
    6163  for (i = 0; i < Nvalues; i++) {
    62     out[i].dR         = in[i].dR;
    63     out[i].dD         = in[i].dD;
     64    int averef = in[i].averef;
     65
     66    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     67    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    6468    out[i].M          = in[i].M;
    6569    out[i].dM         = in[i].dM;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c

    r35162 r36898  
    22
    33/* convert panstarrs-format measures to internal measures */
    4 Measure *Measure_Panstarrs_DEV_1_ToInternal (Measure_Panstarrs_DEV_1 *in, off_t Nvalues) {
     4Measure *Measure_Panstarrs_DEV_1_ToInternal (Average *ave, Measure_Panstarrs_DEV_1 *in, off_t Nvalues) {
    55
    66  off_t i;
     
    1111  for (i = 0; i < Nvalues; i++) {
    1212    dvo_measure_init (&out[i]);
    13     out[i].dR         = in[i].dR;
    14     out[i].dD         = in[i].dD;
     13
     14    int averef = in[i].averef;
     15    out[i].R          = ave[averef].R - in[i].dR / 3600.0;
     16    out[i].D          = ave[averef].D - in[i].dD / 3600.0;
    1517    out[i].M          = in[i].M;
    1618    out[i].dM         = in[i].dM;
     
    5254
    5355/* convert internal measures to panstarrs-format measures */
    54 Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Measure *in, off_t Nvalues) {
     56Measure_Panstarrs_DEV_1 *MeasureInternalTo_Panstarrs_DEV_1 (Average *ave, Measure *in, off_t Nvalues) {
    5557
    5658  off_t i;
     
    6062
    6163  for (i = 0; i < Nvalues; i++) {
    62     out[i].dR         = in[i].dR;
    63     out[i].dD         = in[i].dD;
     64    int averef = in[i].averef;
     65
     66    out[i].dR         = 3600.0*(ave[averef].R - in[i].R);
     67    out[i].dD         = 3600.0*(ave[averef].D - in[i].D);
    6468    out[i].M          = in[i].M;
    6569    out[i].dM         = in[i].dM;
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_image.c

    r35162 r36898  
    219219  if (db[0].format == DVO_FORMAT_PS1_V3)          gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V3");
    220220  if (db[0].format == DVO_FORMAT_PS1_V4)          gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V4");
     221  if (db[0].format == DVO_FORMAT_PS1_V5)          gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V5");
    221222  if (db[0].format == DVO_FORMAT_PS1_REF)         gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_REF");
    222223 
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_image_raw.c

    r34260 r36898  
    5959  if (db[0].format == DVO_FORMAT_PS1_V3)          ImageSize = sizeof(Image_PS1_V3);
    6060  if (db[0].format == DVO_FORMAT_PS1_V4)          ImageSize = sizeof(Image_PS1_V4);
     61  if (db[0].format == DVO_FORMAT_PS1_V5)          ImageSize = sizeof(Image_PS1_V5);
    6162  if (db[0].format == DVO_FORMAT_PS1_REF)         ImageSize = sizeof(Image_PS1_REF);
    6263
     
    8990  if (db[0].format == DVO_FORMAT_PS1_V3)          gfits_table_mkheader_Image_PS1_V3 (&db[0].theader);
    9091  if (db[0].format == DVO_FORMAT_PS1_V4)          gfits_table_mkheader_Image_PS1_V4 (&db[0].theader);
     92  if (db[0].format == DVO_FORMAT_PS1_V5)          gfits_table_mkheader_Image_PS1_V5 (&db[0].theader);
    9193  if (db[0].format == DVO_FORMAT_PS1_REF)         gfits_table_mkheader_Image_PS1_REF (&db[0].theader);
    9294   
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r36630 r36898  
    857857
    858858  Ns = photcodes[0].hashNsec[code[0].code];
    859   Fpsf = (Ns == -1) ? NAN : secfilt[Ns].FluxPSF;
     859  Fpsf = (Ns == -1) ? NAN : secfilt[Ns].FpsfStk;
    860860  return (Fpsf);
    861861}
     
    869869
    870870  Ns = photcodes[0].hashNsec[code[0].code];
    871   dFpsf = (Ns == -1) ? NAN : secfilt[Ns].dFluxPSF;
     871  dFpsf = (Ns == -1) ? NAN : secfilt[Ns].dFpsfStk;
    872872  return (dFpsf);
    873873}
     
    881881
    882882  Ns = photcodes[0].hashNsec[code[0].code];
    883   Fkron = (Ns == -1) ? NAN : secfilt[Ns].FluxKron;
     883  Fkron = (Ns == -1) ? NAN : secfilt[Ns].FkronStk;
    884884  return (Fkron);
    885885}
     
    893893
    894894  Ns = photcodes[0].hashNsec[code[0].code];
    895   dFkron = (Ns == -1) ? NAN : secfilt[Ns].dFluxKron;
     895  dFkron = (Ns == -1) ? NAN : secfilt[Ns].dFkronStk;
    896896  return (dFkron);
    897897}
    898898
    899 float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt) {
    900 
    901   int Ns;
    902   float M20;
    903 
    904   if (code == NULL) return NAN;
    905 
    906   Ns = photcodes[0].hashNsec[code[0].code];
    907   M20  = (Ns == -1) ? NAN : 0.001*secfilt[Ns].M_20;
    908   return (M20);
    909 }
    910 
    911 float PhotM80 (PhotCode *code, Average *average, SecFilt *secfilt) {
    912 
    913   int Ns;
    914   float M80;
    915 
    916   if (code == NULL) return NAN;
    917 
    918   Ns = photcodes[0].hashNsec[code[0].code];
    919   M80  = (Ns == -1) ? NAN : 0.001*secfilt[Ns].M_80;
    920   return (M80);
     899float PhotMmin (PhotCode *code, Average *average, SecFilt *secfilt) {
     900
     901  int Ns;
     902  float Mmin;
     903
     904  if (code == NULL) return NAN;
     905
     906  Ns = photcodes[0].hashNsec[code[0].code];
     907  Mmin  = (Ns == -1) ? NAN : secfilt[Ns].Mmin;
     908  return (Mmin);
     909}
     910
     911float PhotMmax (PhotCode *code, Average *average, SecFilt *secfilt) {
     912
     913  int Ns;
     914  float Mmax;
     915
     916  if (code == NULL) return NAN;
     917
     918  Ns = photcodes[0].hashNsec[code[0].code];
     919  Mmax  = (Ns == -1) ? NAN : secfilt[Ns].Mmax;
     920  return (Mmax);
    921921}
    922922
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dvo_tiny_values.c

    r36630 r36898  
    1414
    1515void CopyMeasureToTiny (MeasureTiny *measureT, Measure *measure) {
    16   measureT[0].dR         = measure[0].dR;
    17   measureT[0].dD         = measure[0].dD;
     16  measureT[0].R          = measure[0].R;
     17  measureT[0].D          = measure[0].D;
    1818  measureT[0].M          = measure[0].M;
    1919  measureT[0].Mcal       = measure[0].Mcal;
Note: See TracChangeset for help on using the changeset viewer.