IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 17, 2014, 10:10:16 AM (12 years ago)
Author:
eugene
Message:

major re-work of dvo photcode-based-field parsing; adding PS1_V5 and lensing parameters, adding reference colors blue & red

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/include/dvo.h

    r36833 r37035  
    2828  DVO_FORMAT_PS1_V3,
    2929  DVO_FORMAT_PS1_V4,
     30  DVO_FORMAT_PS1_V5,
    3031} DVOTableFormat;
    3132
     
    7879
    7980/* catalog values to be loaded */
    80 # define LOAD_NONE      0x00
    81 # define LOAD_AVES      0x01
    82 # define LOAD_MEAS      0x02
    83 # define LOAD_MISS      0x04
    84 # define LOAD_SECF      0x08
    85 # define SKIP_AVES      0x10
    86 # define SKIP_MEAS      0x20
    87 # define SKIP_MISS      0x40
    88 # define SKIP_SECF      0x80
    89 
    90 // # define LOAD_MEAS_META 0x100 -- is this used??
     81# define LOAD_NONE      0x000
     82# define LOAD_AVES      0x001
     83# define LOAD_MEAS      0x002
     84# define LOAD_MISS      0x004
     85# define LOAD_SECF      0x008
     86# define SKIP_AVES      0x010
     87# define SKIP_MEAS      0x020
     88# define SKIP_MISS      0x040
     89# define SKIP_SECF      0x080
     90# define LOAD_LENSING   0x100
     91# define LOAD_LENSOBJ   0x200
     92# define SKIP_LENSING   0x400
     93# define SKIP_LENSOBJ   0x800
    9194
    9295/* photometry code types */
     
    334337// another special case : does not match byte-boundaries
    335338# include "cmf-ps1-dv3.h"
     339# include "cmf-ps1-sv3.h"
     340# include "cmf-ps1-v5.h"
     341# include "cmf-ps1-v5-lensing.h"
    336342
    337343typedef struct {
     
    434440// a reduced-subset structure for relphot & relastro
    435441typedef struct {
    436   float          dR;
    437   float          dD;
     442  double         R;
     443  double         D;
    438444  float          M;
    439445  float          Mcal;
     
    548554
    549555Measure_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);
     556Measure *Measure_PS1_V4alt_ToInternal (Average *ave, Measure_PS1_V4alt *in, off_t Nvalues);
     557
     558/* for some reason I have merged the set of tables and the file description,
     559   so I need to have an internal structure to point to the separate files */
    551560
    552561/* a catalog contains this data */
     
    562571  SecFilt *secfilt;
    563572
     573  // lensing data (optional?)
     574  Lensing *lensing;
     575  Lensobj *lensobj;
     576
    564577  int Nsecfilt;  /* number of secfilt entries for each average entry */
    565   off_t Naverage,   Nmeasure,   Nmissing,   Nsecf_mem;  /* current number of each component in memory */
    566   off_t Naves_disk, Nmeas_disk, Nmiss_disk, Nsecf_disk; /* current number of each component on disk */
    567   off_t Naves_off,  Nmeas_off,  Nmiss_off,  Nsecf_off;  /* index of first loaded data value */
     578  off_t Naverage,   Nmeasure,   Nmissing,   Nlensing,      Nlensobj,      Nsecf_mem;  /* current number of each component in memory */
     579  off_t Naves_disk, Nmeas_disk, Nmiss_disk, Nlensing_disk, Nlensobj_disk, Nsecf_disk; /* current number of each component on disk */
     580  off_t Naves_off,  Nmeas_off,  Nmiss_off,  Nlensing_off,  Nlensobj_off,  Nsecf_off;  /* index of first loaded data value */
    568581
    569582  // note that we use these for the full-sky relphot analysis
     
    584597  struct Catalog *missing_catalog;              /* missing catalog data (split) */
    585598  struct Catalog *secfilt_catalog;              /* secfilt catalog data (split) */
     599  struct Catalog *lensing_catalog;              /* lensing catalog data (split) */
     600  struct Catalog *lensobj_catalog;              /* lensobj catalog data (split) */
    586601
    587602  unsigned int objID;
     
    592607  char catmode;                         /* storage mode (raw, mef, split, mysql) */
    593608  char catformat;                       /* storage format (elixir, panstarrs, etc) */
    594   char catflags;                                /* choices to be loaded */
    595   char sorted;                          /* is measure table average-sorted? */
     609  int sorted;                           /* is measure table average-sorted? (NOTE this is an int only because gfits_scan %t requires it) */
    596610 
     611  short catflags; /* choices to be loaded */
     612
    597613  /* pointers for data manipulation */
    598   off_t *found;
    599   off_t *image;
    600   off_t *mosaic;
    601   float *X;
    602   float *Y;
    603   int   *nOwn; // relastro uses this to count owned detections per object
     614  off_t *found_t;
     615  off_t *foundWarp_t;
     616//  off_t *image_t;
     617//  off_t *mosaic_t;
     618//  float *X_t;
     619//  float *Y_t;
     620  int   *nOwn_t; // relastro uses this to count owned detections per object
    604621
    605622} Catalog;
     
    661678char     *GetPhotcodeNamebyCode (int code);
    662679
    663 float PhotInst (Measure *measure);
    664 float PhotCat (Measure *measure);
    665 float PhotSys (Measure *measure, Average *average, SecFilt *secfilt);
    666 float PhotRel (Measure *measure, Average *average, SecFilt *secfilt);
    667 float PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
    668 float PhotAve (PhotCode *code, Average *average, SecFilt *secfilt);
    669 float PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
    670 float PhotAveErr (PhotCode *code, Average *average, SecFilt *secfilt);
    671 
    672 float PhotAperInst (Measure *measure);
    673 float PhotAperCat (Measure *measure);
    674 float PhotAperSys (Measure *measure, Average *average, SecFilt *secfilt);
    675 float PhotAperRel (Measure *measure, Average *average, SecFilt *secfilt);
    676 float PhotAperCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
    677 float PhotAperAve (PhotCode *code, Average *average, SecFilt *secfilt);
    678 float PhotAperRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
    679 
    680 float PhotKronInst (Measure *measure);
    681 float PhotKronCat (Measure *measure);
    682 float PhotKronSys (Measure *measure, Average *average, SecFilt *secfilt);
    683 float PhotKronRel (Measure *measure, Average *average, SecFilt *secfilt);
    684 float PhotKronCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
    685 float PhotKronAve (PhotCode *code, Average *average, SecFilt *secfilt);
    686 float PhotKronRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
    687 float PhotKronAveErr (PhotCode *code, Average *average, SecFilt *secfilt);
     680float PhotInst (Measure *measure, dvoMagClassType class);
     681float PhotCat (Measure *measure, dvoMagClassType class);
     682float PhotSys (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
     683float PhotRel (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
     684float PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code, dvoMagClassType class);
     685float PhotErr (Measure *measure, dvoMagClassType class);
     686float PhotCalErr (Measure *measure, dvoMagClassType class);
     687
     688float PhotAve (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
     689float PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure, dvoMagClassType class, dvoMagSourceType source);
     690float PhotAveErr (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
     691
     692float PhotInstTiny (MeasureTiny *measure, dvoMagClassType class);
     693float PhotCatTiny (MeasureTiny *measure, dvoMagClassType class);
     694float PhotSysTiny (MeasureTiny *measure, AverageTiny *average, SecFilt *secfilt, dvoMagClassType class);
     695float PhotRelTiny (MeasureTiny *measure, AverageTiny *average, SecFilt *secfilt, dvoMagClassType class);
     696float PhotCalTiny (MeasureTiny *thisone, AverageTiny *average, SecFilt *secfilt, MeasureTiny *measure, PhotCode *code, dvoMagClassType class);
     697
     698float PhotAveTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
     699float PhotRefTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt, MeasureTiny *measure, dvoMagClassType class, dvoMagSourceType source);
     700
     701float PhotFluxInst (Measure *measure, dvoMagClassType class);
     702float PhotFluxCat (Measure *measure, dvoMagClassType class);
     703float PhotFluxSys (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
     704float PhotFluxRel (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
     705float PhotFluxCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code, dvoMagClassType class);
     706
     707float PhotFluxAve (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
     708float PhotFluxRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure, dvoMagClassType class, dvoMagSourceType source);
     709
     710float PhotFluxInstErr (Measure *measure, dvoMagClassType class);
     711float PhotFluxCatErr (Measure *measure, dvoMagClassType class);
    688712
    689713float PhotXm (PhotCode *code, Average *average, SecFilt *secfilt);
    690 
    691714float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt);
    692 float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt);
    693 float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt);
    694 float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt);
    695 float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt);
    696715
    697716float 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);
     717float PhotMmin (PhotCode *code, Average *average, SecFilt *secfilt);
     718float PhotMmax (PhotCode *code, Average *average, SecFilt *secfilt);
    700719float PhotUCdist (PhotCode *code, Average *average, SecFilt *secfilt);
    701720unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt);
     
    704723int PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color);
    705724
    706 float PhotInstTiny (MeasureTiny *measure);
    707 float PhotCatTiny (MeasureTiny *measure);
    708 float PhotAperTiny (MeasureTiny *measure);
    709 float PhotSysTiny (MeasureTiny *measure, AverageTiny *average, SecFilt *secfilt);
    710 float PhotRelTiny (MeasureTiny *measure, AverageTiny *average, SecFilt *secfilt);
    711 float PhotCalTiny (MeasureTiny *thisone, AverageTiny *average, SecFilt *secfilt, MeasureTiny *measure, PhotCode *code);
    712 float PhotAveTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt);
    713 float PhotRefTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt, MeasureTiny *measure);
    714725float PhotXmTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt);
    715726float PhotdMTiny (PhotCode *code, AverageTiny *average, SecFilt *secfilt);
     
    782793/*** conversion functions / I/O conversions ***/
    783794Average *ReadRawAverage (FILE *f, off_t Naverage, char format, SecFilt **primary);
    784 Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format);
     795Measure *ReadRawMeasure (FILE *f, Average *average, off_t Nmeasure, char format);
    785796SecFilt *ReadRawSecFilt (FILE *f, off_t Nsecfilt, char format);
    786797int WriteRawAverage (FILE *f, Average *average, off_t Naverage, char format, SecFilt *primary);
    787 int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format);
     798int WriteRawMeasure (FILE *f, Average *average, Measure *measure, off_t Nmeasure, char format);
    788799int WriteRawSecFilt (FILE *f, SecFilt *secfilt, off_t Nsecfilt, char format);
    789800
     
    791802
    792803Average *FtableToAverage (FTable *ftable, off_t *Naverage, char *format, SecFilt **primary);
    793 Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format);
     804Measure *FtableToMeasure (FTable *ftable, Average *average, off_t *Nmeasure, char *format);
    794805SecFilt *FtableToSecFilt (FTable *ftable, off_t *Nsecfilt, char *format);
     806Lensing *FtableToLensing (FTable *ftable, off_t *Nlensing, char *format);
     807Lensobj *FtableToLensobj (FTable *ftable, off_t *Nlensobj, char *format);
    795808int      FtableToImage   (FTable *ftable, Header *theader, char *format);
    796809
    797810int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, char format, SecFilt *primary);
    798 int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format);
     811int MeasureToFtable (FTable *ftable, Average *average, Measure *measure, off_t Nmeasure, char format);
    799812int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, char format);
     813int LensingToFtable (FTable *ftable, Lensing *lensing, off_t Nlensing, char format);
     814int LensobjToFtable (FTable *ftable, Lensobj *lensobj, off_t Nlensobj, char format);
    800815int ImageToFtable (FTable *ftable, Header *theader, char format);
    801816int ImageToVtable (VTable *vtable, Header *theader, char format);
     
    812827# include "ps1_v3_defs.h"
    813828# include "ps1_v4_defs.h"
     829# include "ps1_v5_defs.h"
    814830# include "ps1_ref_defs.h"
    815831
     
    906922void TessellationTableInit (TessellationTable *tess, int Ntess);
    907923
     924float dvoOffsetR (Measure *measure, Average *average);
     925float dvoOffsetD (Measure *measure, Average *average);
     926double dvoMeanR (float dR, Average *average);
     927double dvoMeanD (float dD, Average *average);
     928
    908929void dvo_average_init (Average *average);
    909930void dvo_averageT_init (AverageTiny *average);
     
    911932void dvo_measure_init (Measure *measure);
    912933void dvo_measureT_init (MeasureTiny *measure);
     934
     935void dvo_lensing_init (Lensing *lensing);
     936void dvo_lensobj_init (Lensobj *lensobj);
    913937
    914938void InitRegionHosts (RegionHostInfo *hosts, int Nhosts, int NHOSTS);
Note: See TracChangeset for help on using the changeset viewer.