IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 24, 2010, 11:22:25 AM (16 years ago)
Author:
eugene
Message:

large update merging in changes for Ohana to support large files

Location:
trunk/Ohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

  • trunk/Ohana/src/libdvo/include/dvo.h

    r25757 r27435  
    1010
    1111/* DVO table formats */
    12 typedef enum {DVO_FORMAT_UNDEF,
    13               DVO_FORMAT_INTERNAL,
    14               DVO_FORMAT_ELIXIR,
    15               DVO_FORMAT_LONEOS,
    16               DVO_FORMAT_PANSTARRS_DEV_0,
    17               DVO_FORMAT_PANSTARRS_DEV_1,
    18               DVO_FORMAT_PS1_DEV_1,
    19               DVO_FORMAT_PS1_DEV_2,
    20               DVO_FORMAT_PS1_DEV_3,
    21               DVO_FORMAT_PS1_V1,
    22               DVO_FORMAT_PS1_REF
     12typedef enum {
     13  DVO_FORMAT_UNDEF,
     14  DVO_FORMAT_INTERNAL,
     15  DVO_FORMAT_ELIXIR,
     16  DVO_FORMAT_LONEOS,
     17  DVO_FORMAT_PANSTARRS_DEV_0,
     18  DVO_FORMAT_PANSTARRS_DEV_1,
     19  DVO_FORMAT_PS1_DEV_1,
     20  DVO_FORMAT_PS1_DEV_2,
     21  DVO_FORMAT_PS1_DEV_3,
     22  DVO_FORMAT_PS1_V1,
     23  DVO_FORMAT_PS1_REF
    2324} DVOTableFormat;
    2425
     
    155156  FILE  *f;
    156157  char  *filename;
    157   int    dbstate;
    158   int    lockstate;
    159158  double timeout;
    160159  Header header;
     
    163162  FTable ftable;
    164163  VTable vtable;
    165   int    mode;          /* what data storage mode is used for disk file? */
    166   int    format;        /* what data format is used for disk file? */
    167   int    virtual;       /* is table in ftable or vtable? */
    168   int    swapped;       /* is table in internal byte-order? */
     164  int    dbstate;
     165  char   lockstate;
     166  char   mode;          /* what data storage mode is used for disk file? */
     167  char   format;        /* what data format is used for disk file? */
     168  char   virtual;       /* is table in ftable or vtable? */
     169  char   swapped;       /* is table in internal byte-order? */
    169170} FITS_DB;
    170171
     
    174175/* SkyRegion : better implementation than GSCRegion */
    175176typedef struct {
    176   int Nregions;
     177  off_t Nregions;
    177178  char **filename;
    178179  SkyRegion *regions;
     
    180181
    181182typedef struct {
    182   int Nregions;
     183  off_t Nregions;
    183184  int ownElements;                                /* does this list own filename, regions? */
    184185  char **filename;
     
    187188
    188189// special-case function:
    189 CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, int *Ndata, int *swapped);
    190 
    191 # if (0)
    192 /* structure for data on a catalog region */
    193 typedef struct {
    194   char filename[256];
    195   double DEC[2], RA[2];
    196 } GSCRegion;
    197 # endif
     190CMF_PS1_V2 *gfits_table_get_CMF_PS1_V1_Alt (FTable *ftable, off_t *Ndata, char *swapped);
    198191
    199192typedef struct {
     
    219212
    220213  int Nsecfilt;  /* number of secfilt entries for each average entry */
    221   int Naverage,   Nmeasure,   Nmissing,   Nsecf_mem;  /* current number of each component in memory */
    222   int Naves_disk, Nmeas_disk, Nmiss_disk, Nsecf_disk; /* current number of each component on disk */
    223   int Naves_off,  Nmeas_off,  Nmiss_off,  Nsecf_off;  /* index of first loaded data value */
     214  off_t Naverage,   Nmeasure,   Nmissing,   Nsecf_mem;  /* current number of each component in memory */
     215  off_t Naves_disk, Nmeas_disk, Nmiss_disk, Nsecf_disk; /* current number of each component on disk */
     216  off_t Naves_off,  Nmeas_off,  Nmiss_off,  Nsecf_off;  /* index of first loaded data value */
     217
     218  /* the Nsecf_* values above are number of table rows (eg, Naverage*Nsecfilt) */
    224219
    225220  /* note the different counting for Nsecfilt:
     
    239234
    240235  /* extra catalog information */
    241   int lockmode;
    242   int catmode;                          /* storage mode (raw, mef, split, mysql) */
    243   int catformat;                        /* storage format (elixir, panstarrs, etc) */
    244   int catflags;                         /* choices to be loaded */
    245   int sorted;                           /* is measure table average-sorted? */
     236  char lockmode;
     237  char catmode;                         /* storage mode (raw, mef, split, mysql) */
     238  char catformat;                       /* storage format (elixir, panstarrs, etc) */
     239  char catflags;                                /* choices to be loaded */
     240  char sorted;                          /* is measure table average-sorted? */
    246241 
    247242  /* pointers for data manipulation */
    248   int *found;
    249   int *image;
    250   int *mosaic;
     243  off_t *found;
     244  off_t *image;
     245  off_t *mosaic;
    251246  float *X;
    252247  float *Y;
     
    261256int   gfits_db_lock                PROTO((FITS_DB *db, char *filename));
    262257int   gfits_db_load                PROTO((FITS_DB *db));
    263 int   gfits_db_load_segment        PROTO((FITS_DB *db, int start, int Nrows));
     258int   gfits_db_load_segment        PROTO((FITS_DB *db, off_t start, off_t Nrows));
    264259int   gfits_db_save                PROTO((FITS_DB *db));
    265260int   gfits_db_update              PROTO((FITS_DB *db));
     
    287282
    288283int isRegisteredMosaic (void);
    289 int GetRegisteredMosaic (void);
     284off_t GetRegisteredMosaic (void);
    290285int GetMosaicCoords (Coords *coords);
    291 int FindMosaicForImage (Image *images, int Nimages, int entry);
    292 int FindMosaicForImage_TableSearch (Image *images, int Nimages, int entry);
    293 int FindMosaicForImage_MatchSearch (Image *images, int Nimages, int entry);
    294 int BuildChipMatch (Image *images, int Nimages);
     286int FindMosaicForImage (Image *images, off_t Nimages, off_t entry);
     287int FindMosaicForImage_TableSearch (Image *images, off_t Nimages, off_t entry);
     288int FindMosaicForImage_MatchSearch (Image *images, off_t Nimages, off_t entry);
     289int BuildChipMatch (Image *images, off_t Nimages);
    295290void SetImageCorners (double *X, double *Y, Image *image);
    296291
     
    347342int get_image_mode (char *name);
    348343char *get_mode_name (int mode);
    349 
    350 /* these functions refer to the DVO structures defined in the includes above
    351  *  they are being replaced with autocode entries (drop when totally autocoded)
    352  */
    353 
    354 int   Fread (void *ptr, int size, int nitems, FILE *f, char *type);
    355 int   Fwrite (void *ptr, int size, int nitems, FILE *f, char *type);
    356 int   ByteSwap (char *ptr, int size, int nitems, char *type);
    357 int   ConvertStruct (char *buffer, int size, int Nbytes, char *type);
    358344
    359345/** dvo_catalog APIs */
     
    384370int dvo_catalog_save_split_complete (Catalog *catalog, char VERBOSE);
    385371
    386 int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, int start, int Nrows);
    387 int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, int start, int Nrows);
     372int dvo_catalog_load_segment (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows);
     373int dvo_catalog_load_segment_split (Catalog *catalog, int VERBOSE, off_t start, off_t Nrows);
    388374
    389375/*** conversion functions / I/O conversions ***/
    390 Average *ReadRawAverage (FILE *f, int Naverage, int format, SecFilt **primary);
    391 Measure *ReadRawMeasure (FILE *f, int Nmeasure, int format);
    392 SecFilt *ReadRawSecFilt (FILE *f, int Nsecfilt, int format);
    393 int WriteRawAverage (FILE *f, Average *average, int Naverage, int format, SecFilt *primary);
    394 int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, int format);
    395 int WriteRawSecFilt (FILE *f, SecFilt *secfilt, int Nsecfilt, int format);
    396 
    397 Average *FtableToAverage (FTable *ftable, int *Naverage, int *format, SecFilt **primary);
    398 Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int *format);
    399 SecFilt *FtableToSecFilt (FTable *ftable, int *Nsecfilt, int *format);
    400 int FtableToImage (FTable *ftable, Header *theader, int *format);
    401 
    402 int AverageToFtable (FTable *ftable, Average *average, int Naverage, int format, SecFilt *primary);
    403 int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, int format);
    404 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, int format);
    405 int ImageToFtable (FTable *ftable, Header *theader, int format);
    406 int ImageToVtable (VTable *vtable, Header *theader, int format);
     376Average *ReadRawAverage (FILE *f, off_t Naverage, char format, SecFilt **primary);
     377Measure *ReadRawMeasure (FILE *f, off_t Nmeasure, char format);
     378SecFilt *ReadRawSecFilt (FILE *f, off_t Nsecfilt, char format);
     379int WriteRawAverage (FILE *f, Average *average, off_t Naverage, char format, SecFilt *primary);
     380int WriteRawMeasure (FILE *f, Measure *measure, off_t Nmeasure, char format);
     381int WriteRawSecFilt (FILE *f, SecFilt *secfilt, off_t Nsecfilt, char format);
     382
     383Average *FtableToAverage (FTable *ftable, off_t *Naverage, char *format, SecFilt **primary);
     384Measure *FtableToMeasure (FTable *ftable, off_t *Nmeasure, char *format);
     385SecFilt *FtableToSecFilt (FTable *ftable, off_t *Nsecfilt, char *format);
     386int      FtableToImage   (FTable *ftable, Header *theader, char *format);
     387
     388int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, char format, SecFilt *primary);
     389int MeasureToFtable (FTable *ftable, Measure *measure, off_t Nmeasure, char format);
     390int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, char format);
     391int ImageToFtable (FTable *ftable, Header *theader, char format);
     392int ImageToVtable (VTable *vtable, Header *theader, char format);
    407393
    408394# include "loneos_defs.h"
     
    425411int dvo_image_update_raw (FITS_DB *db, int VERBOSE);
    426412int dvo_image_save_raw (FITS_DB *db, int VERBOSE);
    427 int dvo_image_addrows (FITS_DB *db, Image *new, int Nnew);
     413int dvo_image_addrows (FITS_DB *db, Image *new, off_t Nnew);
    428414void dvo_image_create (FITS_DB *db, double ZeroPoint);
    429415
     
    454440
    455441/* dvo-specific sorting functions */
    456 void sortave (Average *ave, int N);
    457 void sort_image_subset (Image *image, int *subset, int N);
    458 void sort_coords_index (double *X, double *Y, int *S, int N);
    459 void sort_regions (SkyRegion *region, int N);
     442void sortave (Average *ave, off_t N);
     443void sort_image_subset (Image *image, off_t *subset, off_t N);
     444void sort_coords_index (double *X, double *Y, off_t *S, off_t N);
     445void sort_regions (SkyRegion *region, off_t N);
    460446
    461447# endif
Note: See TracChangeset for help on using the changeset viewer.