IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5445


Ignore:
Timestamp:
Oct 24, 2005, 8:47:45 PM (21 years ago)
Author:
eugene
Message:

fixes for SkyRegion implementation

Location:
trunk/Ohana/src
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/addstar/Makefile

    r5443 r5445  
    1818INCS    =       -I$(INC) -I$(LINC) -I$(XINC)
    1919LIBS    =       -L$(LLIB) -ldvo -lFITS -lohana -lz -lm
    20 CFLAGS  =       $(INCS) -g
     20CFLAGS  =       $(INCS) -g -Wall -Werror
    2121LFLAGS  =       $(LIBS)
    2222
     
    110110$(SRC)/gcatalog.$(ARCH).o \
    111111$(SRC)/gimages.$(ARCH).o \
    112 $(SRC)/gregion_image.$(ARCH).o \
    113 $(SRC)/gregion_match.$(ARCH).o \
    114 $(SRC)/gregion_patch.$(ARCH).o \
    115 $(SRC)/gregion_star.$(ARCH).o \
    116112$(SRC)/image-db.$(ARCH).o \
    117113$(SRC)/in_image.$(ARCH).o \
     
    119115$(SRC)/load_subpix.$(ARCH).o \
    120116$(SRC)/mkcatalog.$(ARCH).o \
    121 $(SRC)/RegionOps.$(ARCH).o \
    122117$(SRC)/replace_match.$(ARCH).o \
    123118$(SRC)/SetSignals.$(ARCH).o \
     119$(SRC)/SkyRegionUtils.$(ARCH).o \
     120$(SRC)/SkyListForStars.$(ARCH).o \
    124121$(SRC)/sort_lists.$(ARCH).o \
    125122$(SRC)/update_coords.$(ARCH).o \
  • trunk/Ohana/src/addstar/doc/notes.txt

    r5439 r5445  
     1
     22005.10.24
     3
     4  I have changed addstar to use the new, more flexible, SkyRegion
     5  concept to define the sky layout rather than just the GSCRegion
     6  files.  This includes the ability to subdivide the existing
     7  GSCRegion concept, and to have a more flexible sky table
     8  arrangement. 
     9
     10  Names of catalog files are a bit tricky.  The SkyRegion functions
     11  return base names without fullpath or extensions (ie, n0000/0012).
     12  There are a few places in addstar which need the fullname:
     13
     14  SkyListExitingSubset () requires the path and adds .cpt
     15
     16  load_pt_catalog () takes the path and adds .cpt.  it also allocates
     17  a filename entry for catalog, which is freed later in the loop in
     18  addstars
     19
     20  mkcatalog uses the name in the catalog structure and replaces .cpt
     21  with .cpm, .cpn, .cps as needed.
     22
     23 
    124
    225todo:
  • trunk/Ohana/src/addstar/include/addstar.h

    r5443 r5445  
    3939char   HOSTNAME[80];
    4040int    NVALID, *VALID_IP;
     41char   SKY_TABLE[256];
    4142int    SKY_DEPTH;  /** XXX EAM : depth of catalog tables, fix usage */
     43SkyTable *ServerSky;
    4244
    4345/* used to select entries from header (gstars or parse_time) (KEEP) */
     
    7173int    VERBOSE;
    7274
    73 /* modify server behavoir (make this an addstar cleanup mode?) */
     75/* modify server behavior (make this an addstar cleanup mode?) */
    7476int    FORCE_READ;
    7577
     
    115117void       help                   PROTO(());
    116118int        in_image               PROTO((double r, double d, Image *image));
    117 int        load_pt_catalog        PROTO((Catalog *catalog, SkyRegion *region));  /*** choose new name ***/
     119int        load_pt_catalog        PROTO((Catalog *catalog, SkyRegion *region, char *path));  /*** choose new name ***/
    118120void       load_subpix            PROTO(());
    119121void       lock_image_db          PROTO((FITS_DB *db, char *filename));
     
    132134time_t     short_date_to_sec      PROTO((char *date));
    133135void       sort_lists             PROTO((float *X, float *Y, int *S, int N));
    134 void       sort_regions           PROTO((GSCRegion *region, int N));
    135136void       sort_stars             PROTO((Stars *stars, int N));
    136137int        str_to_radec           PROTO((double *ra, double *dec, char *str1, char *str2));
     
    154155Missing *sort_missing (Average *average, int Naverage, Missing *missing, int Nmissing, int *next_miss);
    155156
     157/* functions which use GSCRegion, now deprecated */
     158void       sort_regions           PROTO((GSCRegion *region, int N));
    156159GSCRegion *LoadRegions            PROTO((int *nregions));
    157160int        FindDecBand            PROTO((double dec, double *DEC0, double *DEC1));
     
    193196int UpdateDatabase_Image (AddstarClientOptions *options, Image *image, Coords *mosaic, Stars *stars, int Nstars);
    194197int UpdateDatabase_Reflist (AddstarClientOptions *options, Stars *stars, int Nstars);
    195 int UpdateDatabase_Refcat (AddstarClientOptions *options, GSCRegion *UserPatch, char *refcat);
     198int UpdateDatabase_Refcat (AddstarClientOptions *options, SkyRegion *UserPatch, char *refcat);
    196199
    197200SkyList *SkyListForStars (SkyTable *table, int depth, Stars *stars, int Nstars);
    198 SkyList *SkyListExistingSubset (SkyList *input);
     201SkyList *SkyListExistingSubset (SkyList *input, char *path);
    199202int SkyListSetPath (SkyList *list, char *path);
     203SkyTable *SkyTableLoadOptimal ();
  • trunk/Ohana/src/addstar/src/ConfigInit.c

    r5443 r5445  
    5858  if (!ScanConfig (config, "SKY_DEPTH",         "%d",  0, &SKY_DEPTH)) {
    5959    SKY_DEPTH = 2;
     60  }
     61  if (!ScanConfig (config, "SKY_TABLE",         "%s",  0, SKY_TABLE)) {
     62    SKY_TABLE[0] = 0;
    6063  }
    6164
  • trunk/Ohana/src/addstar/src/NewRefcat.c

    r5348 r5445  
    66  AddstarClientOptions *options;
    77  IOBuffer message;
    8   GSCRegion *patch;
     8  SkyRegion *patch;
    99
    1010  /* accept incoming data set */
     
    1818  }
    1919
    20   if (!Recv_GSCRegion (BindSocket, &patch, &N)) {
     20  if (!Recv_SkyRegion (BindSocket, &patch, &N)) {
    2121    fprintf (stderr, "error: problem receiving patch\n");
    2222    goto reject;
  • trunk/Ohana/src/addstar/src/SkyRegionUtils.c

    r5443 r5445  
    11# include "addstar.h"
    22
    3 SkyList *SkyListExistingSubset (SkyList *input) {
     3SkyList *SkyListExistingSubset (SkyList *input, char *path) {
    44 
    55  int i, status, Nsubset, NSUBSET;
     6  char filename[256];
    67  SkyList *subset;
    78  struct stat filestats;
     
    1415  /* match the basename against the GSCRegion file names */
    1516  for (i = 0; i < input[0].Nregions; i++) {
    16     status = stat (input[0].regions[i][0].name, &filestats);
     17    sprintf (filename, "%s/%s.cpt", path, input[0].regions[i][0].name);
     18    status = stat (filename, &filestats);
    1719    if ((status == -1) && (errno == ENOENT)) continue;
    1820    /* give an error for other conditions? */
     
    4143  return (TRUE);
    4244}
     45
     46int SkyTableSetDepth (SkyTable *sky, int depth) {
     47
     48  int i;
     49
     50  for (i = 0; i < sky[0].Nregions; i++) {
     51    sky[0].regions[i].table = (sky[0].regions[i].depth == depth);
     52  }
     53  return (TRUE);
     54}
     55
     56SkyTable *SkyTableLoadOptimal () {
     57
     58  char filename[256];
     59  struct stat filestat;
     60  SkyTable *sky;
     61  int status;
     62
     63  /* first option: CATDIR/SkyTable.fits */
     64  sprintf (filename, "%s/SkyTable.fits", CATDIR);
     65  check_permissions (filename);
     66
     67  /* check for file existance */
     68  status = stat (filename, &filestat);
     69  if (status == 0) { /* file exists, are permissions OK? */
     70    sky = SkyTableLoad (filename, VERBOSE);
     71    if (sky == NULL) {
     72      fprintf (stderr, "error loading sky table\n");
     73      exit (1);
     74    }
     75    return (sky);
     76  }
     77
     78  /* first option: SKY_TABLE */
     79  if (SKY_TABLE[0]) {
     80    status = stat (SKY_TABLE, &filestat);
     81    if (status == 0) { /* file exists, are permissions OK? */
     82      sky = SkyTableLoad (SKY_TABLE, VERBOSE);
     83      if (sky == NULL) {
     84        fprintf (stderr, "error loading sky table\n");
     85        exit (1);
     86      }
     87      SkyTableSetDepth (sky, SKY_DEPTH);
     88
     89      /* write CATDIR copy */
     90      sprintf (filename, "%s/SkyTable.fits", CATDIR);
     91      check_permissions (filename);
     92      SkyTableSave (sky, filename);
     93      fits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);
     94      return (sky);
     95    }
     96  }
     97
     98  sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE);
     99  if (sky == NULL) {
     100    fprintf (stderr, "error loading sky table\n");
     101    exit (1);
     102  }
     103
     104  /* write CATDIR copy */
     105  sprintf (filename, "%s/SkyTable.fits", CATDIR);
     106  check_permissions (filename);
     107  SkyTableSave (sky, filename);
     108  fits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);
     109
     110  return (sky);
     111}
  • trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c

    r5348 r5445  
    33int UpdateDatabase_Image (AddstarClientOptions *options, Image *image, Coords *mosaic, Stars *stars, int Nstars) {
    44
    5   int i, Noverlap, Nregions;
     5  int i, Noverlap;
    66  Image *overlap;
    77  Catalog catalog;
    8   GSCRegion *regions;
     8  SkyList *skylist;
     9
     10  /* this should be loaded by addstard on start -- keep static? */
     11  /* need to load the correct sky table (GSC default or local verison) */
     12  // sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE);
    913
    1014  if (options[0].update) {
     
    1418  }
    1519 
    16   regions = NULL;
    17 
    1820  if (options[0].mode != M_IMAGE) {
    1921    fprintf (stderr, "error: expecting only IMAGE mode\n");
     
    4244
    4345  /* find correpsonding regions for image */
    44   regions = gregion_image (image, mosaic, &Nregions);
     46  skylist = SkyListByImage (ServerSky, -1, image, mosaic);
    4547
    4648  /* reduce regions to existing subset, if necessary */
     49  SkyListSetPath (skylist, CATDIR);
    4750  if (options[0].only_match || options[0].existing_regions) {
    48     regions = gregion_match (regions, &Nregions);
     51    SkyList *tmp;
     52    tmp = SkyListExistingSubset (skylist);
     53    SkyListFree (skylist);
     54    skylist = tmp;
    4955  }
    50   if (VERBOSE) fprintf (stderr, "writing to %d regions\n", Nregions);
     56  if (VERBOSE) fprintf (stderr, "writing to %d regions\n", skylist[0].Nregions);
    5157
    52   for (i = 0; i < Nregions; i++) {
     58  for (i = 0; i < skylist[0].Nregions; i++) {
    5359
    54     load_pt_catalog (&catalog, &regions[i]);
     60    load_pt_catalog (&catalog, skylist[0].regions[i]);
    5561
    5662    /* for only_match, skip empty catalogs XXX EAM : this leaves behind empty files */
     
    6167
    6268    if (options[0].closest) {
    63       find_matches_closest (&regions[i], stars, Nstars, &catalog, image, overlap, Noverlap, mosaic, options[0]);
     69      find_matches_closest (skylist[0].regions[i], stars, Nstars, &catalog, image, overlap, Noverlap, mosaic, options[0]);
    6470    } else {
    65       find_matches (&regions[i], stars, Nstars, &catalog, image, overlap, Noverlap, mosaic, options[0]);
     71      find_matches (skylist[0].regions[i], stars, Nstars, &catalog, image, overlap, Noverlap, mosaic, options[0]);
    6672    }
    6773
  • trunk/Ohana/src/addstar/src/UpdateDatabase_Refcat.c

    r5348 r5445  
    11# include "addstar.h"
    22
    3 int UpdateDatabase_Refcat (AddstarClientOptions *options, GSCRegion *patch, char *refcat) {
     3int UpdateDatabase_Refcat (AddstarClientOptions *options, SkyRegion *patch, char *refcat) {
    44
    5   int i, Nstars, Nsubset, Nregions;
     5  int i, Nstars, Nsubset;
    66  Catalog catalog;
    7   GSCRegion *regions;
    87  Stars *stars, **subset;
     8  // SkyTable *sky;
     9  SkyList *skylist;
     10
     11  /* this should be loaded by addstard on start -- keep static? */
     12  /* need to load the correct sky table (GSC default or local verison) */
     13  /* XXX EAM : check on memory usage */
     14  // sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE);
    915
    1016  if (options[0].update) {
     
    3945 
    4046  /* find correpsonding regions for image */
    41   regions = gregion_patch (patch, &Nregions);
     47  skylist = SkyListByPatch (ServerSky, -1, patch);
    4248
    4349  /* reduce regions to existing subset, if necessary */
     50  SkyListSetPath (skylist, CATDIR);
    4451  if (options[0].only_match || options[0].existing_regions) {
    45     regions = gregion_match (regions, &Nregions);
     52    SkyList *tmp;
     53    tmp = SkyListExistingSubset (skylist);
     54    SkyListFree (skylist);
     55    skylist = tmp;
    4656  }
    47   if (VERBOSE) fprintf (stderr, "writing to %d regions\n", Nregions);
     57  if (VERBOSE) fprintf (stderr, "writing to %d regions\n", skylist[0].Nregions);
    4858
    49   for (i = 0; i < Nregions; i++) {
     59  for (i = 0; i < skylist[0].Nregions; i++) {
    5060
    51     load_pt_catalog (&catalog, &regions[i]);
     61    load_pt_catalog (&catalog, skylist[0].regions[i]);
    5262
    5363    /* for only_match, skip empty catalogs XXX EAM : this leaves behind empty files */
     
    5868
    5969    /* load stars from corresponding catalog */
    60     stars = grefcat (refcat, &regions[i], options[0].photcode, &Nstars);
     70    stars = grefcat (refcat, skylist[0].regions[i], options[0].photcode, &Nstars);
    6171
    62     subset = find_subset (&regions[i], stars, Nstars, &Nsubset);
    63     find_matches_refstars (&regions[i], subset, Nsubset, &catalog, options[0]);
     72    subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset);
     73    find_matches_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options[0]);
    6474    if (Nsubset) free (subset);
    6575
  • trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c

    r5348 r5445  
    33int UpdateDatabase_Reflist (AddstarClientOptions *options, Stars *stars, int Nstars) {
    44
    5   int i, Nsubset, Nregions;
     5  int i, Nsubset;
    66  Catalog catalog;
    7   GSCRegion *regions;
    87  Stars **subset;
     8  SkyList *skylist;
     9
     10  /* this should be loaded by addstard on start -- keep static? */
     11  /* need to load the correct sky table (GSC default or local verison) */
     12  // sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE);
    913
    1014  if (options[0].update) {
     
    1923  }
    2024
    21   /* check on directory, create if needed */
     25  /* check on directory, create if needed XXX : move to utils */
    2226  {
    2327    int status, cmode;
     
    3943 
    4044  /* find correpsonding regions for image */
    41   regions = gregion_stars (stars, Nstars, &Nregions);
     45  skylist = SkyListForStars (ServerSky, -1, stars, Nstars);
    4246
    4347  /* reduce regions to existing subset, if necessary */
     48  SkyListSetPath (skylist, CATDIR);
    4449  if (options[0].only_match || options[0].existing_regions) {
    45     regions = gregion_match (regions, &Nregions);
     50    SkyList *tmp;
     51    tmp = SkyListExistingSubset (skylist);
     52    SkyListFree (skylist);
     53    skylist = tmp;
    4654  }
    47   if (VERBOSE) fprintf (stderr, "writing to %d regions\n", Nregions);
     55  if (VERBOSE) fprintf (stderr, "writing to %d regions\n", skylist[0].Nregions);
    4856
    49   for (i = 0; i < Nregions; i++) {
     57  for (i = 0; i < skylist[0].Nregions; i++) {
    5058
    51     load_pt_catalog (&catalog, &regions[i]);
     59    load_pt_catalog (&catalog, skylist[0].regions[i]);
    5260
    5361    /* for only_match, skip empty catalogs XXX EAM : this leaves behind empty files */
     
    5765    }
    5866
    59     subset = find_subset (&regions[i], stars, Nstars, &Nsubset);
    60     find_matches_refstars (&regions[i], subset, Nsubset, &catalog, options[0]);
     67    subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset);
     68    find_matches_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options[0]);
    6169    if (Nsubset) free (subset);
    6270
  • trunk/Ohana/src/addstar/src/addstar.c

    r5443 r5445  
    44
    55  int Nm, Na, Ns;
    6   int i, Nstars, Noverlap, Nregions, Nsubset, Naverage, Nmeasure;
     6  int i, Nstars, Noverlap, Nsubset, Naverage, Nmeasure;
    77  Stars *stars, **subset;
    88  Image image, *overlap;
     
    1313  SkyTable *sky;
    1414  SkyList *skylist;
    15   SkyRegion *regions;
    1615
    1716  double dtime;
     
    2423  options = args (argc, argv, options);
    2524
    26   sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE);
    27 
     25  sky = SkyTableLoadOptimal ();
     26 
    2827  stars = NULL;
    2928  overlap = NULL;
    30   regions = NULL;
    3129  set_db (&db);
    3230  if (options.update) {
     
    5755    break;
    5856  }
    59   SkyListSetPath (skylist, CATDIR);
    6057  if (options.only_match || options.existing_regions) {
    6158    SkyList *tmp;
    62     tmp = SkyListExistingSubset (skylist);
     59    tmp = SkyListExistingSubset (skylist, CATDIR);
    6360    SkyListFree (skylist);
    6461    skylist = tmp;
     
    7572    gettimeofday (&t1, NULL);
    7673
    77     load_pt_catalog (&catalog, skylist[0].regions[i]);
     74    load_pt_catalog (&catalog, skylist[0].regions[i], CATDIR);
    7875
    7976    /* for only_match, skip empty catalogs XXX EAM : this leaves behind empty files */
    8077    if ((catalog.Nave_disk == 0) && options.only_match) {
    8178      unlock_catalog (&catalog);
     79      free (catalog.filename);
    8280      continue;
    8381    }
     
    128126      unlock_catalog (&catalog);
    129127    }
     128    free (catalog.filename);
    130129
    131130    gettimeofday (&t2, NULL);
  • trunk/Ohana/src/addstar/src/addstarc.c

    r5382 r5445  
    4747      SendCommand (BindSocket, 5, "REFCT");
    4848      Send_AddstarClientOptions (BindSocket, &options, 1, TRUE);
    49       Send_GSCRegion (BindSocket, &UserPatch, 1, TRUE);
     49      Send_SkyRegion (BindSocket, &UserPatch, 1, TRUE);
    5050      SendMessage (BindSocket, argv[1]);
    5151      break;
  • trunk/Ohana/src/addstar/src/addstard.c

    r5347 r5445  
    1010  options = ConfigInit (&argc, argv);
    1111  args_server (argc, argv);
     12
     13  /* store the sky table in a global? */
     14  ServerSky = SkyTableLoadOptimal ();
    1215
    1316  /* if we separate the incoming data from db update, spawn db thread here */
  • trunk/Ohana/src/addstar/src/args_client.c

    r5347 r5445  
    2727  /*** provide additional data ***/
    2828  /* restrict to a portion of the sky? (REFCAT only) */
    29   UserPatch.RA[0] = 0;
    30   UserPatch.RA[1] = 360;
    31   UserPatch.DEC[0] = -90;
    32   UserPatch.DEC[1] = +90;
     29  UserPatch.Rmin = 0;
     30  UserPatch.Rmax= 360;
     31  UserPatch.Dmin = -90;
     32  UserPatch.Dmax = +90;
    3333  if ((N = get_argument (argc, argv, "-region"))) {
    3434    remove_argument (N, &argc, argv);
    35     UserPatch.RA[0] = atof (argv[N]);
    36     remove_argument (N, &argc, argv);
    37     UserPatch.RA[1] = atof (argv[N]);
    38     remove_argument (N, &argc, argv);
    39     UserPatch.DEC[0] = atof (argv[N]);
    40     remove_argument (N, &argc, argv);
    41     UserPatch.DEC[1] = atof (argv[N]);
     35    UserPatch.Rmin = atof (argv[N]);
     36    remove_argument (N, &argc, argv);
     37    UserPatch.Rmax = atof (argv[N]);
     38    remove_argument (N, &argc, argv);
     39    UserPatch.Dmin = atof (argv[N]);
     40    remove_argument (N, &argc, argv);
     41    UserPatch.Dmax = atof (argv[N]);
    4242    remove_argument (N, &argc, argv);
    4343  }
  • trunk/Ohana/src/addstar/src/args_server.c

    r5347 r5445  
    1313
    1414  /* restrict to a portion of the sky? (REFCAT only) */
    15   UserPatch.RA[0] = 0;
    16   UserPatch.RA[1] = 360;
    17   UserPatch.DEC[0] = -90;
    18   UserPatch.DEC[1] = +90;
     15  UserPatch.Rmin = 0;
     16  UserPatch.Rmax = 360;
     17  UserPatch.Dmin = -90;
     18  UserPatch.Dmax = +90;
    1919  if ((N = get_argument (argc, argv, "-region"))) {
    2020    remove_argument (N, &argc, argv);
    21     UserPatch.RA[0] = atof (argv[N]);
     21    UserPatch.Rmin = atof (argv[N]);
    2222    remove_argument (N, &argc, argv);
    23     UserPatch.RA[1] = atof (argv[N]);
     23    UserPatch.Rmax = atof (argv[N]);
    2424    remove_argument (N, &argc, argv);
    25     UserPatch.DEC[0] = atof (argv[N]);
     25    UserPatch.Dmin = atof (argv[N]);
    2626    remove_argument (N, &argc, argv);
    27     UserPatch.DEC[1] = atof (argv[N]);
     27    UserPatch.Dmax = atof (argv[N]);
    2828    remove_argument (N, &argc, argv);
    2929  }
  • trunk/Ohana/src/addstar/src/getgsc.c

    r5443 r5445  
    88Stars *getgsc (SkyRegion *patch, int *NSTARS) {
    99 
    10   int i, Ngsc, Nregions, Nstars;
     10  int i, Ngsc, Nstars;
    1111  Stars *gsc;
    1212  Stars *stars;
    1313  SkyList *skylist;
    1414  SkyTable *sky;
    15   char *tmp;
    1615
    1716  NAMED_PHOTCODE (GSC_M, "GSC_M");
  • trunk/Ohana/src/addstar/src/load_pt_catalog.c

    r5443 r5445  
    11# include "addstar.h"
    22
    3 int load_pt_catalog (Catalog *catalog, SkyRegion *region) {
     3int load_pt_catalog (Catalog *catalog, SkyRegion *region, char *path) {
    44 
    5   check_permissions (region[0].name);
     5  char filename[256];
    66
    7   /* don't free region before catalog! */
    8   catalog[0].filename = region[0].name;
    9   if (VERBOSE) fprintf (stderr, "adding to %s\n", region[0].name);
     7  sprintf (filename, "%s/%s.cpt", path, region[0].name);
     8
     9  check_permissions (filename);
     10  if (VERBOSE) fprintf (stderr, "adding to %s\n", filename);
     11
     12  catalog[0].filename = strcreate (filename);
    1013   
    1114  switch (lock_catalog (catalog, LCK_XCLD)) {
  • trunk/Ohana/src/addstar/src/mkcatalog.c

    r5443 r5445  
    77  time_t now;
    88
    9   if (VERBOSE) fprintf (stderr, "new catalog file: %s\n", region[0].name);
     9  if (VERBOSE) fprintf (stderr, "new catalog file: %s\n", catalog[0].filename);
    1010
    1111  /* set the recommended CATFORMAT */
  • trunk/Ohana/src/libautocode/def/SkyRegion.d

    r5440 r5445  
    22EXTNAME SKY_REGION
    33TYPE    BINTABLE
    4 SIZE    292
     4SIZE    56
    55
    66FIELD   Rmin,      R_MIN,          float,
     
    1515FIELD   child,     CHILD,          char,          does this entry have children?
    1616FIELD   table,     TABLE,          char,          does this entry have a table?
    17 FIELD   name,      NAME,           char[257],     name / filename
     17FIELD   name,      NAME,           char[21],      name / filename
  • trunk/Ohana/src/libdvo/src/skyregion_io.c

    r5441 r5445  
    2929    return (NULL);
    3030  }
    31   if (!fits_fread_ftable (f, &ftable, "SKY_REGIONS")) {
     31  if (!fits_fread_ftable (f, &ftable, "SKY_REGION")) {
    3232    if (VERBOSE) fprintf (stderr, "can't read Sky Region table\n");
    3333    fits_free_header (&header);
     
    4747}
    4848
    49 int SkyTableSave (SkyTable *table, char *filename) {
     49int SkyTableSave (SkyTable *skytable, char *filename) {
    5050
    51   fprintf (stderr, "not yet defined\n");
     51  Header header;
     52  Matrix matrix;
     53  Header theader;
     54  FTable ftable;
     55  FILE *f;
    5256
     57  /* make phu header (no matrix needed) */
     58  ftable.header = &theader;
     59  fits_init_header (&header);
     60  header.extend = TRUE;
     61  fits_create_header (&header);
     62  fits_create_matrix (&header, &matrix);
     63
     64  fits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
     65
     66  f = fopen (filename, "w");
     67  if (f == (FILE *) NULL) {
     68    fprintf (stderr, "cannot open %s for output\n", filename);
     69    exit (1);
     70  }
     71 
     72  fits_fwrite_header  (f, &header);
     73  fits_fwrite_matrix  (f, &matrix);
     74  fits_fwrite_Theader (f, &theader);
     75  fits_fwrite_table  (f, &ftable);
     76  fclose (f);
     77
     78  return (TRUE);
    5379}
    5480
Note: See TracChangeset for help on using the changeset viewer.