IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 8, 2007, 12:21:18 PM (19 years ago)
Author:
eugene
Message:

complete merge from branch dvo-mods-2007-02

File:
1 edited

Legend:

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

    r10931 r12332  
    1818
    1919/* DVO table formats */
    20 enum {DVO_FORMAT_UNDEF, DVO_FORMAT_INTERNAL, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS, DVO_FORMAT_PMTEST} DVOTableFormat;
     20enum {DVO_FORMAT_UNDEF,
     21      DVO_FORMAT_INTERNAL,
     22      DVO_FORMAT_ELIXIR,
     23      DVO_FORMAT_LONEOS,
     24      DVO_FORMAT_PANSTARRS,
     25      DVO_FORMAT_PMTEST,
     26      DVO_FORMAT_PANSTARRS_DEV_0
     27} DVOTableFormat;
    2128
    2229/* image data modes in RegImage */
    2330enum {T_UNDEF = -1, T_NONE, T_OBJECT, T_DARK, T_BIAS, T_FLAT, T_MASK, T_FRINGE, T_SCATTER, T_MODES, T_FRINGEPTS, T_ANY, N_TYPE};
    2431enum {M_UNDEF = -1, M_NONE, M_MEF, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE, M_MODES, N_MODE};
     32
     33typedef enum {
     34    PROJ_NONE, // undefined
     35    PROJ_ZEA, // zenithal
     36    PROJ_ZPL, // zenithal
     37    PROJ_ARC, // zenithal
     38    PROJ_STG, // zenithal
     39    PROJ_SIN, // zenithal
     40    PROJ_TAN, // zenithal
     41    PROJ_DIS, // zenithal (TAN + polyterms)
     42    PROJ_LIN, // cartesian
     43    PROJ_PLY, // cartesian
     44    PROJ_WRP, // cartesian
     45    PROJ_AIT, // pseudocyl
     46    PROJ_GLS, // pseudocyl
     47    PROJ_PAR, // pseudocyl
     48} OhanaProjection;
     49
     50typedef enum {
     51  PROJ_MODE_NONE,
     52  PROJ_MODE_CARTESIAN,
     53  PROJ_MODE_ZENITHAL,
     54  PROJ_MODE_PSEUDOCYL,
     55} OhanaProjectionMode;
    2556
    2657/* RegImage.flag values */
     
    3970
    4071/* photometry code types */
    41 # define PHOT_PRI 0x01
     72// # define PHOT_PRI 0x01
    4273# define PHOT_SEC 0x02
    4374# define PHOT_DEP 0x03
     
    133164
    134165typedef struct {
    135   int Ncode;
    136   int Nsecfilt;
    137   int hashcode[0x10000];
    138   int hashNsec[0x10000];
     166  int Ncode;                                      // number of photcodes
     167  int Nsecfilt;                                   // number of average magnitudes
     168  int hashcode[0x10000];                  // index from photcode value to sequence
     169  int hashNsec[0x10000];                  // index from photcode value to Nsec seq
     170  int codeNsec[0x10000];                  // index from Nsec seq to photcode value
    139171  PhotCode *code;
    140172} PhotCodeData;
     
    191223
    192224/* in coords.c, using libautocode/def/coords.d */
     225int  XY_to_LM (double *L, double *M, double x,  double y,   Coords *coords);
     226int  LM_to_XY (double *x,  double *y,   double L, double M, Coords *coords);
     227int  RD_to_LM (double *L, double *M, double ra,  double dec,   Coords *coords);
     228int  LM_to_RD (double *ra, double *dec,   double L, double M, Coords *coords);
    193229int  XY_to_RD (double *ra, double *dec, double x,  double y,   Coords *coords);
    194230int  RD_to_XY (double *x,  double *y,   double ra, double dec, Coords *coords);
     
    199235void RegisterMosaic (Coords *coords);
    200236void coords_precess (double *ra, double *dec, double in_epoch, double out_epoch);
     237OhanaProjection GetProjection (char *ctype);
     238int SetProjection (char *ctype, OhanaProjection proj);
     239OhanaProjectionMode GetProjectionMode (OhanaProjection proj);
    201240
    202241char *libdvo_version ();
     
    232271float PhotdM (PhotCode *code, Average *average, SecFilt *secfilt);
    233272
    234 # if (0)
    235 short iPhotInst (Measure *measure);
    236 short iPhotAbs (Measure *measure);
    237 short iPhotCat (Measure *measure);
    238 short iPhotSys (Measure *measure, Average *average, SecFilt *secfilt);
    239 short iPhotRel (Measure *measure, Average *average, SecFilt *secfilt);
    240 short iPhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
    241 short iPhotAve (PhotCode *code, Average *average, SecFilt *secfilt);
    242 short iPhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure);
    243 short iPhotXm (PhotCode *code, Average *average, SecFilt *secfilt);
    244 short iPhotdM (PhotCode *code, Average *average, SecFilt *secfilt);
    245 # endif
    246 
    247 float iPhotColor (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
     273float PhotColorForCode (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code);
    248274int PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color);
    249275
    250 int LoadPhotcodes (char *filename);
     276PhotCodeData *GetPhotcodeTable ();
     277
     278int LoadPhotcodes (char *catdir_file, char *master_file);
     279int LoadPhotcodesText (char *filename);
     280int LoadPhotcodesFITS (char *filename);
     281int SavePhotcodesText (char *filename);
     282int SavePhotcodesFITS (char *filename);
     283
     284void PrintPhotcodeNamebyCode (FILE *f, char *format, int code);
     285
    251286int GetPhotcodeCodebyName (char *name);
    252287int GetPhotcodeEquivCodebyName (char *name);
     
    297332
    298333/*** conversion functions / I/O conversions ***/
    299 Average *ReadRawAverage (FILE *f, int Naverage, int format);
     334Average *ReadRawAverage (FILE *f, int Naverage, int format, SecFilt **primary);
    300335Measure *ReadRawMeasure (FILE *f, int Nmeasure, int format);
    301336SecFilt *ReadRawSecFilt (FILE *f, int Nsecfilt, int format);
    302 int WriteRawAverage (FILE *f, Average *average, int Naverage, int format);
     337int WriteRawAverage (FILE *f, Average *average, int Naverage, int format, SecFilt *primary);
    303338int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, int format);
    304339int WriteRawSecFilt (FILE *f, SecFilt *secfilt, int Nsecfilt, int format);
    305340
    306 Average *FtableToAverage (FTable *ftable, int *Naverage, int *format);
    307 Average *AverageLoneosToInternal (AverageLoneos *in, int Nvalues);
    308 Average *AverageElixirToInternal (AverageElixir *in, int Nvalues);
    309 Average *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
    310 Average *AveragePMtestToInternal (AveragePMtest *in, int Nvalues);
    311 AverageLoneos *AverageInternalToLoneos (Average *in, int Nvalues);
    312 AverageElixir *AverageInternalToElixir (Average *in, int Nvalues);
    313 AveragePanstarrs *AverageInternalToPanstarrs (Average *in, int Nvalues);
    314 AveragePMtest *AverageInternalToPMtest (Average *in, int Nvalues);
    315 
     341Average *FtableToAverage (FTable *ftable, int *Naverage, int *format, SecFilt **primary);
    316342Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int *format);
    317 Measure *MeasureLoneosToInternal (MeasureLoneos *in, int Nvalues);
    318 Measure *MeasureElixirToInternal (MeasureElixir *in, int Nvalues);
    319 Measure *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
    320 MeasureLoneos *MeasureInternalToLoneos (Measure *in, int Nvalues);
    321 MeasureElixir *MeasureInternalToElixir (Measure *in, int Nvalues);
    322 MeasurePanstarrs *MeasureInternalToPanstarrs (Measure *in, int Nvalues);
    323 
    324343SecFilt *FtableToSecFilt (FTable *ftable, int *Nsecfilt, int *format);
    325 SecFilt *SecFiltLoneosToInternal (SecFiltLoneos *in, int Nvalues);
    326 SecFilt *SecFiltElixirToInternal (SecFiltElixir *in, int Nvalues);
    327 SecFilt *SecFiltPanstarrsToInternal (SecFiltPanstarrs *in, int Nvalues);
    328 SecFiltLoneos *SecFiltInternalToLoneos (SecFilt *in, int Nvalues);
    329 SecFiltElixir *SecFiltInternalToElixir (SecFilt *in, int Nvalues);
    330 SecFiltPanstarrs *SecFiltInternalToPanstarrs (SecFilt *in, int Nvalues);
    331 
    332 int AverageToFtable (FTable *ftable, Average *average, int Naverage, int format);
     344int FtableToImage (FTable *ftable, Header *theader, int *format);
     345
     346int AverageToFtable (FTable *ftable, Average *average, int Naverage, int format, SecFilt *primary);
    333347int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, int format);
    334348int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, int format);
     349int ImageToFtable (FTable *ftable, Header *theader, int format);
     350int ImageToVtable (VTable *vtable, Header *theader, int format);
     351
     352Image                  *ImageElixirToInternal (ImageElixir *in, int Nvalues);
     353Image                  *ImageLoneosToInternal (ImageLoneos *in, int Nvalues);
     354Image                  *ImagePanstarrsToInternal (ImagePanstarrs *in, int Nvalues);
     355Image                  *ImagePanstarrs_DEV_0_ToInternal (ImagePanstarrs_DEV_0 *in, int Nvalues);
     356
     357ImageElixir            *ImageInternalToElixir (Image *in, int Nvalues);
     358ImageLoneos            *ImageInternalToLoneos (Image *in, int Nvalues);
     359ImagePanstarrs         *ImageInternalToPanstarrs (Image *in, int Nvalues);
     360ImagePanstarrs_DEV_0   *ImageInternalToPanstarrs_DEV_0 (Image *in, int Nvalues);
     361
     362Average                *AverageLoneosToInternal (AverageLoneos *in, int Nvalues, SecFilt **primary);
     363Average                *AverageElixirToInternal (AverageElixir *in, int Nvalues, SecFilt **primary);
     364Average                *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
     365Average                *AveragePanstarrs_DEV_0_ToInternal (AveragePanstarrs_DEV_0 *in, int Nvalues);
     366
     367AverageLoneos          *AverageInternalToLoneos (Average *in, int Nvalues, SecFilt *primary);
     368AverageElixir          *AverageInternalToElixir (Average *in, int Nvalues, SecFilt *primary);
     369AveragePanstarrs       *AverageInternalToPanstarrs (Average *in, int Nvalues);
     370AveragePanstarrs_DEV_0 *AverageInternalToPanstarrs_DEV_0 (Average *in, int Nvalues);
     371
     372Measure                *MeasureLoneosToInternal (MeasureLoneos *in, int Nvalues);
     373Measure                *MeasureElixirToInternal (MeasureElixir *in, int Nvalues);
     374Measure                *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
     375Measure                *MeasurePanstarrs_DEV_0_ToInternal (MeasurePanstarrs_DEV_0 *in, int Nvalues);
     376
     377MeasureLoneos          *MeasureInternalToLoneos (Measure *in, int Nvalues);
     378MeasureElixir          *MeasureInternalToElixir (Measure *in, int Nvalues);
     379MeasurePanstarrs       *MeasureInternalToPanstarrs (Measure *in, int Nvalues);
     380MeasurePanstarrs_DEV_0 *MeasureInternalToPanstarrs_DEV_0 (Measure *in, int Nvalues);
     381
     382SecFilt                *SecFiltLoneosToInternal (SecFiltLoneos *in, int Nvalues);
     383SecFilt                *SecFiltElixirToInternal (SecFiltElixir *in, int Nvalues);
     384SecFilt                *SecFiltPanstarrsToInternal (SecFiltPanstarrs *in, int Nvalues);
     385SecFilt                *SecFiltPanstarrs_DEV_0_ToInternal (SecFiltPanstarrs_DEV_0 *in, int Nvalues);
     386
     387SecFiltLoneos          *SecFiltInternalToLoneos (SecFilt *in, int Nvalues);
     388SecFiltElixir          *SecFiltInternalToElixir (SecFilt *in, int Nvalues);
     389SecFiltPanstarrs       *SecFiltInternalToPanstarrs (SecFilt *in, int Nvalues);
     390SecFiltPanstarrs_DEV_0 *SecFiltInternalToPanstarrs_DEV_0 (SecFilt *in, int Nvalues);
    335391
    336392/*** DVO image db I/O Functions ***/
     
    345401int dvo_image_addrows (FITS_DB *db, Image *new, int Nnew);
    346402void dvo_image_create (FITS_DB *db, double ZeroPoint);
    347 
    348 int FtableToImage (FTable *ftable, Header *theader, int *format);
    349 int ImageToFtable (FTable *ftable, Header *theader, int format);
    350 int ImageToVtable (VTable *vtable, Header *theader, int format);
    351 Image *ImageElixirToInternal (ImageElixir *in, int Nvalues);
    352 ImageElixir *ImageInternalToElixir (Image *in, int Nvalues);
    353 Image *ImageLoneosToInternal (ImageLoneos *in, int Nvalues);
    354 ImageLoneos *ImageInternalToLoneos (Image *in, int Nvalues);
    355 Image *ImagePanstarrsToInternal (ImagePanstarrs *in, int Nvalues);
    356 ImagePanstarrs *ImageInternalToPanstarrs (Image *in, int Nvalues);
    357403
    358404/* skyregion APIs */
Note: See TracChangeset for help on using the changeset viewer.