IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 6, 2014, 12:45:37 PM (12 years ago)
Author:
eugene
Message:

add support for alt PS1_V4 dvo format; add TessellationTable stuff; consistency for ctype and RA vs DEC as source

File:
1 edited

Legend:

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

    r36084 r36490  
    308308# define BOUNDARY_TREE_NAME_LENGTH 128
    309309
     310// BoundaryTree is a structure to describe the 3pi RINGS skycell boundaries in terms of lines of constant (RA,DEC)
     311// the structure is flexible for a variety of RINGS-like tessellations, but is not appropriate for the LOCAL style tess
    310312typedef struct {
    311313  int FixedGridDEC;           // is the DEC sequence linear?
     
    342344} BoundaryTree;
    343345
    344 // XXX DROP? // a reduced-subset structure for relastro
    345 // XXX DROP? typedef struct {
    346 // XXX DROP?   double         R;
    347 // XXX DROP?   double         D;
    348 // XXX DROP?   unsigned short Nmeasure;
    349 // XXX DROP?   int            measureOffset;
    350 // XXX DROP?   uint32_t       flags;
    351 // XXX DROP?   int            catID;
    352 // XXX DROP? } AverageTinyAstro;
     346typedef enum { TESS_NONE, TESS_LOCAL, TESS_RINGS } TessType;
     347
     348// TessellationTable is a structure to describe the parameters of a set of "tessellations"
     349// (these are not strictly tessellations but projection sets as only the non-local
     350// versions can cover the full sky).  For LOCAL projection cells, the structure describes
     351// the boundaries of a SINGLE projection cell with Nx * Ny skycells and includes some
     352// basic parameters (not used by the fullsky, eg RINGS, tessellations)
     353typedef struct {
     354  double Rmin; // this tessellation is valid only for RA >= Rmin
     355  double Rmax; // this tessellation is valid only for RA <  Rmax
     356  double Dmin; // this tessellation is valid only for DEC >= Dmin
     357  double Dmax; // this tessellation is valid only for DEC <  Dmax
     358
     359  double Xo;
     360  double Yo;
     361  double Ro;
     362  double Do;
     363  double dPix;
     364  int dX;
     365  int dY;
     366
     367  int NX_SUB;
     368  int NY_SUB;
     369
     370  char *basename;
     371  int Nbasename;
     372  int projectIDoff;
     373  int skycellIDoff;
     374
     375  TessType type; //
     376  BoundaryTree *tree;
     377} TessellationTable;
    353378
    354379// a reduced-subset structure for relphot
     
    387412} MeasureTiny;
    388413
     414
     415/** STRUCT DEFINITION **/
     416typedef struct {
     417  float            dR;                   // RA offset (arcsec)
     418  float            dD;                   // DEC offset (arcsec)
     419  float            M;                    // catalog mag (mag)
     420  float            Mcal;                 // image cal mag (mag)
     421  float            Map;                  // aperture mag (mag)
     422  float            Mkron;                // kron magnitude (mag)
     423  float            dMkron;               // kron magnitude error (mag)
     424  float            dM;                   // mag error (mag)
     425  float            dMcal;                // systematic calibration error (mag)
     426  float            dt;                   // exposure time (2.5*log(exptime))
     427  float            FluxPSF;              // flux from psf fit (counts/sec?)
     428  float            dFluxPSF;             // error on psf flux (counts/sec?)
     429  float            FluxKron;             // flux from kron ap (counts/sec?)
     430  float            dFluxKron;            // error on kron flux (counts/sec?)
     431  float            airmass;              // (airmass - 1) (airmass)
     432  float            az;                   // telescope azimuth
     433  float            Xccd;                 // X coord on chip (raw value) (pixels)
     434  float            Yccd;                 // Y coord on chip (raw value) (pixels)
     435  float            Sky;                  // local estimate of sky flux (counts/sec)
     436  float            dSky;                 // local estimate of sky flux (counts/sec)
     437  int              t;                    // time in seconds (UNIX)
     438  unsigned int     averef;               // reference to average entry     
     439  unsigned int     detID;                // detection ID
     440  unsigned int     imageID;              // reference to DVO image ID
     441  unsigned int     objID;                // unique ID for object in table
     442  unsigned int     catID;                // unique ID for table in which object was first realized
     443  uint64_t         extID;                // external ID (eg PSPS detID)
     444  float            psfQF;                // psf coverage/quality factor
     445  float            psfQFperf;            // psf coverage / quality factor (all mask bits)
     446  float            psfChisq;             // psf fit chisq
     447  int              psfNdof;              // psf degrees of freedom
     448  int              psfNpix;              // psf number of pixels
     449  float            crNsigma;             // Nsigma deviation towards CR
     450  float            extNsigma;            // Nsigma deviation towards EXT
     451  short            FWx;                  // object fwhm major axis (1/100 of pixels)
     452  short            FWy;                  // object fwhm minor axis (1/100 of pixels )
     453  short            theta;                // angle wrt ccd X dir ((0xffff/360) deg)
     454  short            Mxx;                  // second moments in pixel coords (1/100 of pixels)
     455  short            Mxy;                  // second moments in pixel coords (1/100 of pixels)
     456  short            Myy;                  // second moments in pixel coords (1/100 of pixels)
     457  unsigned short   t_msec;               // time fraction of second (milliseconds)
     458  unsigned short   photcode;             // photcode
     459  short            dXccd;                // X coord error on chip (1/100 of pixels)
     460  short            dYccd;                // Y coord error on chip (1/100 of pixels)
     461  short            dRsys;                // systematic error from astrom (1/100 of pixels)
     462  short            posangle;             // position angle sky to chip ((0xffff/360) deg)
     463  float            pltscale;             // plate scale (arcsec/pixel)
     464  unsigned int     dbFlags;              // flags supplied by analysis in database
     465  unsigned int     photFlags;            // flags supplied by photometry program
     466} Measure_PS1_V4alt;
     467
     468Measure_PS1_V4alt *gfits_table_get_Measure_PS1_V4alt (FTable *table, off_t *Ndata, char *swapped);
     469Measure *Measure_PS1_V4alt_ToInternal (Measure_PS1_V4alt *in, off_t Nvalues);
     470
    389471/* a catalog contains this data */
    390472typedef struct Catalog {
     
    717799int free_tiny_values (Catalog *catalog);
    718800
     801BoundaryTree *BoundaryTreeLoad(char *filename);
     802BoundaryTree *BoundaryTreeRead(Header *headerPHU, Header *headerZone, FILE *f);
     803
     804int BoundaryTreeSave(char *filename, BoundaryTree *tree);
     805int BoundaryTreeWrite(FILE *f, BoundaryTree *tree);
     806
    719807int BoundaryTreeCellCoords (BoundaryTree *tree, int *zone, int *band, double ra, double dec);
    720 int BoundaryTreeSave(char *filename, BoundaryTree *tree);
    721 BoundaryTree *BoundaryTreeLoad(char *filename);
    722808int BoundaryTreeProjection (double *x, double *y, double r, double d, BoundaryTree *tree, int zone, int band);
     809
     810TessellationTable *TessellationTableLoad(char *filename, int *Ntess);
     811int TessellationTableSave(char *filename, TessellationTable *tess, int Ntess);
     812int TessellationPrimaryCellIDs (TessellationTable *tess, int Ntess, int *tessID, int *projID, int *skycellID, double ra, double dec);
     813void TessellationTableInit (TessellationTable *tess, int Ntess);
    723814
    724815void dvo_average_init (Average *average);
Note: See TracChangeset for help on using the changeset viewer.