IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8499


Ignore:
Timestamp:
Aug 22, 2006, 5:28:12 PM (20 years ago)
Author:
eugene
Message:

convert to new DVO APIs, various cleanups

Location:
trunk/Ohana/src/mosastro
Files:
5 deleted
8 edited

Legend:

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

    r8301 r8499  
    2222
    2323MOS = \
    24 $(SRC)/mosastro.$(ARCH).o \
     24$(SRC)/ConfigInit.$(ARCH).o \
     25$(SRC)/ConvertMatch.$(ARCH).o \
     26$(SRC)/FitChips.$(ARCH).o \
     27$(SRC)/FitGradients.$(ARCH).o \
     28$(SRC)/GetGradients.$(ARCH).o \
     29$(SRC)/GetScatter.$(ARCH).o \
     30$(SRC)/LoadStars.$(ARCH).o \
     31$(SRC)/SaveResiduals.$(ARCH).o \
    2532$(SRC)/args.$(ARCH).o \
    26 $(SRC)/LoadStars.$(ARCH).o \
     33$(SRC)/chips.$(ARCH).o \
     34$(SRC)/clip.$(ARCH).o \
     35$(SRC)/dump.$(ARCH).o \
     36$(SRC)/field.$(ARCH).o \
     37$(SRC)/fitpoly.$(ARCH).o \
     38$(SRC)/getgsc.$(ARCH).o \
     39$(SRC)/getptolemy.$(ARCH).o \
     40$(SRC)/getstone.$(ARCH).o \
     41$(SRC)/getusno.$(ARCH).o \
     42$(SRC)/getusnob.$(ARCH).o \
     43$(SRC)/greference.$(ARCH).o \
    2744$(SRC)/match.$(ARCH).o \
    2845$(SRC)/mkheader.$(ARCH).o \
    29 $(SRC)/fakefield.$(ARCH).o \
    30 $(SRC)/greference.$(ARCH).o \
     46$(SRC)/mkmosaic.$(ARCH).o \
     47$(SRC)/mkpolyterm.$(ARCH).o \
     48$(SRC)/mosastro.$(ARCH).o \
     49$(SRC)/output.$(ARCH).o \
     50$(SRC)/parse_time.$(ARCH).o \
    3151$(SRC)/project.$(ARCH).o \
     52$(SRC)/rfits.$(ARCH).o \
     53$(SRC)/rtext.$(ARCH).o \
     54$(SRC)/sort.$(ARCH).o \
     55$(SRC)/testcoords.$(ARCH).o \
    3256$(SRC)/transforms.$(ARCH).o \
    33 $(SRC)/dump.$(ARCH).o \
    34 $(SRC)/sort.$(ARCH).o \
    35 $(SRC)/ConfigInit.$(ARCH).o \
    36 $(SRC)/getstone.$(ARCH).o \
    37 $(SRC)/get2mass.$(ARCH).o \
    38 $(SRC)/getgsc.$(ARCH).o \
    39 $(SRC)/getptolemy.$(ARCH).o \
    40 $(SRC)/gptolemy.$(ARCH).o \
    41 $(SRC)/gregions.$(ARCH).o \
    42 $(SRC)/gcatalog.$(ARCH).o \
    43 $(SRC)/getusno.$(ARCH).o \
    44 $(SRC)/getusnob.$(ARCH).o \
    45 $(SRC)/wstars.$(ARCH).o \
    46 $(SRC)/field.$(ARCH).o \
    47 $(SRC)/chips.$(ARCH).o \
    48 $(SRC)/GetGradients.$(ARCH).o \
    49 $(SRC)/FitGradients.$(ARCH).o \
    50 $(SRC)/FitChips.$(ARCH).o \
    51 $(SRC)/fitpoly.$(ARCH).o \
    52 $(SRC)/output.$(ARCH).o \
    53 $(SRC)/wstars.$(ARCH).o \
    54 $(SRC)/mkpolyterm.$(ARCH).o \
    55 $(SRC)/mkmosaic.$(ARCH).o \
    56 $(SRC)/GetScatter.$(ARCH).o \
    57 $(SRC)/clip.$(ARCH).o \
    58 $(SRC)/parse_time.$(ARCH).o \
    59 $(SRC)/testcoords.$(ARCH).o \
    60 $(SRC)/rfits.$(ARCH).o \
    6157$(SRC)/wfits.$(ARCH).o \
    62 $(SRC)/rtext.$(ARCH).o \
    63 $(SRC)/ConvertMatch.$(ARCH).o \
    64 $(SRC)/SaveResiduals.$(ARCH).o
     58$(SRC)/wstars.$(ARCH).o
    6559
    6660mosastro: $(BIN)/mosastro.$(ARCH)
  • trunk/Ohana/src/mosastro/include/mosastro.h

    r7401 r8499  
    8989double ZERO_POINT;
    9090
    91 char StoneRegions[256];
    92 char CDROM[256];
    93 char USNO_B_DIR[256];
    9491char REFCAT[256];
    95 char CATDIR[256];
    96 char   CATMODE[16];    /* raw, mef, split, mysql */
    97 char   CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
     92char CATMODE[16];    /* raw, mef, split, mysql */
     93char CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
    9894char ExptimeKeyword[256];
    9995char DateKeyword[256];
     
    10298char MJDKeyword[256];
    10399char JDKeyword[256];
    104 char TWO_MASS_DIR[256];
    105100int VERBOSE;
    106101int NO_CHIPS;
    107102int SAVE_RESID;
    108103
     104char CATDIR[256];
    109105char GSCFILE[256];
    110 char GSC_DIR[256];
     106char GSCDIR[256];
     107char USNO_A_DIR[256];
     108char USNO_B_DIR[256];
     109char TWO_MASS_DIR[256];
     110char ASTROM_CATDIR[256];
     111char StoneRegions[256];
    111112
    112113char *FIELD;
  • trunk/Ohana/src/mosastro/src/ConfigInit.c

    r6242 r8499  
    1717  if (VERBOSE) fprintf (stderr, "loaded config file: %s\n", file);
    1818
    19   GetConfig (config, "USNO_CDROM",        "%s",  0, CDROM);
    20   ScanConfig (config, "2MASS_DIR",        "%s",  0, TWO_MASS_DIR);
     19  ScanConfig (config, "GSCFILE",          "%s",  0, GSCFILE);
    2120
    2221  GetConfig (config, "ASTRO_REFCAT",      "%s",  0, REFCAT);
    23   ScanConfig (config, "CATDIR",           "%s",  0, CATDIR);
    2422
    25   ScanConfig (config, "GSCFILE",          "%s",  0, GSCFILE);
    26   ScanConfig (config, "GSCDIR",           "%s",  0, GSC_DIR);
     23  /* possible sources of astrometric reference data */
     24  if (!ScanConfig (config, "USNO_A_DIR",             "%s",  0, USNO_A_DIR)) {
     25    ScanConfig (config, "USNO_CDROM",             "%s",  0, USNO_A_DIR);
     26  }
     27  ScanConfig (config, "USNO_B_DIR",       "%s",  0, USNO_B_DIR);
     28  ScanConfig (config, "GSCDIR",           "%s",  0, GSCDIR);
    2729  ScanConfig (config, "STONE_DIR",        "%s",  0, StoneRegions);
    28   ScanConfig (config, "USNO_B_DIR",       "%s",  0, USNO_B_DIR);
     30  ScanConfig (config, "2MASS_DIR",        "%s",  0, TWO_MASS_DIR);
     31  ScanConfig (config, "ASTROM_CATDIR",    "%s",  0, ASTROM_CATDIR);
    2932
    30   /* abstracted header keywords */
     33  /* abstracted header keywords - used by parse_time */
    3134  ScanConfig (config, "DATE-KEYWORD",     "%s",  0, DateKeyword);
    3235  ScanConfig (config, "DATE-MODE",        "%s",  0, DateMode);
     
    3639  ScanConfig (config, "EXPTIME-KEYWORD",  "%s",  0, ExptimeKeyword);
    3740
    38   GetConfig (config, "RADIUS",            "%lf", 0, &RADIUS);
    39   GetConfig (config, "SIGMA_LIM",         "%lf", 0, &SIGMA_LIM);
     41  GetConfig  (config, "RADIUS",           "%lf", 0, &RADIUS);
     42  GetConfig  (config, "SIGMA_LIM",        "%lf", 0, &SIGMA_LIM);
    4043  ScanConfig (config, "ZERO_PT",          "%lf", 0, &ZERO_POINT);
    4144
  • trunk/Ohana/src/mosastro/src/getgsc.c

    r3294 r8499  
    11# include "mosastro.h"
     2# define BYTES_STAR 23
     3# define BLOCK 1000
     4
     5StarData *rd_gsc (char *filename, int *Nstars);
    26
    37StarData *getgsc (CatStats *catstats, int *NSTARS) {
    48 
    5   int i, j, k, Ns, Ngsc, Nregions, Nstars;
     9  int i, j, k, Ns, Ngsc, Nstars;
    610  StarData *gsc;
    711  StarData *stars;
    8   CatStats *regions;
     12  SkyList *skylist;
     13  SkyTable *sky;
     14  SkyRegion patch;
    915
     16  patch.Rmin = catstats[0].RA[0];
     17  patch.Rmax = catstats[0].RA[1];
     18  patch.Dmin = catstats[0].DEC[0];
     19  patch.Dmax = catstats[0].DEC[1];
     20
     21  /* load regions from GSC table, restrict to patch */
     22  sky = SkyTableFromGSC (GSCFILE, 3, VERBOSE);
     23  SkyTableSetFilenames (sky, GSCDIR, "cpt");
     24  skylist = SkyListByPatch (sky, -1, &patch);
     25 
    1026  Nstars = 0;
    1127  ALLOCATE (stars, StarData, 1);
    1228
    13   set_catalog (GSC_DIR);
    14   regions = gregions (catstats, &Nregions);
    15  
    16   for (i = 0; i < Nregions; i++) {
    17     gsc = gcatalog (regions[i].name, &Ngsc);
    18     if (gsc == NULL) continue;
     29  for (i = 0; i < skylist[0].Nregions; i++) {
     30    gsc = rd_gsc (skylist[0].filename[i], &Ngsc);
    1931
    2032    Ns = Nstars;
     
    2335    REALLOCATE (stars, StarData, MAX (1, Nstars));
    2436    for (k = Ns, j = 0; j < Ngsc; k++, j++) {
    25       stars[k].R   = gsc[j].R;
    26       stars[k].D   = gsc[j].D;
    27       stars[k].Mag = gsc[j].Mag;
     37      stars[k].R = gsc[j].R;
     38      stars[k].D = gsc[j].D;
     39      stars[k].M = gsc[j].M;
    2840    }     
    2941    free (gsc);
    3042  }
    31  
     43  SkyTableFree (sky);
     44
    3245  if (VERBOSE) fprintf (stderr, "%d stars from HST GSC\n", Nstars);
    3346  *NSTARS = Nstars;
     
    3548
    3649
     50StarData *rd_gsc (char *filename, int *Nstars) {
     51 
     52  StarData *stars;
     53  int i, NSTAR, nstar, Nbytes, nbytes;
     54  char *buffer;
     55  FILE *f;
     56
     57  f = fopen (filename, "r");
     58  if (f == NULL) {
     59    fprintf (stderr, "ERROR: can't find catalog file %s\n", filename);
     60    exit (1);
     61  }
     62 
     63  nstar = 0;
     64  NSTAR = 1000;
     65  ALLOCATE (stars, StarData, NSTAR);
     66
     67  ALLOCATE (buffer, char, (BLOCK*BYTES_STAR));
     68  Nbytes = BLOCK*BYTES_STAR;
     69
     70  while ((nbytes = fread (buffer, 1, Nbytes, f)) > 0) {
     71    for (i = 0; i < nbytes / BYTES_STAR; i++) {
     72      dparse (&stars[nstar].R, 1, &buffer[i*BYTES_STAR]);
     73      dparse (&stars[nstar].D, 2, &buffer[i*BYTES_STAR]);
     74      dparse (&stars[nstar].M, 3, &buffer[i*BYTES_STAR]);
     75      nstar++;
     76      if (nstar == NSTAR) {
     77        NSTAR += 1000;
     78        REALLOCATE (stars, StarData, NSTAR);
     79      }
     80    }
     81  }
     82
     83  free (buffer);
     84
     85  *Nstars = nstar;
     86  return (stars);
     87}
  • trunk/Ohana/src/mosastro/src/getptolemy.c

    r3294 r8499  
    33StarData *getptolemy (CatStats *catstats, int *NSTARS) {
    44 
    5   int i, j, k, Ns, Nptolemy, Nregions, Nstars;
    6   CatStats *regions;
    7   StarData *stars, *ptolemy;
     5  int i, j, k, Ns, Nstars;
     6  Catalog catalog;
     7  StarData *stars;
     8  SkyList *skylist;
     9  SkyTable *sky;
     10  SkyRegion patch;
     11
     12  patch.Rmin = catstats[0].RA[0];
     13  patch.Rmax = catstats[0].RA[1];
     14  patch.Dmin = catstats[0].DEC[0];
     15  patch.Dmax = catstats[0].DEC[1];
    816
    917  Nstars = 0;
    1018  ALLOCATE (stars, StarData, 1);
    1119
    12   set_catalog (CATDIR);
    13   regions = gregions (catstats, &Nregions);
     20  /* load regions from GSC table, restrict to patch */
     21  sky = SkyTableFromGSC (GSCFILE, 3, VERBOSE);
     22  SkyTableSetFilenames (sky, CATDIR, "cpt");
     23  skylist = SkyListByPatch (sky, -1, &patch);
    1424 
    15   for (i = 0; i < Nregions; i++) {
    16     ptolemy = gptolemy (regions[i].name, &Nptolemy);
    17     if (ptolemy == NULL) continue;
     25  for (i = 0; i <skylist[0].Nregions; i++) {
     26    // set the parameters which guide catalog open/load/create
     27    catalog.filename  = skylist[0].filename[i];
     28    catalog.catflags  = LOAD_AVES | LOAD_MEAS;
     29    catalog.Nsecfilt  = 0;
     30
     31    // an error exit status here is a significant error
     32    if (!dvo_catalog_open (&catalog, skylist[0].regions[i], VERBOSE, "w")) {
     33      fprintf (stderr, "ERROR: failure to open catalog file %s\n", catalog.filename);
     34      exit (2);
     35    }
     36    dvo_catalog_unlock (&catalog);
     37
     38    // Nave_disk == 0 implies an empty catalog file
     39    // for only_match, skip empty catalogs
     40    if (!catalog.Nave_disk) {
     41      dvo_catalog_free (&catalog);
     42      continue;
     43    }
    1844
    1945    Ns = Nstars;
    20     Nstars += Nptolemy;
     46    Nstars += catalog.Naverage;
    2147
    2248    REALLOCATE (stars, StarData, MAX (1, Nstars));
    23     for (k = Ns, j = 0; j < Nptolemy; k++, j++) {
    24       stars[k] = ptolemy[j];
    25     }
    26     free (ptolemy);
     49    for (k = Ns, j = 0; j < catalog.Naverage; k++, j++) {
     50      stars[k].R = catalog.average[j].R;
     51      stars[k].D = catalog.average[j].D;
     52      stars[k].M = catalog.measure[catalog.average[j].offset].M_PS;
     53    }     
     54    dvo_catalog_free (&catalog);
    2755  }
    2856
  • trunk/Ohana/src/mosastro/src/getusno.c

    r3323 r8499  
    1515  float hours[100];
    1616  int start[100], number[100], *buffer, *buf;
    17   char filename[128], c;
     17  char filename[128];
    1818  FILE *f;
    1919  int iRA0, iRA1, iDEC0, iDEC1;
     
    5959   
    6060    /* load accelerator file */
    61     sprintf (filename, "%s/zone%04d.acc", CDROM, spd);
     61    sprintf (filename, "%s/zone%04d.acc", USNO_A_DIR, spd);
    6262    if (VERBOSE) fprintf (stderr, "reading from %s\n", filename);
    6363    f = fopen (filename, "r");
    6464    if (f == (FILE *) NULL) {
    65       fprintf (stderr, "can't open file %s, is cdrom %d in drive?\n", filename, disk);
    66       fprintf (stderr, "press return when ready to continue: ");
    67       fscanf (stdin, "%c", &c);
    68       fprintf (stderr, "trying again...\n");
    69       f = fopen (filename, "r");
    70       if (f == (FILE *) NULL) {
    71         fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk);
    72         exit (1); 
    73       }
     65      fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk);
     66      exit (1); 
    7467    }
    7568    for (i = 0; fscanf (f, "%f %d %d", &hours[i], &start[i], &number[i]) != EOF; i++);
     
    8982   
    9083    /* open data file */
    91     sprintf (filename, "%s/zone%04d.cat", CDROM, spd);
     84    sprintf (filename, "%s/zone%04d.cat", USNO_A_DIR, spd);
    9285    if (VERBOSE) fprintf (stderr, "reading from %s\n", filename);
    9386    f = fopen (filename, "r");
  • trunk/Ohana/src/mosastro/src/getusnob.c

    r6242 r8499  
    11# include "mosastro.h"
     2# define NBYTE   4
     3# define NELEM  20
    24
    35StarData *getusnob (CatStats *catstats, int *Nstars) {
     
    79  float hours[100];
    810  int start[100], number[100], *buffer, *buf;
    9   char filename[128], c;
     11  char filename[128];
    1012  FILE *f;
    1113  double DEC1;
     
    1315  float mB1, mB2, mR1, mR2, mB, mR;
    1416  int iDEC0, iDEC1, iRA0, iRA1;
    15   int spd, spd_start, spd_end, disk;
     17  int spd, spd_start, spd_end;
    1618  int NUSNO, Nusno, nstars;
    1719  StarData *stars;
     
    4446    f = fopen (filename, "r");
    4547    if (f == (FILE *) NULL) {
    46       fprintf (stderr, "can't open file %s, is cdrom %d in drive?\n", filename, disk);
    47       fprintf (stderr, "press return when ready to continue: ");
    48       fscanf (stdin, "%c", &c);
    49       fprintf (stderr, "trying again...\n");
    50       f = fopen (filename, "r");
    51       if (f == (FILE *) NULL) {
    52         fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk);
    53         exit (1); 
    54       }
     48      fprintf (stderr, "ERROR: can't open accelerator file %s\n", filename);
     49      exit (1); 
    5550    }
    5651    for (i = 0; fscanf (f, "%f %d %d", &hours[i], &start[i], &number[i]) != EOF; i++);
     
    7065   
    7166    /* open data file */
    72     /* sprintf (filename, "%s/zone%04d.cat", CDROM, spd); */
    7367    sprintf (filename, "%s/%03d/b%04d.cat", USNO_B_DIR, (int)(spd/10), spd);
    7468    fprintf (stderr, "reading from %s\n", filename);
     
    7973    }
    8074
     75    /** USNO-B consists of 20 x 4byte (int) records **/
    8176    /* advance file pointer to first slice */
    82     /**** 4*20 is record-length for USNO-B ****/
    83     offset = 20*sizeof(int)*(start[first] - 1);
     77    offset = NELEM*NBYTE*(start[first] - 1);
    8478    fseek (f, offset, SEEK_SET);
    8579
     
    8983      nstars += number[bin];
    9084    }
    91     Nitems = 20*nstars;  /* number of integer blocks; need to use Fread for byte-swapping read */
     85    Nitems = NELEM*nstars;  /* number of integer blocks; need to use Fread for byte-swapping read */
    9286
    9387    /* allocate space for stars in segment */
     
    10397    buf = buffer;
    10498    /* print out data from slice within RA and DEC range */
    105     for (i = 0; i < nstars; i++, buf+=20) {
     99    for (i = 0; i < nstars; i++, buf+=NELEM) {
    106100      if (buf[0] < iRA0) continue;
    107101      if (buf[0] > iRA1) continue;
  • trunk/Ohana/src/mosastro/src/greference.c

    r6242 r8499  
    4242    strcpy (CATDIR, TWO_MASS_DIR);
    4343    stars = getptolemy (&catstats, &Nstars);
    44     /* stars = get2mass (&catstats, &Nstars); */
    4544  }
    4645 
    4746  /* get stars from the DVO CATDIR for the given region */
    4847  if (!strcmp (REFCAT, "PTOLEMY")) {
     48    strcpy (CATDIR, ASTROM_CATDIR);
    4949    stars = getptolemy (&catstats, &Nstars);
    5050  }
Note: See TracChangeset for help on using the changeset viewer.