IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7080


Ignore:
Timestamp:
May 5, 2006, 5:44:26 PM (20 years ago)
Author:
eugene
Message:

big move: fits_ to gfits_; minor updates to relphot

Location:
trunk/Ohana
Files:
1 added
2 deleted
277 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/configure

    r6681 r7080  
    3535   set vararch = 1
    3636   breaksw;
    37   case --enable-optimze
     37  case --enable-optimize
    3838   set optflags = "-O2"
    3939   breaksw;
     
    6363   breaksw;
    6464  case --help:
     65   goto usage
    6566  case -*:
     67   echo ""
     68   echo "Unknown option: $1"
    6669   goto usage
    67    breaksw;
    6870  default:
    6971   set args=($args $1);
  • trunk/Ohana/src/addstar/doc/ChangeLog.txt

    r6764 r7080  
     1
     2- addstar 1.7
     3  * converted to gfits APIs (forces libfits 1.6)
     4  * added the -resort option
     5  * added timeout for large operations
    16
    27- addstar 1.6
  • trunk/Ohana/src/addstar/src/RegionOps.c

    r4810 r7080  
    3939  /* init & load in table data */
    4040  table.header = &theader;
    41   if (!fits_fread_header (f, &header))           Shutdown ("can't read primary header for GSC Region table");
    42   if (!fits_fread_matrix (f, &matrix, &header))  Shutdown ("can't read primary matrix for GSC Region table");
    43   if (!fits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");
    44 
    45   fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
    46   fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);
     41  if (!gfits_fread_header (f, &header))           Shutdown ("can't read primary header for GSC Region table");
     42  if (!gfits_fread_matrix (f, &matrix, &header))  Shutdown ("can't read primary matrix for GSC Region table");
     43  if (!gfits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");
     44
     45  gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
     46  gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny);
    4747
    4848  Nregions = 0;
  • trunk/Ohana/src/addstar/src/Shutdown.c

    r4864 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: addstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/addstar/src/args.c

    r6993 r7080  
    106106
    107107    remove_argument (N, &argc, argv);
    108     if (!fits_read_header (argv[N], &header)) {
     108    if (!gfits_read_header (argv[N], &header)) {
    109109      fprintf (stderr, "ERROR: can't read header for mosaic %s\n", argv[N]);
    110110      exit (1);
     
    119119    }
    120120    remove_argument (N, &argc, argv);
    121     fits_free_header (&header);
     121    gfits_free_header (&header);
    122122    options.mosaic = TRUE;
    123123  }
  • trunk/Ohana/src/addstar/src/args_client.c

    r5445 r7080  
    6969
    7070    remove_argument (N, &argc, argv);
    71     if (!fits_read_header (argv[N], &header)) {
     71    if (!gfits_read_header (argv[N], &header)) {
    7272      fprintf (stderr, "ERROR: can't read header for mosaic %s\n", argv[N]);
    7373      exit (1);
     
    8282    }
    8383    remove_argument (N, &argc, argv);
    84     fits_free_header (&header);
     84    gfits_free_header (&header);
    8585    options.mosaic = TRUE;
    8686  }
  • trunk/Ohana/src/addstar/src/gcatalog.c

    r5347 r7080  
    1414
    1515  /* should this be moved into save_catalog?? */
    16   status = fits_scan (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted);
     16  status = gfits_scan (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted);
    1717  if (!status) catalog[0].sorted = TRUE;
    1818  /* XXX EAM - is this a good choice?  should the default be 'FALSE'? */
  • trunk/Ohana/src/addstar/src/gimages.c

    r5443 r7080  
    2626    Shutdown ("can't read image catalog %s", db[0].filename);
    2727  }
    28   timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
     28  timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
    2929
    30   fits_scan (&db[0].header, "ZERO_PT", "%lf", 1, &zeropt);
     30  gfits_scan (&db[0].header, "ZERO_PT", "%lf", 1, &zeropt);
    3131  if (fabs (ZeroPt - zeropt) > 1e-4) {
    3232    Shutdown ("zero point in image (%f:%s) inconsistent with zero point in catalog (%f)",
  • trunk/Ohana/src/addstar/src/gstars.c

    r5384 r7080  
    1111  Header header;
    1212
    13   if (!fits_read_header (file, &header)) {
     13  if (!gfits_read_header (file, &header)) {
    1414    fprintf (stderr, "ERROR: can't read header for %s\n", file);
    1515    exit (1);
     
    2727  }
    2828  itmp = 0;
    29   fits_scan (&header, "NASTRO",   "%d", 1, &itmp);
     29  gfits_scan (&header, "NASTRO",   "%d", 1, &itmp);
    3030  if ((itmp == 0) && !ACCEPT_ASTROM) {
    3131    fprintf (stderr, "ERROR: bad astrometric solution in header\n");
     
    4545   
    4646  /* get ST (used for airmass calculation) */
    47   fits_scan (&header, STKeyword, "%s", 1, line);
     47  gfits_scan (&header, STKeyword, "%s", 1, line);
    4848  /* remove ':' characters */
    4949  for (c = strchr (line, ':'); c != (char *) NULL; c = strchr (line, ':')) { *c = ' '; }
     
    5353
    5454  /* CERROR in data file is in arcsec */
    55   if (!fits_scan (&header, "CERROR",   "%lf", 1, &tmp)) tmp = 1.0;
     55  if (!gfits_scan (&header, "CERROR",   "%lf", 1, &tmp)) tmp = 1.0;
    5656  image[0].cerror = tmp * 50.0;
    57   fits_scan (&header, "NAXIS1",   "%hd", 1, &image[0].NX);
    58   fits_scan (&header, "NAXIS2",   "%hd", 1, &image[0].NY);
     57  gfits_scan (&header, "NAXIS1",   "%hd", 1, &image[0].NX);
     58  gfits_scan (&header, "NAXIS2",   "%hd", 1, &image[0].NY);
    5959 
    6060  /* get photcode from header */
    6161  if (photcode == 0) {
    62     if (!fits_scan (&header, "PHOTCODE", "%s", 1, photname)) {
     62    if (!gfits_scan (&header, "PHOTCODE", "%s", 1, photname)) {
    6363      fprintf (stderr, "ERROR: photcode not supplied in header\n");
    6464      exit (1);
     
    7878  image[0].NX -= XOVERSCAN;
    7979  image[0].NY -= YOVERSCAN;
    80   fits_scan (&header, ExptimeKeyword,  "%lf", 1, &tmp);
     80  gfits_scan (&header, ExptimeKeyword,  "%lf", 1, &tmp);
    8181  image[0].exptime = tmp;
    8282 
    8383  /*** why are we no longer using APMIFIT?? ***/
    8484  tmp = 0;
    85   /* fits_scan (&header, "APMIFIT",  "%lf", 1, &tmp); */
     85  /* gfits_scan (&header, "APMIFIT",  "%lf", 1, &tmp); */
    8686  image[0].apmifit_PS = tmp;
    8787
    8888  tmp = 0;
    89   /* fits_scan (&header, "dAPMIFIT", "%lf", 1, &tmp); */
     89  /* gfits_scan (&header, "dAPMIFIT", "%lf", 1, &tmp); */
    9090  image[0].dapmifit_PS = tmp;
    9191
    9292  tmp = 0;
    93   fits_scan (&header, "FLIMIT",   "%lf", 1, &tmp);
     93  gfits_scan (&header, "FLIMIT",   "%lf", 1, &tmp);
    9494  image[0].detection_limit = tmp * 10.0;
    9595
    9696  tmp = 0;
    97   fits_scan (&header, "FSATUR",   "%lf", 1, &tmp);
     97  gfits_scan (&header, "FSATUR",   "%lf", 1, &tmp);
    9898  image[0].saturation_limit = tmp * 10.0;
    9999
    100100  tmp = 0;
    101   fits_scan (&header, "FWHM_X",   "%lf", 1, &tmp);
     101  gfits_scan (&header, "FWHM_X",   "%lf", 1, &tmp);
    102102  image[0].fwhm_x = tmp * 25.0 * image[0].coords.cdelt1 * 3600.0;
    103103
    104104  tmp = 0;
    105   fits_scan (&header, "FWHM_Y",   "%lf", 1, &tmp);
     105  gfits_scan (&header, "FWHM_Y",   "%lf", 1, &tmp);
    106106  image[0].fwhm_y = tmp * 25.0 * image[0].coords.cdelt1 * 3600.0;
    107107
    108   if (!fits_scan (&header, "TZERO",   "%d",  1, &image[0].tzero)) {
     108  if (!gfits_scan (&header, "TZERO",   "%d",  1, &image[0].tzero)) {
    109109    image[0].tzero = parse_time (&header);
    110110  }
    111111
    112112  tmp = 0;
    113   fits_scan (&header, "TRATE",   "%lf", 1, &tmp);
     113  gfits_scan (&header, "TRATE",   "%lf", 1, &tmp);
    114114  image[0].trate = 10000 * tmp;
    115115
    116116  tmp = 0;
    117   fits_scan (&header, AirmassKeyword, "%lf", 1, &tmp);
     117  gfits_scan (&header, AirmassKeyword, "%lf", 1, &tmp);
    118118  image[0].secz_PS = MIN (NO_MAG, tmp);
    119119
    120   if (!fits_scan (&header, CCDNumKeyword, "%d", 1, &itmp)) {
     120  if (!gfits_scan (&header, CCDNumKeyword, "%d", 1, &itmp)) {
    121121    image[0].ccdnum = 0xff;
    122122  } else {
     
    124124  }
    125125
    126   fits_scan (&header, "ZERO_PT", "%lf", 1, &ZeroPt);
     126  gfits_scan (&header, "ZERO_PT", "%lf", 1, &ZeroPt);
    127127  SetZeroPoint (ZeroPt);
    128128
     
    134134
    135135  /* find expected number of stars */
    136   if (!fits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {
     136  if (!gfits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {
    137137    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
    138138    exit (1);
     
    154154   
    155155    sky = 0;
    156     fits_scan (&header, "HISTORY", "%S", 10, line);
     156    gfits_scan (&header, "HISTORY", "%S", 10, line);
    157157    p = strstr (line, "|I=");
    158158    if (p != (char *) NULL) {
     
    178178    /* read from FITS table or from text table */
    179179    extend = FALSE;
    180     fits_scan (&header, "EXTEND",  "%t", 1, &extend);
     180    gfits_scan (&header, "EXTEND",  "%t", 1, &extend);
    181181    if (extend && !TEXTMODE) {
    182       Nbytes = fits_matrix_size (&header);
     182      Nbytes = gfits_matrix_size (&header);
    183183      fseek (f, Nbytes, SEEK_CUR);
    184184      rdstars = rfits (f, &image[0].nstar);
     
    189189    } else {
    190190      /* allocate space for stars */
    191       if (!fits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {
     191      if (!gfits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {
    192192        fprintf (stderr, "ERROR: failed to find NSTARS\n");
    193193        exit (1);
  • trunk/Ohana/src/addstar/src/image-db.c

    r6684 r7080  
    66
    77  /* create new header */
    8   fits_init_header (&db[0].header);
     8  gfits_init_header (&db[0].header);
    99
    1010  /* set the recommended mode */
     
    1616    db[0].header.Naxis[0] = 1;
    1717    db[0].header.Naxis[1] = 1;
    18     fits_create_header (&db[0].header);
     18    gfits_create_header (&db[0].header);
    1919    db[0].mode = DVO_MODE_RAW;
    2020  }
    2121  if (!strcasecmp (CATMODE, "MEF") || !strcasecmp (CATMODE, "SPLIT")) {
    2222    db[0].header.extend   = TRUE;
    23     fits_create_header (&db[0].header);
     23    gfits_create_header (&db[0].header);
    2424    db[0].mode = DVO_MODE_MEF;
    2525  }
     
    4141  }
    4242
    43   fits_create_matrix (&db[0].header, &db[0].matrix);
    44   fits_table_set_Image (&db[0].ftable, NULL, 0);
     43  gfits_create_matrix (&db[0].header, &db[0].matrix);
     44  gfits_table_set_Image (&db[0].ftable, NULL, 0);
    4545
    4646  /* assign Zero Point provided by first image in dB */
    47   fits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPt);
    48   fits_modify (&db[0].header, "NIMAGES", "%d", 1, 0);
     47  gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPt);
     48  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, 0);
    4949
    50   if (db[0].format == DVO_FORMAT_INTERNAL)  fits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL");
    51   if (db[0].format == DVO_FORMAT_LONEOS)    fits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS");
    52   if (db[0].format == DVO_FORMAT_ELIXIR)    fits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR");
    53   if (db[0].format == DVO_FORMAT_PANSTARRS) fits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS");
    54   if (db[0].format == DVO_FORMAT_PMTEST)    fits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST");
     50  if (db[0].format == DVO_FORMAT_INTERNAL)  gfits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL");
     51  if (db[0].format == DVO_FORMAT_LONEOS)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS");
     52  if (db[0].format == DVO_FORMAT_ELIXIR)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR");
     53  if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS");
     54  if (db[0].format == DVO_FORMAT_PMTEST)    gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST");
    5555}
  • trunk/Ohana/src/addstar/src/mkcatalog.c

    r6684 r7080  
    3131  }
    3232
    33   fits_init_header (&catalog[0].header);
     33  gfits_init_header (&catalog[0].header);
    3434
    3535  if (catalog[0].catmode == DVO_MODE_RAW) {
     
    4141  }
    4242
    43   fits_create_header (&catalog[0].header);
     43  gfits_create_header (&catalog[0].header);
    4444 
    4545  if (catalog[0].catmode == DVO_MODE_SPLIT) {
     
    5050    /* define measure catalog file */
    5151    ALLOCATE (catalog[0].measure_catalog, Catalog, 1);
    52     fits_init_header (&catalog[0].measure_catalog[0].header);
    53     fits_create_header (&catalog[0].measure_catalog[0].header);
     52    gfits_init_header (&catalog[0].measure_catalog[0].header);
     53    gfits_create_header (&catalog[0].measure_catalog[0].header);
    5454    ALLOCATE (catalog[0].measure_catalog[0].filename, char, length);
    5555    sprintf (catalog[0].measure_catalog[0].filename, "%s/%s.cpm", path, root);
     
    6060    }
    6161    file = filebasename (catalog[0].measure_catalog[0].filename);
    62     fits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);
     62    gfits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);
    6363    free (file);
    6464
    6565    /* define missing catalog file */
    6666    ALLOCATE (catalog[0].missing_catalog, Catalog, 1);
    67     fits_init_header (&catalog[0].missing_catalog[0].header);
    68     fits_create_header (&catalog[0].missing_catalog[0].header);
     67    gfits_init_header (&catalog[0].missing_catalog[0].header);
     68    gfits_create_header (&catalog[0].missing_catalog[0].header);
    6969    ALLOCATE (catalog[0].missing_catalog[0].filename, char, length);
    7070    sprintf (catalog[0].missing_catalog[0].filename, "%s/%s.cpn", path, root);
     
    7474    }
    7575    file = filebasename (catalog[0].missing_catalog[0].filename);
    76     fits_modify (&catalog[0].header, "MISSING", "%s", 1, file);
     76    gfits_modify (&catalog[0].header, "MISSING", "%s", 1, file);
    7777    free (file);
    7878
    7979    /* define secfilt catalog file */
    8080    ALLOCATE (catalog[0].secfilt_catalog, Catalog, 1);
    81     fits_init_header (&catalog[0].secfilt_catalog[0].header);
    82     fits_create_header (&catalog[0].secfilt_catalog[0].header);
     81    gfits_init_header (&catalog[0].secfilt_catalog[0].header);
     82    gfits_create_header (&catalog[0].secfilt_catalog[0].header);
    8383    ALLOCATE (catalog[0].secfilt_catalog[0].filename, char, length);
    8484    sprintf (catalog[0].secfilt_catalog[0].filename, "%s/%s.cps", path, root);
     
    8888    }
    8989    file = filebasename (catalog[0].secfilt_catalog[0].filename);
    90     fits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);
     90    gfits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);
    9191    free (file);
    9292    free (path);
     
    9595
    9696  /* write RA,DEC range in header */
    97   fits_modify (&catalog[0].header, "RA0",  "%lf", 1, region[0].Rmin);
    98   fits_modify (&catalog[0].header, "DEC0", "%lf", 1, region[0].Dmin);
    99   fits_modify (&catalog[0].header, "RA1",  "%lf", 1, region[0].Rmax);
    100   fits_modify (&catalog[0].header, "DEC1", "%lf", 1, region[0].Dmax);
     97  gfits_modify (&catalog[0].header, "RA0",  "%lf", 1, region[0].Rmin);
     98  gfits_modify (&catalog[0].header, "DEC0", "%lf", 1, region[0].Dmin);
     99  gfits_modify (&catalog[0].header, "RA1",  "%lf", 1, region[0].Rmax);
     100  gfits_modify (&catalog[0].header, "DEC1", "%lf", 1, region[0].Dmax);
    101101
    102102  /* write creation date in header */
    103103  str_to_time ("now", &now);
    104104  line = sec_to_date (now);
    105   fits_modify (&catalog[0].header, "DATE", "%s", 1, line);
     105  gfits_modify (&catalog[0].header, "DATE", "%s", 1, line);
    106106  free (line);
    107107
  • trunk/Ohana/src/addstar/src/parse_time.c

    r3517 r7080  
    1414  if (strcasecmp (JDKeyword, "NONE")) {
    1515    uppercase (JDKeyword);
    16     fits_scan (header, JDKeyword, "%lf", 1, &jd);
     16    gfits_scan (header, JDKeyword, "%lf", 1, &jd);
    1717    Nsec = (jd - 2440587.5)*86400;
    1818    return (Nsec);
     
    2222  if (strcasecmp (MJDKeyword, "NONE")) {
    2323    uppercase (MJDKeyword);
    24     fits_scan (header, MJDKeyword, "%lf", 1, &jd);
     24    gfits_scan (header, MJDKeyword, "%lf", 1, &jd);
    2525    Nsec = (jd - 40587.0)*86400;
    2626    return (Nsec);
     
    2929  /* get UT and DATE */
    3030  uppercase (UTKeyword);
    31   fits_scan (header, UTKeyword, "%s", 1, line);
     31  gfits_scan (header, UTKeyword, "%s", 1, line);
    3232  /* remove ':' characters */
    3333  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
     
    6868  /* parse date entry */
    6969  uppercase (DateKeyword);
    70   fits_scan (header, DateKeyword, "%s",  1, line);
     70  gfits_scan (header, DateKeyword, "%s",  1, line);
    7171  /* remove possible separators: ':', '/' '.', '-' */
    7272  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
  • trunk/Ohana/src/addstar/src/rfits.c

    r6641 r7080  
    1414  /* init & load in table data */
    1515  table.header   = &theader;
    16   if (!fits_fread_ftable (f, &table, "SMPFILE")) goto escape;
     16  if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape;
    1717
    18   smpdata = fits_table_get_SMPData (&table, &Nstars, NULL);
     18  smpdata = gfits_table_get_SMPData (&table, &Nstars, NULL);
    1919
    2020  ALLOCATE (stars, Stars, Nstars);
  • trunk/Ohana/src/addstar/src/wcatalog.c

    r5322 r7080  
    77
    88  /* should this be moved into save_catalog?? */
    9   fits_modify (&catalog[0].header, "SORTED",  "%t", 1, catalog[0].sorted);
     9  gfits_modify (&catalog[0].header, "SORTED",  "%t", 1, catalog[0].sorted);
    1010
    1111  /* if partial load, must use update */
     
    4040    catalog[0].Nsecfilt = 0;
    4141  }
    42   fits_free_header (&catalog[0].header);
     42  gfits_free_header (&catalog[0].header);
    4343}
    4444
  • trunk/Ohana/src/addstar/src/wimage.c

    r4864 r7080  
    1212  /* adjust header */
    1313  Nimages = 0;
    14   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
     14  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
    1515  Nimages ++;
    16   fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
     16  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
    1717
    18   fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
     18  gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    1919  for (i = 0; i < Nimage; i++) {
    20     fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
     20    gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
    2121  }
    2222
  • trunk/Ohana/src/delstar/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- delstar 1.6 :
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25- delstar 1.5 : 2006.03.26
  • trunk/Ohana/src/delstar/src/RegionOps.c

    r5451 r7080  
    3939  /* init & load in table data */
    4040  table.header = &theader;
    41   if (!fits_fread_header (f, &header))           Shutdown ("can't read primary header for GSC Region table");
    42   if (!fits_fread_matrix (f, &matrix, &header))  Shutdown ("can't read primary matrix for GSC Region table");
    43   if (!fits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");
    44 
    45   fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
    46   fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);
     41  if (!gfits_fread_header (f, &header))           Shutdown ("can't read primary header for GSC Region table");
     42  if (!gfits_fread_matrix (f, &matrix, &header))  Shutdown ("can't read primary matrix for GSC Region table");
     43  if (!gfits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");
     44
     45  gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
     46  gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny);
    4747
    4848  Nregions = 0;
  • trunk/Ohana/src/delstar/src/Shutdown.c

    r4864 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: delstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/delstar/src/delete_imagefile.c

    r6677 r7080  
    5555  if (!Nimlist) Shutdown ("image %s not found in db", filename);
    5656
    57   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
     57  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
    5858  dvo_image_update (db, VERBOSE);
    5959  dvo_image_unlock (db);
  • trunk/Ohana/src/delstar/src/delete_imagename.c

    r6237 r7080  
    1717  SkyTableSetFilenames (sky, CATDIR, "cpt");
    1818
    19   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     19  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    2020
    2121  /* find image in db by name */
     
    6363
    6464  /* delete the identified images */
    65   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
     65  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
    6666  dvo_image_update (db, VERBOSE);
    6767  dvo_image_unlock (db);
  • trunk/Ohana/src/delstar/src/delete_times.c

    r6677 r7080  
    2323  ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS);
    2424
    25   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     25  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    2626
    2727  /* find images for time range, delete each image */
     
    7777
    7878  /* delete the identified images */
    79   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
     79  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
    8080  dvo_image_update (db, VERBOSE);
    8181  dvo_image_unlock (db);
  • trunk/Ohana/src/delstar/src/find_image_db.c

    r4864 r7080  
    1616  }
    1717
    18   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     18  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1919
    2020  Nlist = 0;
     
    4242  int code;
    4343
    44   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     44  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    4545
    4646  start = timage[0].tzero - MAX(0.05*timage[0].trate*timage[0].NY, 1);
     
    7272  Image *image;
    7373
    74   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     74  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    7575
    7676  Nlist = 0;
  • trunk/Ohana/src/delstar/src/gimages.c

    r5014 r7080  
    1616  ALLOCATE (image, Image, 1);
    1717  /* load header */
    18   if (!fits_read_header (filename, &header)) {
     18  if (!gfits_read_header (filename, &header)) {
    1919    Shutdown ("ERROR: can't find image file %s", filename);
    2020  }
     
    4848 
    4949  /* get other header info */
    50   fits_scan (&header, "NAXIS1",   "%hd", 1, &image[0].NX);
    51   fits_scan (&header, "NAXIS2",   "%hd", 1, &image[0].NY);
     50  gfits_scan (&header, "NAXIS1",   "%hd", 1, &image[0].NX);
     51  gfits_scan (&header, "NAXIS2",   "%hd", 1, &image[0].NY);
    5252
    53   fits_scan (&header, "PHOTCODE", "%s", 1, photcode);
     53  gfits_scan (&header, "PHOTCODE", "%s", 1, photcode);
    5454  Nc = GetPhotcodeCodebyName (photcode);
    5555  if (!Nc) {
     
    5959
    6060  tmp = 0;
    61   fits_scan (&header, "FLIMIT",   "%lf", 1, &tmp);
     61  gfits_scan (&header, "FLIMIT",   "%lf", 1, &tmp);
    6262  image[0].detection_limit = tmp * 10.0;
    6363
    6464  tmp = 0;
    65   fits_scan (&header, "FSATUR",   "%lf", 1, &tmp);
     65  gfits_scan (&header, "FSATUR",   "%lf", 1, &tmp);
    6666  image[0].saturation_limit = tmp * 10.0;
    6767
    68   if (!fits_scan (&header, "TZERO",   "%d",  1, &image[0].tzero)) {
     68  if (!gfits_scan (&header, "TZERO",   "%d",  1, &image[0].tzero)) {
    6969    image[0].tzero = parse_time (&header);
    7070  }
    7171
    7272  tmp = 0;
    73   fits_scan (&header, "TRATE",   "%lf", 1, &tmp);
     73  gfits_scan (&header, "TRATE",   "%lf", 1, &tmp);
    7474  image[0].trate = 10000 * tmp;
    7575
    7676  tmp = 0;
    77   fits_scan (&header, "AIRMASS", "%lf", 1, &tmp);
     77  gfits_scan (&header, "AIRMASS", "%lf", 1, &tmp);
    7878  image[0].secz_PS = tmp;
    7979
  • trunk/Ohana/src/delstar/src/parse_time.c

    r4680 r7080  
    1414  if (strcasecmp (JDKeyword, "NONE")) {
    1515    uppercase (JDKeyword);
    16     fits_scan (header, JDKeyword, "%lf", 1, &jd);
     16    gfits_scan (header, JDKeyword, "%lf", 1, &jd);
    1717    Nsec = (jd - 2440587.5)*86400;
    1818    return (Nsec);
     
    2222  if (strcasecmp (MJDKeyword, "NONE")) {
    2323    uppercase (MJDKeyword);
    24     fits_scan (header, MJDKeyword, "%lf", 1, &jd);
     24    gfits_scan (header, MJDKeyword, "%lf", 1, &jd);
    2525    Nsec = (jd - 40587.0)*86400;
    2626    return (Nsec);
     
    2929  /* get UT and DATE */
    3030  uppercase (UTKeyword);
    31   fits_scan (header, UTKeyword, "%s", 1, line);
     31  gfits_scan (header, UTKeyword, "%s", 1, line);
    3232  /* remove ':' characters */
    3333  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
     
    6363  /* parse date entry */
    6464  uppercase (DateKeyword);
    65   fits_scan (header, DateKeyword, "%s",  1, line);
     65  gfits_scan (header, DateKeyword, "%s",  1, line);
    6666  /* remove possible separators: ':', '/' '.', '-' */
    6767  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
  • trunk/Ohana/src/delstar/src/wcatalog.c

    r5014 r7080  
    2929    catalog[0].Nsecfilt = 0;
    3030  }
    31   fits_free_header (&catalog[0].header);
     31  gfits_free_header (&catalog[0].header);
    3232 
    3333  return (TRUE);
  • trunk/Ohana/src/elixir/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- elixir-1-5:
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25elixir-1-4:
  • trunk/Ohana/src/elixir/src/Photcodes.c

    r2428 r7080  
    99
    1010  /* read in image header, open image data region */
    11   if (!fits_read_header (file, &header)) {
     11  if (!gfits_read_header (file, &header)) {
    1212    fprintf (stderr, "ERROR: can't find image file %s (1)\n", file);
    1313    exit(0);
     
    1515
    1616  /** WARNING: this should use the abstracted keyword names **/
    17   fits_scan (&header, "DETECTOR", "%s", 1, detector);
    18   fits_scan (&header, "FILTER",   "%s", 1, filter);
    19   fits_scan (&header, "IMAGEID",  "%d", 1, &imageid);
    20 
    21   fits_free_header (&header);
     17  gfits_scan (&header, "DETECTOR", "%s", 1, detector);
     18  gfits_scan (&header, "FILTER",   "%s", 1, filter);
     19  gfits_scan (&header, "IMAGEID",  "%d", 1, &imageid);
     20
     21  gfits_free_header (&header);
    2222
    2323  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
     
    4747
    4848  /* read in image header, open image data region */
    49   if (!fits_read_header (filename, &header)) {
     49  if (!gfits_read_header (filename, &header)) {
    5050    fprintf (stderr, "ERROR: can't find image file %s (1)\n", file);
    5151    exit(0);
     
    5353  free (filename);
    5454
    55   fits_scan (&header, "DETECTOR", "%s", 1, detector);
    56   fits_scan (&header, "FILTER",   "%s", 1, filter);
    57   fits_free_header (&header);
     55  gfits_scan (&header, "DETECTOR", "%s", 1, detector);
     56  gfits_scan (&header, "FILTER",   "%s", 1, filter);
     57  gfits_free_header (&header);
    5858
    5959  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
     
    8383  }
    8484
    85   if (!fits_read_header (fullname, &header)) {
     85  if (!gfits_read_header (fullname, &header)) {
    8686    fprintf (stderr, "ERROR: can't find image file %s (1)\n", fullname);
    8787    exit(0);
    8888  }
    89   fits_scan (&header, "DETECTOR", "%s", 1, detector);
    90   fits_scan (&header, "FILTER",   "%s", 1, filter);
    91   fits_free_header (&header);
     89  gfits_scan (&header, "DETECTOR", "%s", 1, detector);
     90  gfits_scan (&header, "FILTER",   "%s", 1, filter);
     91  gfits_free_header (&header);
    9292 
    9393  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
     
    138138
    139139  /* read in image header, open image data region */
    140   if (!fits_read_Xheader (filename, &header, extend)) {
     140  if (!gfits_read_Xheader (filename, &header, extend)) {
    141141    fprintf (stderr, "ERROR: can't find image file %s (1)\n", file);
    142142    exit(0);
     
    144144  free (filename);
    145145
    146   fits_scan (&header, "DETECTOR", "%s", 1, detector);
    147   fits_scan (&header, "FILTER",   "%s", 1, filter);
    148   fits_scan (&header, "IMAGEID",  "%d", 1, &imageid);
    149   fits_free_header (&header);
     146  gfits_scan (&header, "DETECTOR", "%s", 1, detector);
     147  gfits_scan (&header, "FILTER",   "%s", 1, filter);
     148  gfits_scan (&header, "IMAGEID",  "%d", 1, &imageid);
     149  gfits_free_header (&header);
    150150
    151151  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
  • trunk/Ohana/src/fixcat/src/find_images.c

    r2490 r7080  
    5656
    5757  /* check if image datafile exists, get header, number of images */
    58   if (!fits_read_header (ImageCat, &header)) {
     58  if (!gfits_read_header (ImageCat, &header)) {
    5959    fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat);
    6060    exit (0);
    6161  }
    6262  Nimage = 0;
    63   fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
     63  gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
    6464  if (Nimage == 0) {
    6565    fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat);
  • trunk/Ohana/src/fixcat/src/gcatalog.c

    r2490 r7080  
    1818
    1919  /* read catalog header */
    20   if (!fits_read_header (filename, &catalog[0].header)) {
     20  if (!gfits_read_header (filename, &catalog[0].header)) {
    2121    fprintf (stderr, "ERROR: file doesn't exist %s\n", filename);
    2222    exit (0);
     
    3232  /** find number of stars, measurements **/
    3333  catalog[0].Nmissing = catalog[0].Naverage = catalog[0].Nmeasure = 0;
    34   fits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage);
    35   fits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure);
    36   fits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing);
     34  gfits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage);
     35  gfits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure);
     36  gfits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing);
    3737
    3838  ALLOCATE (catalog[0].average, Average, MAX (catalog[0].Naverage, 1));
  • trunk/Ohana/src/fixcat/src/gcatstats.c

    r2490 r7080  
    1313  Coords tcoords;
    1414 
    15   fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
    16   fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
    17   fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
    18   fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
     15  gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
     16  gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
     17  gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
     18  gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
    1919
    2020  /* double check on region RA and DEC ranges */
  • trunk/Ohana/src/fixcat/src/wcatalog.c

    r2490 r7080  
    3636  chmod (filename, mode);
    3737 
    38   fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);
    39   fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);
    40   fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);
     38  gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);
     39  gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);
     40  gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);
    4141
    42   fits_modify (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);
     42  gfits_modify (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);
    4343
    4444  nitems = Fwrite (catalog[0].header.buffer, 1, catalog[0].header.size, f, "char");
  • trunk/Ohana/src/gastro/doc/ChangeLog.txt

    r6693 r7080  
     1
     2 gastro-1-4:
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25 gastro-1-3:
  • trunk/Ohana/src/gastro/src/gheader.c

    r3335 r7080  
    88  char line[1024];
    99
    10   if (!fits_read_header (file, &header)) {
     10  if (!gfits_read_header (file, &header)) {
    1111    fprintf (stderr, "ERROR: can't find image file %s (3)\n", file);
    1212    exit(0);
     
    2626      exit (0);
    2727    }
    28     fits_modify (&header, "PHOTCODE", "%s", 1, PHOTCODE);
     28    gfits_modify (&header, "PHOTCODE", "%s", 1, PHOTCODE);
    2929  }   
    3030 
    3131  if (Nmatch < 2) {
    32     fits_modify (&header, "NASTRO", "%d", 1, 0);
    33     fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
     32    gfits_modify (&header, "NASTRO", "%d", 1, 0);
     33    gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
    3434    goto skipstuff;
    3535  }
    3636 
    37   fits_modify (&header, "NASTRO", "%d", 1, Nmatch);
    38   fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
     37  gfits_modify (&header, "NASTRO", "%d", 1, Nmatch);
     38  gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
    3939
    4040  /*** use PutCoords to update header ***/
    4141  if (coords.Npolyterms > 1) {
    42     fits_modify (&header, "CTYPE1",   "%s",  1, "RA---PLY");
    43     fits_modify (&header, "CTYPE2",   "%s",  1, "DEC--PLY");
     42    gfits_modify (&header, "CTYPE1",   "%s",  1, "RA---PLY");
     43    gfits_modify (&header, "CTYPE2",   "%s",  1, "DEC--PLY");
    4444  } else {
    45     fits_modify (&header, "CTYPE1",   "%s",  1, "RA---TAN");
    46     fits_modify (&header, "CTYPE2",   "%s",  1, "DEC--TAN");
     45    gfits_modify (&header, "CTYPE1",   "%s",  1, "RA---TAN");
     46    gfits_modify (&header, "CTYPE2",   "%s",  1, "DEC--TAN");
    4747  }   
    48   fits_modify (&header, "CDELT1",   "%le", 1, coords.cdelt1);
    49   fits_modify (&header, "CDELT2",   "%le", 1, coords.cdelt2);
    50   fits_modify (&header, "CRVAL1",   "%lf", 1, coords.crval1);
    51   fits_modify (&header, "CRVAL2",   "%lf", 1, coords.crval2); 
    52   fits_modify (&header, "CRPIX1",   "%lf", 1, coords.crpix1);
    53   fits_modify (&header, "CRPIX2",   "%lf", 1, coords.crpix2);
    54   fits_modify (&header, "PC001001", "%le", 1, coords.pc1_1);
    55   fits_modify (&header, "PC001002", "%le", 1, coords.pc1_2);
    56   fits_modify (&header, "PC002001", "%le", 1, coords.pc2_1);
    57   fits_modify (&header, "PC002002", "%le", 1, coords.pc2_2);
    58   fits_modify (&header, "NPLYTERM", "%d", 1, coords.Npolyterms);
     48  gfits_modify (&header, "CDELT1",   "%le", 1, coords.cdelt1);
     49  gfits_modify (&header, "CDELT2",   "%le", 1, coords.cdelt2);
     50  gfits_modify (&header, "CRVAL1",   "%lf", 1, coords.crval1);
     51  gfits_modify (&header, "CRVAL2",   "%lf", 1, coords.crval2); 
     52  gfits_modify (&header, "CRPIX1",   "%lf", 1, coords.crpix1);
     53  gfits_modify (&header, "CRPIX2",   "%lf", 1, coords.crpix2);
     54  gfits_modify (&header, "PC001001", "%le", 1, coords.pc1_1);
     55  gfits_modify (&header, "PC001002", "%le", 1, coords.pc1_2);
     56  gfits_modify (&header, "PC002001", "%le", 1, coords.pc2_1);
     57  gfits_modify (&header, "PC002002", "%le", 1, coords.pc2_2);
     58  gfits_modify (&header, "NPLYTERM", "%d", 1, coords.Npolyterms);
    5959  if (coords.Npolyterms > 1) {
    6060    /* RA Terms */
    61     fits_modify (&header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]);   /* polyterms[0]); */
    62     fits_modify (&header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]);   /* polyterms[1]); */
    63     fits_modify (&header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]);   /* polyterms[2]); */
     61    gfits_modify (&header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]);   /* polyterms[0]); */
     62    gfits_modify (&header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]);   /* polyterms[1]); */
     63    gfits_modify (&header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]);   /* polyterms[2]); */
    6464
    6565    if (coords.Npolyterms > 2) {
    66       fits_modify (&header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]);   /* polyterms[3]); */
    67       fits_modify (&header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]);   /* polyterms[4]); */
    68       fits_modify (&header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]);   /* polyterms[5]); */
    69       fits_modify (&header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]);   /* polyterms[6]); */
     66      gfits_modify (&header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]);   /* polyterms[3]); */
     67      gfits_modify (&header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]);   /* polyterms[4]); */
     68      gfits_modify (&header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]);   /* polyterms[5]); */
     69      gfits_modify (&header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]);   /* polyterms[6]); */
    7070    }
    7171    /* Dec Terms */
    72     fits_modify (&header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]);   /* polyterms[7]); */
    73     fits_modify (&header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]);   /* polyterms[8]); */
    74     fits_modify (&header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]);   /* polyterms[9]); */
     72    gfits_modify (&header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]);   /* polyterms[7]); */
     73    gfits_modify (&header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]);   /* polyterms[8]); */
     74    gfits_modify (&header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]);   /* polyterms[9]); */
    7575
    7676    if (coords.Npolyterms > 2) {
    77       fits_modify (&header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]);   /* polyterms[10]); */
    78       fits_modify (&header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]);   /* polyterms[11]); */
    79       fits_modify (&header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]);   /* polyterms[12]); */
    80       fits_modify (&header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]);   /* polyterms[13]); */
     77      gfits_modify (&header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]);   /* polyterms[10]); */
     78      gfits_modify (&header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]);   /* polyterms[11]); */
     79      gfits_modify (&header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]);   /* polyterms[12]); */
     80      gfits_modify (&header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]);   /* polyterms[13]); */
    8181    }
    8282  }
    83   fits_modify (&header, "CERROR", "%lf", 1, dR);
    84   fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
    85   fits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Nmatch));
    86   fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
    87   fits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);
     83  gfits_modify (&header, "CERROR", "%lf", 1, dR);
     84  gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
     85  gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Nmatch));
     86  gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
     87  gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);
    8888  /* we force equinox to be 2000.0 for all images */
    8989
  • trunk/Ohana/src/gastro/src/gstars.c

    r2435 r7080  
    2323
    2424  /* read in image header, open image data region */
    25   if (!fits_read_header (file, &header)) {
     25  if (!gfits_read_header (file, &header)) {
    2626    fprintf (stderr, "ERROR: can't find image file %s (1)\n", file);
    2727    exit(0);
    2828  }
    2929  /* get complete info from header */
    30   fits_scan (&header, "NAXIS1", "%d", 1, NX);
    31   fits_scan (&header, "NAXIS2", "%d", 1, NY);
     30  gfits_scan (&header, "NAXIS1", "%d", 1, NX);
     31  gfits_scan (&header, "NAXIS2", "%d", 1, NY);
    3232
    3333  /* attempt to get detailed astrometric information from header */
     
    3636      GetCoords (coords, &header);
    3737    } else {
    38       fits_read_header (HEADER, &theader);
     38      gfits_read_header (HEADER, &theader);
    3939      GetCoords (coords, &theader);
    4040    }
     
    7878    if (!FORCE) {
    7979      /* RA (in hours, not degrees) */
    80       if (!fits_scan (&header, "RA", "%s", 1, line)) {
     80      if (!gfits_scan (&header, "RA", "%s", 1, line)) {
    8181        fprintf (stderr, "ERROR: no astrometry in header\n");
    8282        exit (1);
     
    8686
    8787      /* DEC */
    88       if (!fits_scan (&header, "DEC", "%s", 1, line)) {
     88      if (!gfits_scan (&header, "DEC", "%s", 1, line)) {
    8989        fprintf (stderr, "ERROR: no astrometry in header\n");
    9090        exit (1);
     
    104104  /* the following two sections are LONEOS derived and may not be needed elsewhere */
    105105  if (LONEOS_COORDS) {
    106     fits_scan (&header, "COMMENT", "%s", 1, line);
     106    gfits_scan (&header, "COMMENT", "%s", 1, line);
    107107    sscanf (line, "%*s%d%s", &rnumber, side);
    108108    if (get_region_coords (&ra, &dec, rnumber, side)) {
     
    137137
    138138  Nstars = 0;
    139   fits_scan (&header, "NSTARS", "%d", 1, &Nstars);
     139  gfits_scan (&header, "NSTARS", "%d", 1, &Nstars);
    140140  if (Nstars == -1) {
    141141    fprintf (stderr, "ERROR: failed to find NSTARS\n");
     
    238238  /***  this is tailored for LONEOS ***/
    239239  Nccd = -1;
    240   fits_scan (&header, "NCCD", "%d", 1, &Nccd);
     240  gfits_scan (&header, "NCCD", "%d", 1, &Nccd);
    241241  if (Nccd == -1) {  /* no ccd info in header, not loneos */
    242242    coords[0].crpix1 = 0.5*(*NX);
  • trunk/Ohana/src/gastro2/doc/ChangeLog.txt

    r6693 r7080  
     1
     2 gastro-2-3:
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25 gastro-2-2:
  • trunk/Ohana/src/gastro2/src/gheader2.c

    r3335 r7080  
    99  char line[1024];
    1010
    11   if (!fits_read_header (file, &header)) {
     11  if (!gfits_read_header (file, &header)) {
    1212    fprintf (stderr, "ERROR: can't find image file %s (3)\n", file);
    1313    exit(0);
     
    1616
    1717  if (Target[0].answer.N < 6) {
    18     fits_modify (&header, "NASTRO", "%d", 1, 0);
    19     fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
     18    gfits_modify (&header, "NASTRO", "%d", 1, 0);
     19    gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
    2020    goto skipstuff;
    2121  }
    2222 
    23   fits_modify (&header, "NASTRO", "%d", 1, Target[0].answer.N);
    24   fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
     23  gfits_modify (&header, "NASTRO", "%d", 1, Target[0].answer.N);
     24  gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");
    2525
    2626  /*** use PutCoords to update header ***/
    2727  if (Target[0].coords.Npolyterms > 1) {
    28     fits_modify (&header, "CTYPE1",   "%s",  1, "RA---PLY");
    29     fits_modify (&header, "CTYPE2",   "%s",  1, "DEC--PLY");
     28    gfits_modify (&header, "CTYPE1",   "%s",  1, "RA---PLY");
     29    gfits_modify (&header, "CTYPE2",   "%s",  1, "DEC--PLY");
    3030  } else {
    31     fits_modify (&header, "CTYPE1",   "%s",  1, "RA---TAN");
    32     fits_modify (&header, "CTYPE2",   "%s",  1, "DEC--TAN");
     31    gfits_modify (&header, "CTYPE1",   "%s",  1, "RA---TAN");
     32    gfits_modify (&header, "CTYPE2",   "%s",  1, "DEC--TAN");
    3333  }   
    34   fits_modify (&header, "CDELT1",   "%le", 1, Target[0].coords.cdelt1);
    35   fits_modify (&header, "CDELT2",   "%le", 1, Target[0].coords.cdelt2);
    36   fits_modify (&header, "CRVAL1",   "%lf", 1, Target[0].coords.crval1);
    37   fits_modify (&header, "CRVAL2",   "%lf", 1, Target[0].coords.crval2); 
    38   fits_modify (&header, "CRPIX1",   "%lf", 1, Target[0].coords.crpix1);
    39   fits_modify (&header, "CRPIX2",   "%lf", 1, Target[0].coords.crpix2);
    40   fits_modify (&header, "PC001001", "%le", 1, Target[0].coords.pc1_1);
    41   fits_modify (&header, "PC001002", "%le", 1, Target[0].coords.pc1_2);
    42   fits_modify (&header, "PC002001", "%le", 1, Target[0].coords.pc2_1);
    43   fits_modify (&header, "PC002002", "%le", 1, Target[0].coords.pc2_2);
    44   fits_modify (&header, "NPLYTERM", "%d", 1, Target[0].coords.Npolyterms);
     34  gfits_modify (&header, "CDELT1",   "%le", 1, Target[0].coords.cdelt1);
     35  gfits_modify (&header, "CDELT2",   "%le", 1, Target[0].coords.cdelt2);
     36  gfits_modify (&header, "CRVAL1",   "%lf", 1, Target[0].coords.crval1);
     37  gfits_modify (&header, "CRVAL2",   "%lf", 1, Target[0].coords.crval2); 
     38  gfits_modify (&header, "CRPIX1",   "%lf", 1, Target[0].coords.crpix1);
     39  gfits_modify (&header, "CRPIX2",   "%lf", 1, Target[0].coords.crpix2);
     40  gfits_modify (&header, "PC001001", "%le", 1, Target[0].coords.pc1_1);
     41  gfits_modify (&header, "PC001002", "%le", 1, Target[0].coords.pc1_2);
     42  gfits_modify (&header, "PC002001", "%le", 1, Target[0].coords.pc2_1);
     43  gfits_modify (&header, "PC002002", "%le", 1, Target[0].coords.pc2_2);
     44  gfits_modify (&header, "NPLYTERM", "%d", 1, Target[0].coords.Npolyterms);
    4545  if (Target[0].coords.Npolyterms > 1) {
    4646    /* RA Terms */
    47     fits_modify (&header, "PCA1X2Y0", "%le", 1, Target[0].coords.polyterms[0][0]);   /* polyterms[0]); */
    48     fits_modify (&header, "PCA1X1Y1", "%le", 1, Target[0].coords.polyterms[1][0]);   /* polyterms[1]); */
    49     fits_modify (&header, "PCA1X0Y2", "%le", 1, Target[0].coords.polyterms[2][0]);   /* polyterms[2]); */
     47    gfits_modify (&header, "PCA1X2Y0", "%le", 1, Target[0].coords.polyterms[0][0]);   /* polyterms[0]); */
     48    gfits_modify (&header, "PCA1X1Y1", "%le", 1, Target[0].coords.polyterms[1][0]);   /* polyterms[1]); */
     49    gfits_modify (&header, "PCA1X0Y2", "%le", 1, Target[0].coords.polyterms[2][0]);   /* polyterms[2]); */
    5050
    5151    if (Target[0].coords.Npolyterms > 2) {
    52       fits_modify (&header, "PCA1X3Y0", "%le", 1, Target[0].coords.polyterms[3][0]);   /* polyterms[3]); */
    53       fits_modify (&header, "PCA1X2Y1", "%le", 1, Target[0].coords.polyterms[4][0]);   /* polyterms[4]); */
    54       fits_modify (&header, "PCA1X1Y2", "%le", 1, Target[0].coords.polyterms[5][0]);   /* polyterms[5]); */
    55       fits_modify (&header, "PCA1X0Y3", "%le", 1, Target[0].coords.polyterms[6][0]);   /* polyterms[6]); */
     52      gfits_modify (&header, "PCA1X3Y0", "%le", 1, Target[0].coords.polyterms[3][0]);   /* polyterms[3]); */
     53      gfits_modify (&header, "PCA1X2Y1", "%le", 1, Target[0].coords.polyterms[4][0]);   /* polyterms[4]); */
     54      gfits_modify (&header, "PCA1X1Y2", "%le", 1, Target[0].coords.polyterms[5][0]);   /* polyterms[5]); */
     55      gfits_modify (&header, "PCA1X0Y3", "%le", 1, Target[0].coords.polyterms[6][0]);   /* polyterms[6]); */
    5656    }
    5757    /* Dec Terms */
    58     fits_modify (&header, "PCA2X2Y0", "%le", 1, Target[0].coords.polyterms[0][1]);   /* polyterms[7]); */
    59     fits_modify (&header, "PCA2X1Y1", "%le", 1, Target[0].coords.polyterms[1][1]);   /* polyterms[8]); */
    60     fits_modify (&header, "PCA2X0Y2", "%le", 1, Target[0].coords.polyterms[2][1]);   /* polyterms[9]); */
     58    gfits_modify (&header, "PCA2X2Y0", "%le", 1, Target[0].coords.polyterms[0][1]);   /* polyterms[7]); */
     59    gfits_modify (&header, "PCA2X1Y1", "%le", 1, Target[0].coords.polyterms[1][1]);   /* polyterms[8]); */
     60    gfits_modify (&header, "PCA2X0Y2", "%le", 1, Target[0].coords.polyterms[2][1]);   /* polyterms[9]); */
    6161
    6262    if (Target[0].coords.Npolyterms > 2) {
    63       fits_modify (&header, "PCA2X3Y0", "%le", 1, Target[0].coords.polyterms[3][1]);   /* polyterms[10]); */
    64       fits_modify (&header, "PCA2X2Y1", "%le", 1, Target[0].coords.polyterms[4][1]);   /* polyterms[11]); */
    65       fits_modify (&header, "PCA2X1Y2", "%le", 1, Target[0].coords.polyterms[5][1]);   /* polyterms[12]); */
    66       fits_modify (&header, "PCA2X0Y3", "%le", 1, Target[0].coords.polyterms[6][1]);   /* polyterms[13]); */
     63      gfits_modify (&header, "PCA2X3Y0", "%le", 1, Target[0].coords.polyterms[3][1]);   /* polyterms[10]); */
     64      gfits_modify (&header, "PCA2X2Y1", "%le", 1, Target[0].coords.polyterms[4][1]);   /* polyterms[11]); */
     65      gfits_modify (&header, "PCA2X1Y2", "%le", 1, Target[0].coords.polyterms[5][1]);   /* polyterms[12]); */
     66      gfits_modify (&header, "PCA2X0Y3", "%le", 1, Target[0].coords.polyterms[6][1]);   /* polyterms[13]); */
    6767    }
    6868  }
    6969
    7070  dR = fabs (Target[0].answer.dR*Target[0].coords.cdelt1*3600.0);
    71   fits_modify (&header, "CERROR", "%lf", 1, dR);
    72   fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
    73   fits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Target[0].answer.N));
    74   fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
    75   fits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);
     71  gfits_modify (&header, "CERROR", "%lf", 1, dR);
     72  gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
     73  gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Target[0].answer.N));
     74  gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
     75  gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);
    7676  /* we force equinox to be 2000.0 for all images */
    7777
  • trunk/Ohana/src/gastro2/src/gstars2.c

    r3520 r7080  
    1616    exit (1);
    1717  }
    18   if (!fits_fread_header (f, &Target[0].header)) {
     18  if (!gfits_fread_header (f, &Target[0].header)) {
    1919    fprintf (stderr, "ERROR: can't read image header\n");
    2020    exit (1);
     
    4343      Header header;
    4444
    45       if (!fits_read_header (HEADER, &header)) {
     45      if (!gfits_read_header (HEADER, &header)) {
    4646        fprintf (stderr, "ERROR: can't load external header\n");
    4747        exit (1);
    4848      }
    4949      FoundAstrom = GetCoords (&Target[0].coords, &header);
    50       fits_free_header (&header);
     50      gfits_free_header (&header);
    5151    }
    5252    if (!FoundAstrom) {
     
    7171    /* get RA & DEC from header */
    7272    FoundAstrom = TRUE;
    73     FoundAstrom &= fits_scan (&Target[0].header, "RA", "%s", 1, line);
     73    FoundAstrom &= gfits_scan (&Target[0].header, "RA", "%s", 1, line);
    7474    dms_to_ddd (&Target[0].coords.crval1, line);
    7575    Target[0].coords.crval1 = Target[0].coords.crval1 * 15.0;
    76     FoundAstrom &= fits_scan (&Target[0].header, "DEC", "%s", 1, line);
     76    FoundAstrom &= gfits_scan (&Target[0].header, "DEC", "%s", 1, line);
    7777    dms_to_ddd (&Target[0].coords.crval2, line);
    7878  }
     
    125125  /* read from FITS table or from text table */
    126126  extend = FALSE;
    127   fits_scan (&Target[0].header, "EXTEND",  "%t", 1, &extend);
     127  gfits_scan (&Target[0].header, "EXTEND",  "%t", 1, &extend);
    128128  if (extend) {
    129     Nskip = fits_matrix_size (&Target[0].header);
     129    Nskip = gfits_matrix_size (&Target[0].header);
    130130    fseek (f, Nskip, SEEK_CUR);
    131131    stars = rfits (f, &Nstars);
    132132  } else {
    133133    /* allocate space for stars */
    134     if (!fits_scan (&Target[0].header, "NSTARS", "%d", 1, &Nstars)) {
     134    if (!gfits_scan (&Target[0].header, "NSTARS", "%d", 1, &Nstars)) {
    135135      fprintf (stderr, "ERROR: failed to find NSTARS\n");
    136136      exit (1);
  • trunk/Ohana/src/gastro2/src/rfits.c

    r4864 r7080  
    1111  /* init & load in table data */
    1212  table.header   = &theader;
    13   if (!fits_fread_ftable (f, &table, "SMPFILE")) goto escape;
     13  if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape;
    1414
    15   stars = fits_table_get_SMPData (&table, &Nstars, NULL);
     15  stars = gfits_table_get_SMPData (&table, &Nstars, NULL);
    1616
    1717  ALLOCATE (stardata, StarData, Nstars);
  • trunk/Ohana/src/getstar/src/Shutdown.c

    r6812 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: getstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/getstar/src/mkcatalog.c

    r6995 r7080  
    3333  }
    3434
    35   fits_init_header (&catalog[0].header);
     35  gfits_init_header (&catalog[0].header);
    3636
    3737  if (catalog[0].catmode == DVO_MODE_RAW) {
     
    4343  }
    4444
    45   fits_create_header (&catalog[0].header);
     45  gfits_create_header (&catalog[0].header);
    4646 
    4747  if (catalog[0].catmode == DVO_MODE_SPLIT) {
     
    5252    /* define measure catalog file */
    5353    ALLOCATE (catalog[0].measure_catalog, Catalog, 1);
    54     fits_init_header (&catalog[0].measure_catalog[0].header);
    55     fits_create_header (&catalog[0].measure_catalog[0].header);
     54    gfits_init_header (&catalog[0].measure_catalog[0].header);
     55    gfits_create_header (&catalog[0].measure_catalog[0].header);
    5656    ALLOCATE (catalog[0].measure_catalog[0].filename, char, length);
    5757    sprintf (catalog[0].measure_catalog[0].filename, "%s/%s.cpm", path, root);
     
    6262    }
    6363    file = filebasename (catalog[0].measure_catalog[0].filename);
    64     fits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);
     64    gfits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);
    6565    free (file);
    6666
    6767    /* define missing catalog file */
    6868    ALLOCATE (catalog[0].missing_catalog, Catalog, 1);
    69     fits_init_header (&catalog[0].missing_catalog[0].header);
    70     fits_create_header (&catalog[0].missing_catalog[0].header);
     69    gfits_init_header (&catalog[0].missing_catalog[0].header);
     70    gfits_create_header (&catalog[0].missing_catalog[0].header);
    7171    ALLOCATE (catalog[0].missing_catalog[0].filename, char, length);
    7272    sprintf (catalog[0].missing_catalog[0].filename, "%s/%s.cpn", path, root);
     
    7676    }
    7777    file = filebasename (catalog[0].missing_catalog[0].filename);
    78     fits_modify (&catalog[0].header, "MISSING", "%s", 1, file);
     78    gfits_modify (&catalog[0].header, "MISSING", "%s", 1, file);
    7979    free (file);
    8080
    8181    /* define secfilt catalog file */
    8282    ALLOCATE (catalog[0].secfilt_catalog, Catalog, 1);
    83     fits_init_header (&catalog[0].secfilt_catalog[0].header);
    84     fits_create_header (&catalog[0].secfilt_catalog[0].header);
     83    gfits_init_header (&catalog[0].secfilt_catalog[0].header);
     84    gfits_create_header (&catalog[0].secfilt_catalog[0].header);
    8585    ALLOCATE (catalog[0].secfilt_catalog[0].filename, char, length);
    8686    sprintf (catalog[0].secfilt_catalog[0].filename, "%s/%s.cps", path, root);
     
    9090    }
    9191    file = filebasename (catalog[0].secfilt_catalog[0].filename);
    92     fits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);
     92    gfits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);
    9393    free (file);
    9494    free (path);
     
    109109
    110110  /* write RA,DEC range in header */
    111   fits_modify (&catalog[0].header, "RA0",  "%lf", 1, Rmin);
    112   fits_modify (&catalog[0].header, "DEC0", "%lf", 1, Dmin);
    113   fits_modify (&catalog[0].header, "RA1",  "%lf", 1, Rmax);
    114   fits_modify (&catalog[0].header, "DEC1", "%lf", 1, Dmax);
     111  gfits_modify (&catalog[0].header, "RA0",  "%lf", 1, Rmin);
     112  gfits_modify (&catalog[0].header, "DEC0", "%lf", 1, Dmin);
     113  gfits_modify (&catalog[0].header, "RA1",  "%lf", 1, Rmax);
     114  gfits_modify (&catalog[0].header, "DEC1", "%lf", 1, Dmax);
    115115
    116116  /* write creation date in header */
    117117  str_to_time ("now", &now);
    118118  line = sec_to_date (now);
    119   fits_modify (&catalog[0].header, "DATE", "%s", 1, line);
     119  gfits_modify (&catalog[0].header, "DATE", "%s", 1, line);
    120120  free (line);
    121121}
  • trunk/Ohana/src/gophot/src/dophot.c

    r6676 r7080  
    3131           (now.tv_sec - then.tv_sec) + 1e-6*(now.tv_usec - then.tv_usec));
    3232
    33   fits_write_header ("test.sub", &header);
    34   fits_write_matrix ("test.sub", &matrix);
     33  gfits_write_header ("test.sub", &header);
     34  gfits_write_matrix ("test.sub", &matrix);
    3535  exit (0);
    3636  */
     
    6868
    6969# if (0)
    70     fits_write_header ("test.sub", &header);
    71     fits_write_matrix ("test.sub", &matrix);
     70    gfits_write_header ("test.sub", &header);
     71    gfits_write_matrix ("test.sub", &matrix);
    7272
    7373    completeout (nstot);
     
    8585           
    8686    /*
    87     fits_write_header ("test.sub", &header);
    88     fits_write_matrix ("test.sub", &matrix);
     87    gfits_write_header ("test.sub", &header);
     88    gfits_write_matrix ("test.sub", &matrix);
    8989    completeout (nstot);
    9090    fprintf (stderr, "type return to continue:  ");
  • trunk/Ohana/src/gophot/src/gophot.c

    r6676 r7080  
    1717
    1818  /* load image header and data */
    19   if (!fits_read_header (argv[1], &header)) {
     19  if (!gfits_read_header (argv[1], &header)) {
    2020    fprintf (stderr, "ERROR: can't open FITS header %s\n", argv[1]);
    2121    exit (1);
    2222  }
    23   if (!fits_read_matrix (argv[1], &matrix)) {
     23  if (!gfits_read_matrix (argv[1], &matrix)) {
    2424    fprintf (stderr, "ERROR: can't open FITS matrix %s\n", argv[1]);
    2525    exit (1);
    2626  }
    2727  /* convert to float, set up noise array and axes */
    28   fits_convert_format (&header, &matrix, -32, 1.0, 0.0, 0);
     28  gfits_convert_format (&header, &matrix, -32, 1.0, 0.0, 0);
    2929  ALLOCATE (noise, float, matrix.size);
    3030  big = (float *) matrix.buffer;
     
    3333 
    3434  /* override config values with header values */
    35   if (fits_scan (&header, "SATVALUE", "%f", 1, &tmp)) itop = tmp;
    36   if (fits_scan (&header, "GAIN", "%f", 1, &tmp)) eperdn = tmp;
    37   if (fits_scan (&header, "NEWGAIN", "%f", 1, &tmp)) eperdn = tmp;
     35  if (gfits_scan (&header, "SATVALUE", "%f", 1, &tmp)) itop = tmp;
     36  if (gfits_scan (&header, "GAIN", "%f", 1, &tmp)) eperdn = tmp;
     37  if (gfits_scan (&header, "NEWGAIN", "%f", 1, &tmp)) eperdn = tmp;
    3838
    3939  /* we are scaling the image to electrons, must also scale parameters */
  • trunk/Ohana/src/imclean/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- imclean-1-3:
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    252005.10.20: imclean-1-2
  • trunk/Ohana/src/imclean/src/AdjustHeader.c

    r3335 r7080  
    1111      if (!strcmp (KEYFMT[i], "%f")) {
    1212        value = atof (KEYVALU[i]);
    13         fits_modify (header, KEYWORD[i], "%le", 1, value);
     13        gfits_modify (header, KEYWORD[i], "%le", 1, value);
    1414      } else {
    15         fits_modify (header, KEYWORD[i], "%s", 1, KEYVALU[i]);
     15        gfits_modify (header, KEYWORD[i], "%s", 1, KEYVALU[i]);
    1616      }
    1717    }
     
    3030      exit (1);
    3131    }
    32     fits_modify (header, "PHOTCODE", "%s", 1, PHOTCODE);
     32    gfits_modify (header, "PHOTCODE", "%s", 1, PHOTCODE);
    3333  }   
    3434
     
    4141    rs = 3600 * (RA - rh - rm / 60.0);
    4242    sprintf (line, "%02d:%02d:%05.2f", rh, rm, rs);
    43     fits_modify (header, "RA", "%s", 1, line);
     43    gfits_modify (header, "RA", "%s", 1, line);
    4444    dd = DEC;
    4545    dm = 60.0 * (DEC - dd);
    4646    ds = 3600 * (DEC - dd - dm / 60.0);
    4747    sprintf (line, "%02d:%02d:%05.2f", dd, dm, ds);
    48     fits_modify (header, "DEC", "%s", 1, line);
     48    gfits_modify (header, "DEC", "%s", 1, line);
    4949  }
    5050 
     
    5454    Coords coords;
    5555
    56     if (!fits_read_header (AstromFile, &astrom_header)) {
     56    if (!gfits_read_header (AstromFile, &astrom_header)) {
    5757      fprintf (stderr, "ERROR: can't get astrometry from %s\n", AstromFile);
    5858      exit (1);
     
    6464    /*** use PutCoords to update header ***/
    6565    if (coords.Npolyterms > 1) {
    66       fits_modify (header, "CTYPE1",   "%s",  1, "RA---PLY");
    67       fits_modify (header, "CTYPE2",   "%s",  1, "DEC--PLY");
     66      gfits_modify (header, "CTYPE1",   "%s",  1, "RA---PLY");
     67      gfits_modify (header, "CTYPE2",   "%s",  1, "DEC--PLY");
    6868    } else {
    69       fits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
    70       fits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
     69      gfits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
     70      gfits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
    7171    }   
    72     fits_modify (header, "NASTRO",   "%d", 1, 1);
     72    gfits_modify (header, "NASTRO",   "%d", 1, 1);
    7373
    74     fits_modify (header, "CDELT1",   "%le", 1, coords.cdelt1);
    75     fits_modify (header, "CDELT2",   "%le", 1, coords.cdelt2);
    76     fits_modify (header, "CRVAL1",   "%lf", 1, coords.crval1);
    77     fits_modify (header, "CRVAL2",   "%lf", 1, coords.crval2); 
    78     fits_modify (header, "CRPIX1",   "%lf", 1, coords.crpix1);
    79     fits_modify (header, "CRPIX2",   "%lf", 1, coords.crpix2);
    80     fits_modify (header, "PC001001", "%le", 1, coords.pc1_1);
    81     fits_modify (header, "PC001002", "%le", 1, coords.pc1_2);
    82     fits_modify (header, "PC002001", "%le", 1, coords.pc2_1);
    83     fits_modify (header, "PC002002", "%le", 1, coords.pc2_2);
    84     fits_modify (header, "NPLYTERM", "%d", 1, coords.Npolyterms);
     74    gfits_modify (header, "CDELT1",   "%le", 1, coords.cdelt1);
     75    gfits_modify (header, "CDELT2",   "%le", 1, coords.cdelt2);
     76    gfits_modify (header, "CRVAL1",   "%lf", 1, coords.crval1);
     77    gfits_modify (header, "CRVAL2",   "%lf", 1, coords.crval2); 
     78    gfits_modify (header, "CRPIX1",   "%lf", 1, coords.crpix1);
     79    gfits_modify (header, "CRPIX2",   "%lf", 1, coords.crpix2);
     80    gfits_modify (header, "PC001001", "%le", 1, coords.pc1_1);
     81    gfits_modify (header, "PC001002", "%le", 1, coords.pc1_2);
     82    gfits_modify (header, "PC002001", "%le", 1, coords.pc2_1);
     83    gfits_modify (header, "PC002002", "%le", 1, coords.pc2_2);
     84    gfits_modify (header, "NPLYTERM", "%d", 1, coords.Npolyterms);
    8585    if (coords.Npolyterms > 1) {
    8686      /* RA Terms */
    87       fits_modify (header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]);   /* polyterms[0]); */
    88       fits_modify (header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]);   /* polyterms[1]); */
    89       fits_modify (header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]);   /* polyterms[2]); */
     87      gfits_modify (header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]);   /* polyterms[0]); */
     88      gfits_modify (header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]);   /* polyterms[1]); */
     89      gfits_modify (header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]);   /* polyterms[2]); */
    9090     
    9191      if (coords.Npolyterms > 2) {
    92         fits_modify (header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]);   /* polyterms[3]); */
    93         fits_modify (header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]);   /* polyterms[4]); */
    94         fits_modify (header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]);   /* polyterms[5]); */
    95         fits_modify (header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]);   /* polyterms[6]); */
     92        gfits_modify (header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]);   /* polyterms[3]); */
     93        gfits_modify (header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]);   /* polyterms[4]); */
     94        gfits_modify (header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]);   /* polyterms[5]); */
     95        gfits_modify (header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]);   /* polyterms[6]); */
    9696      }
    9797      /* Dec Terms */
    98       fits_modify (header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]);   /* polyterms[7]); */
    99       fits_modify (header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]);   /* polyterms[8]); */
    100       fits_modify (header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]);   /* polyterms[9]); */
     98      gfits_modify (header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]);   /* polyterms[7]); */
     99      gfits_modify (header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]);   /* polyterms[8]); */
     100      gfits_modify (header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]);   /* polyterms[9]); */
    101101     
    102102      if (coords.Npolyterms > 2) {
    103         fits_modify (header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]);   /* polyterms[10]); */
    104         fits_modify (header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]);   /* polyterms[11]); */
    105         fits_modify (header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]);   /* polyterms[12]); */
    106         fits_modify (header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]);   /* polyterms[13]); */
     103        gfits_modify (header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]);   /* polyterms[10]); */
     104        gfits_modify (header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]);   /* polyterms[11]); */
     105        gfits_modify (header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]);   /* polyterms[12]); */
     106        gfits_modify (header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]);   /* polyterms[13]); */
    107107      }
    108108    }
  • trunk/Ohana/src/imclean/src/LoadStarsChad.c

    r5386 r7080  
    116116  }
    117117 
    118   fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
    119   fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
    120   fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
    121   fits_modify (header, "ANGLE", "%lf", 1, angle);
    122   fits_modify (header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));
    123   fits_modify (header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));
    124   fits_modify (header, "NSTARS", "%d", 1, N);
     118  gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
     119  gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
     120  gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
     121  gfits_modify (header, "ANGLE", "%lf", 1, angle);
     122  gfits_modify (header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));
     123  gfits_modify (header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));
     124  gfits_modify (header, "NSTARS", "%d", 1, N);
    125125  for (i = 1; i <= 9; i++) {
    126126    sprintf (line, "TDOPHOT%1d", i);
    127     fits_modify (header, line, "%d", 1, 0);
     127    gfits_modify (header, line, "%d", 1, 0);
    128128  }
    129129
  • trunk/Ohana/src/imclean/src/LoadStarsDophot.c

    r5386 r7080  
    155155  }   
    156156
    157   fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
    158   fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
    159   fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
    160   fits_modify (header, "ANGLE", "%lf", 1, angle);
    161   fits_modify (header, "FSATUR", "%lf", 1, saturate);
    162   fits_modify (header, "FLIMIT", "%lf", 1, complete);
    163   fits_modify (header, "APMIFIT", "%lf", 1, SMedHist);
    164   fits_modify (header, "NSTARS", "%d", 1, N);
     157  gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
     158  gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
     159  gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
     160  gfits_modify (header, "ANGLE", "%lf", 1, angle);
     161  gfits_modify (header, "FSATUR", "%lf", 1, saturate);
     162  gfits_modify (header, "FLIMIT", "%lf", 1, complete);
     163  gfits_modify (header, "APMIFIT", "%lf", 1, SMedHist);
     164  gfits_modify (header, "NSTARS", "%d", 1, N);
    165165  for (i = 1; i <= 9; i++) {
    166166    sprintf (line, "TDOPHOT%1d", i);
    167     fits_modify (header, line, "%d", 1, n[i]);
     167    gfits_modify (header, line, "%d", 1, n[i]);
    168168  }
    169169
  • trunk/Ohana/src/imclean/src/LoadStarsSex.c

    r5386 r7080  
    129129  }
    130130 
    131   fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
    132   fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
    133   fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
    134   fits_modify (header, "ANGLE", "%lf", 1, angle);
    135   fits_modify (header, "FSATUR", "%lf", 1, saturate);
    136   fits_modify (header, "FLIMIT", "%lf", 1, complete);
    137   fits_modify (header, "NSTARS", "%d", 1, N);
     131  gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);
     132  gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx);
     133  gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);
     134  gfits_modify (header, "ANGLE", "%lf", 1, angle);
     135  gfits_modify (header, "FSATUR", "%lf", 1, saturate);
     136  gfits_modify (header, "FLIMIT", "%lf", 1, complete);
     137  gfits_modify (header, "NSTARS", "%d", 1, N);
    138138
    139139  *nstars = Nstars;
  • trunk/Ohana/src/imclean/src/find_line.c

    r3519 r7080  
    159159  }
    160160
    161   fits_modify (header, "NSTARS", "%d", 1, Ngood);
     161  gfits_modify (header, "NSTARS", "%d", 1, Ngood);
    162162 
    163163}
  • trunk/Ohana/src/imclean/src/imclean.c

    r3519 r7080  
    1212
    1313  /* load in FITS header from image */
    14   if (!fits_read_header (argv[1], &header)) {
     14  if (!gfits_read_header (argv[1], &header)) {
    1515    fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]);
    1616    exit (1);
  • trunk/Ohana/src/imclean/src/star_stats.c

    r3519 r7080  
    6262  }
    6363 
    64   fits_modify (&header, "ZERO_PT", "%lf", 1, ZERO_POINT);
    65   fits_modify (&header, "FWHM_X", "%lf", 1, FWHMx);
    66   fits_modify (&header, "FWHM_Y", "%lf", 1, FWHMy);
    67   fits_modify (&header, "ANGLE", "%lf", 1, angle);
    68   fits_modify (&header, "APMIFIT", "%lf", 1, Ap);
    69   fits_modify (&header, "dAPMIFIT", "%lf", 1, Ap2);
    70   fits_modify (&header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));
    71   fits_modify (&header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));
    72   fits_modify (&header, "NSTARS", "%d", 1, N);
     64  gfits_modify (&header, "ZERO_PT", "%lf", 1, ZERO_POINT);
     65  gfits_modify (&header, "FWHM_X", "%lf", 1, FWHMx);
     66  gfits_modify (&header, "FWHM_Y", "%lf", 1, FWHMy);
     67  gfits_modify (&header, "ANGLE", "%lf", 1, angle);
     68  gfits_modify (&header, "APMIFIT", "%lf", 1, Ap);
     69  gfits_modify (&header, "dAPMIFIT", "%lf", 1, Ap2);
     70  gfits_modify (&header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));
     71  gfits_modify (&header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));
     72  gfits_modify (&header, "NSTARS", "%d", 1, N);
    7373  for (i = 1; i <= 9; i++) {
    7474    sprintf (line, "TDOPHOT%1d\0", i);
    75     fits_modify (&header, line, "%d", 1, n[i]);
     75    gfits_modify (&header, line, "%d", 1, n[i]);
    7676  }
  • trunk/Ohana/src/imclean/src/wfits.c

    r4990 r7080  
    99  header[0].extend = TRUE;
    1010  header[0].Naxes = 0;
    11   fits_modify (header, "NAXIS",   "%d", 1, 0);
    12   fits_modify (header, "EXTEND",  "%t", 1, TRUE);
    13   fits_modify (header, "NEXTEND", "%d", 1, 1);
     11  gfits_modify (header, "NAXIS",   "%d", 1, 0);
     12  gfits_modify (header, "EXTEND",  "%t", 1, TRUE);
     13  gfits_modify (header, "NEXTEND", "%d", 1, 1);
    1414
    1515  /* add in some keywords to specify the datatype & software version? */
    1616
    1717  /* create (empty) data matrix */
    18   fits_create_matrix (header, &matrix);
     18  gfits_create_matrix (header, &matrix);
    1919   
    2020  table.header = &theader;
    21   fits_table_set_SMPData (&table, stars, Nstars);
     21  gfits_table_set_SMPData (&table, stars, Nstars);
    2222
    23   fits_write_header  (filename, header);
    24   fits_write_matrix  (filename, &matrix);
    25   fits_write_Theader (filename, &theader);
    26   fits_write_table   (filename, &table);
     23  gfits_write_header  (filename, header);
     24  gfits_write_matrix  (filename, &matrix);
     25  gfits_write_Theader (filename, &theader);
     26  gfits_write_table   (filename, &table);
    2727}
  • trunk/Ohana/src/imregister/base/ConfigCamera.c

    r70 r7080  
    3838  ID[0] = 0;
    3939 
    40   fits_scan (header, CCDnumKeyword,  "%s", 1, ID);
     40  gfits_scan (header, CCDnumKeyword,  "%s", 1, ID);
    4141  if (!ID[0]) {
    4242    fprintf (stderr, "warning, ccd id not found in header\n");
  • trunk/Ohana/src/imregister/base/fits_scan_nchar.c

    r4024 r7080  
    33/* scan and give a warning for missing entries */
    44void warn_scan (Header *header, char *field, char *format, int N, void *var) {
    5   if (!fits_scan (header, field, format, N, var)) {
     5  if (!gfits_scan (header, field, format, N, var)) {
    66    fprintf (stderr, "WARNING: %s not found in header\n", field);
    77  }
     
    99
    1010/* scan from header into a string of fixed length */
    11 int fits_scan_nchar (Header *header, int size, char *field, int N,...) {
     11int gfits_scan_nchar (Header *header, int size, char *field, int N,...) {
    1212
    1313  char tmpstr[160], *outstr;
     
    1919  va_end (argp);
    2020
    21   status = fits_scan (header, field, "%s", N, tmpstr);
     21  status = gfits_scan (header, field, "%s", N, tmpstr);
    2222  strncpy (outstr, tmpstr, size - 1);
    2323  outstr[size-1] = 0;
     
    2727     
    2828void warn_scan_nchar (Header *header, int size, char *field, int N, void *var) {
    29   if (!fits_scan_nchar (header, size, field, N, var)) {
     29  if (!gfits_scan_nchar (header, size, field, N, var)) {
    3030    fprintf (stderr, "missing %s not found in header\n", field);
    3131  }
  • trunk/Ohana/src/imregister/base/version.c

    r3523 r7080  
    1010
    1111  fprintf (stderr, "ohana: %s\n", ohana_version());
    12   fprintf (stderr, "fits:  %s\n", fits_version());
     12  fprintf (stderr, "fits:  %s\n", gfits_version());
    1313  exit (2);
    1414
  • trunk/Ohana/src/imregister/detrend/altpath.c

    r6674 r7080  
    4747
    4848    /** we may later want to pull this out and put it elsewhere **/
    49     fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
     49    gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
    5050    for (i = 0; i < Nmatch; i++) {
    51       fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
     51      gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
    5252    }
    53     fits_db_update (db);
    54     fits_db_close (db);
    55     fits_db_free (db);
     53    gfits_db_update (db);
     54    gfits_db_close (db);
     55    gfits_db_free (db);
    5656
    5757    fprintf (stderr, "SUCCESS\n");
     
    8484
    8585    /** we may later want to pull this out and put it elsewhere **/
    86     fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
     86    gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
    8787    for (i = 0; i < Nmatch; i++) {
    88       fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
     88      gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
    8989    }
    90     fits_db_update (db);
    91     fits_db_close (db);
    92     fits_db_free (db);
     90    gfits_db_update (db);
     91    gfits_db_close (db);
     92    gfits_db_free (db);
    9393
    9494    fprintf (stderr, "SUCCESS\n");
     
    113113
    114114    /** we may later want to pull this out and put it elsewhere **/
    115     fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
     115    gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);
    116116    for (i = 0; i < Nmatch; i++) {
    117       fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
     117      gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
    118118    }
    119     fits_db_update (db);
    120     fits_db_close (db);
    121     fits_db_free (db);
     119    gfits_db_update (db);
     120    gfits_db_close (db);
     121    gfits_db_free (db);
    122122
    123123    fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/detrend/delete.c

    r3606 r7080  
    2323  if (Ndel == 0) {
    2424    fprintf (stderr, "SUCCESS\n");
    25     fits_db_close (db);
     25    gfits_db_close (db);
    2626    exit (0);
    2727  }
     
    4141  /** we may later want to pull this out and put it elsewhere **/
    4242  /** free db[0].theader, db[0].table.buffer? **/
    43   fits_table_set_DetReg (&db[0].ftable, subset, Nsubset);
    44   fits_db_save (db);
    45   fits_db_close (db);
    46   fits_db_free (db);
     43  gfits_table_set_DetReg (&db[0].ftable, subset, Nsubset);
     44  gfits_db_save (db);
     45  gfits_db_close (db);
     46  gfits_db_free (db);
    4747
    4848  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/detrend/image.c

    r2 r7080  
    1313
    1414  /* load options from the image header */
    15   if (!fits_read_header (filename, &header)) {
     15  if (!gfits_read_header (filename, &header)) {
    1616    if (output.verbose) fprintf (stderr, "ERROR: trouble reading image header\n");
    1717    exit (1);
     
    2525  if (!strcasecmp (ImageMode, "SPLIT")) {
    2626    ALLOCATE (ImageExtend, char, 80);
    27     if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ImageExtend)) {
     27    if (!gfits_scan (&header, CCDnumKeyword, "%s", 1, ImageExtend)) {
    2828      fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword);
    2929      exit (1);
     
    4343
    4444  /* get filter from header */
    45   if (!fits_scan (&header, FilterKeyword, "%s", 1, line)) {
     45  if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) {
    4646    fprintf (stderr, "ERROR: trouble reading FILTER from header\n");
    4747    exit (1);
     
    6161
    6262  /* get exptime from header */
    63   if (!fits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {
     63  if (!gfits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {
    6464    fprintf (stderr, "ERROR: trouble reading EXPTIME from header\n");
    6565    exit (1);
  • trunk/Ohana/src/imregister/detrend/imdef.c

    r6706 r7080  
    99
    1010  /* load remaining options from the image header */
    11   if (!fits_read_header (filename, &header)) {
     11  if (!gfits_read_header (filename, &header)) {
    1212    fprintf (stderr, "ERROR: trouble reading image header\n");
    1313    exit (1);
     
    1616  /* first decide on image TYPE */
    1717  if (descriptor[0].type == T_UNDEF) {
    18     if (!fits_scan (&header, ImagetypeKeyword, "%s", 1, line)) {
     18    if (!gfits_scan (&header, ImagetypeKeyword, "%s", 1, line)) {
    1919      fprintf (stderr, "ERROR: failure to read %s from header\n", ImagetypeKeyword);
    2020      exit (1);
     
    4343  descriptor[0].mode = M_SPLIT;
    4444  Extend = FALSE;
    45   fits_scan (&header, "EXTEND", "%t", 1, &Extend);
     45  gfits_scan (&header, "EXTEND", "%t", 1, &Extend);
    4646  if (Extend) {
    4747    descriptor[0].mode      = M_MEF;
    4848    descriptor[0].CCD       = Nccd;
    4949    descriptor[0].CCDSelect = TRUE;
    50     fits_scan (&header, "NEXTEND",  "%d", 1, &Nextend);
     50    gfits_scan (&header, "NEXTEND",  "%d", 1, &Nextend);
    5151    if (Nextend != Nccd) {
    5252      fprintf (stderr, "warning: NEXTEND != Nccd (%d, %d)\n", Nextend, Nccd);
     
    6666
    6767    descriptor[0].CCD = -1;
    68     if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) {
     68    if (!gfits_scan (&header, CCDnumKeyword, "%s", 1, ID)) {
    6969      fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword);
    7070      exit (1);
     
    8484  /* now get time range */
    8585  if (!descriptor[0].TimeSelect) {
    86     if (!fits_scan (&header, "TVSTART",   "%s", 1, line)) {
     86    if (!gfits_scan (&header, "TVSTART",   "%s", 1, line)) {
    8787      fprintf (stderr, "ERROR: missing start time\n");
    8888      exit (1);
     
    9393    }
    9494   
    95     if (!fits_scan (&header, "TVSTOP",   "%s", 1, line)) {
     95    if (!gfits_scan (&header, "TVSTOP",   "%s", 1, line)) {
    9696      fprintf (stderr, "ERROR: missing stop time\n");
    9797      exit (1);
     
    108108  if (descriptor[0].type == T_MASK) goto skip_filter;
    109109  if (descriptor[0].filter != FILTER_NONE) goto skip_filter;
    110   if (!fits_scan (&header, FilterKeyword, "%s", 1, line)) {
     110  if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) {
    111111    fprintf (stderr, "ERROR: failure to read %s from header\n", FilterKeyword);
    112112    exit (1);
     
    129129  }
    130130  if (!descriptor[0].ExptimeSelect && (descriptor[0].type == T_DARK)) {
    131     if (!fits_scan (&header, ExptimeKeyword,  "%f", 1, &descriptor[0].Exptime)) {
     131    if (!gfits_scan (&header, ExptimeKeyword,  "%f", 1, &descriptor[0].Exptime)) {
    132132      fprintf (stderr, "ERROR: failure to read %s from header\n", ExptimeKeyword);
    133133      exit (1);
     
    137137  /* set the image ID (if not supplied) based on the camera header */
    138138  if (descriptor[0].imageID == NULL) {
    139     if (fits_scan (&header, "CRUNID",   "%s", 1, line)) {
     139    if (gfits_scan (&header, "CRUNID",   "%s", 1, line)) {
    140140      descriptor[0].imageID = strcreate (line);
    141141    }
  • trunk/Ohana/src/imregister/detrend/modify.c

    r4864 r7080  
    4444
    4545  /** we may later want to pull this out and put it elsewhere **/
    46   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nmatch);
     46  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nmatch);
    4747  for (i = 0; i < Nmatch; i++) {
    48     fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
     48    gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);
    4949  }
    50   fits_db_update (db);
    51   fits_db_close (db);
    52   fits_db_free (db);
     50  gfits_db_update (db);
     51  gfits_db_close (db);
     52  gfits_db_free (db);
    5353
    5454  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/detrend/mosaic.c

    r3 r7080  
    1313
    1414  /* load options from the image header */
    15   if (!fits_read_header (filename, &header)) {
     15  if (!gfits_read_header (filename, &header)) {
    1616    if (output.verbose) fprintf (stderr, "ERROR: trouble reading image header\n");
    1717    exit (1);
     
    2323
    2424  /* get filter from header */
    25   if (!fits_scan (&header, FilterKeyword, "%s", 1, line)) {
     25  if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) {
    2626    fprintf (stderr, "ERROR: trouble reading FILTER from header\n");
    2727    exit (1);
     
    3939
    4040  /* get exptime from header */
    41   if (!fits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {
     41  if (!gfits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {
    4242    fprintf (stderr, "ERROR: trouble reading EXPTIME from header\n");
    4343    exit (1);
  • trunk/Ohana/src/imregister/detrend/output.c

    r3649 r7080  
    4343
    4444  /* create primary header */
    45   fits_init_header (&header);   
     45  gfits_init_header (&header);   
    4646  header.extend = TRUE;
    47   fits_create_header (&header);
    48   fits_create_matrix (&header, &matrix);
    49   fits_print (&header, "NEXTEND", "%d", 1, 1);
     47  gfits_create_header (&header);
     48  gfits_create_matrix (&header, &matrix);
     49  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    5050
    5151  ftable.header = &theader;
    52   fits_table_set_DetReg (&ftable, subset, Nmatch);
    53 
    54   fits_fwrite_header  (f, &header);
    55   fits_fwrite_matrix  (f, &matrix);
    56   fits_fwrite_Theader (f, &theader);
    57   fits_fwrite_table   (f, &ftable);
     52  gfits_table_set_DetReg (&ftable, subset, Nmatch);
     53
     54  gfits_fwrite_header  (f, &header);
     55  gfits_fwrite_matrix  (f, &matrix);
     56  gfits_fwrite_Theader (f, &theader);
     57  gfits_fwrite_table   (f, &ftable);
    5858  fclose (f);
    5959  exit (0);
     
    7373
    7474  /* create primary header */
    75   fits_init_header (&header);   
     75  gfits_init_header (&header);   
    7676  header.extend = TRUE;
    77   fits_create_header (&header);
    78   fits_create_matrix (&header, &matrix);
    79   fits_print (&header, "NEXTEND", "%d", 1, 1);
     77  gfits_create_header (&header);
     78  gfits_create_matrix (&header, &matrix);
     79  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    8080 
    8181  /* create table header */
    82   fits_create_table_header (&theader, "TABLE", "MASTER_DETREND");
     82  gfits_create_table_header (&theader, "TABLE", "MASTER_DETREND");
    8383     
    8484  /* add current date/time to header */
    8585  str_to_time ("now", &tsecond);
    8686  datestr = sec_to_date (tsecond);
    87   fits_modify (&header,  "DATE", "%s", 1, datestr);
    88   fits_modify (&theader, "DATE", "%s", 1, datestr);
     87  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     88  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    8989  free (datestr);
    9090
    9191  /* define table layout */
    92   fits_define_table_column (&theader, "A32",  "KEY",        "unique identifier",         "");
    93   fits_define_table_column (&theader, "A20",  "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
    94   fits_define_table_column (&theader, "A20",  "STOP_TIME",  "stop time of measurement",  "yyyy/mm/dd,hh:mm:ss");
    95   fits_define_table_column (&theader, "A20",  "REG_TIME",   "time of registration",      "yyyy/mm/dd,hh:mm:ss");
    96   fits_define_table_column (&theader, "F7.1", "EXPTIME",    "exposure time",             "seconds");
    97   fits_define_table_column (&theader, "A10",  "IMAGETYP",   "detrend type",              "");
    98   fits_define_table_column (&theader, "A10",  "FILTER",     "filter name",               "");
    99   fits_define_table_column (&theader, "A7",   "CCDINFO",    "ccd information",                  "");
    100   fits_define_table_column (&theader, "A7",   "MODE",       "data format mode",                  "");
    101   fits_define_table_column (&theader, "I3",   "VERSION",    "image version number",      "");
    102   fits_define_table_column (&theader, "I3",   "ORDER",      "selection order",           "");
    103   fits_define_table_column (&theader, "A64",  "LABEL",      "data label",                "");
    104   fits_define_table_column (&theader, "A256", "PATH",       "filename in db",            "");
     92  gfits_define_table_column (&theader, "A32",  "KEY",        "unique identifier",         "");
     93  gfits_define_table_column (&theader, "A20",  "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
     94  gfits_define_table_column (&theader, "A20",  "STOP_TIME",  "stop time of measurement",  "yyyy/mm/dd,hh:mm:ss");
     95  gfits_define_table_column (&theader, "A20",  "REG_TIME",   "time of registration",      "yyyy/mm/dd,hh:mm:ss");
     96  gfits_define_table_column (&theader, "F7.1", "EXPTIME",    "exposure time",             "seconds");
     97  gfits_define_table_column (&theader, "A10",  "IMAGETYP",   "detrend type",              "");
     98  gfits_define_table_column (&theader, "A10",  "FILTER",     "filter name",               "");
     99  gfits_define_table_column (&theader, "A7",   "CCDINFO",    "ccd information",                  "");
     100  gfits_define_table_column (&theader, "A7",   "MODE",       "data format mode",                  "");
     101  gfits_define_table_column (&theader, "I3",   "VERSION",    "image version number",      "");
     102  gfits_define_table_column (&theader, "I3",   "ORDER",      "selection order",           "");
     103  gfits_define_table_column (&theader, "A64",  "LABEL",      "data label",                "");
     104  gfits_define_table_column (&theader, "A256", "PATH",       "filename in db",            "");
    105105 
    106106  /* define TNULL, TNVAL values */
    107   fits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* KEY        */
    108   fits_modify (&theader, "TNULL2",  "%s", 1, "NULL");  /* START_TIME */
    109   fits_modify (&theader, "TNULL3",  "%s", 1, "NULL");  /* STOP_TIME  */
    110   fits_modify (&theader, "TNULL4",  "%s", 1, "NULL");  /* REG_TIME   */
    111   fits_modify (&theader, "TNULL5",  "%s", 1, "NaN");   /* EXPTIME    */
    112   fits_modify (&theader, "TNULL6",  "%s", 1, "NULL");  /* IMAGETYP   */
    113   fits_modify (&theader, "TNULL7",  "%s", 1, "NULL");  /* FILTER     */
    114   fits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* CCDINFO    */
    115   fits_modify (&theader, "TNULL9",  "%s", 1, "NULL");  /* MODE       */
    116   fits_modify (&theader, "TNULL10", "%s", 1, "-100");  /* VERSION    */
    117   fits_modify (&theader, "TNULL11", "%s", 1, "-100");  /* ORDER      */
    118   fits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* LABEL      */
    119   fits_modify (&theader, "TNULL13", "%s", 1, "NULL");  /* PATH       */
    120 
    121   fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* KEY        */
    122   fits_modify (&theader, "TNVAL2",  "%s", 1, "NA");    /* START_TIME */
    123   fits_modify (&theader, "TNVAL3",  "%s", 1, "NA");    /* STOP_TIME  */
    124   fits_modify (&theader, "TNVAL4",  "%s", 1, "NA");    /* REG_TIME   */
    125   fits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");   /* EXPTIME    */
    126   fits_modify (&theader, "TNVAL6",  "%s", 1, "NA");    /* IMAGETYP   */
    127   fits_modify (&theader, "TNVAL7",  "%s", 1, "NA");    /* FILTER     */
    128   fits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* CCDINFO    */
    129   fits_modify (&theader, "TNVAL9",  "%s", 1, "NA");    /* MODE       */
    130   fits_modify (&theader, "TNVAL10", "%s", 1, "-200");  /* VERSION    */
    131   fits_modify (&theader, "TNVAL11", "%s", 1, "-200");  /* ORDER      */
    132   fits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* LABEL      */
    133   fits_modify (&theader, "TNVAL13", "%s", 1, "NA");    /* PATH       */
     107  gfits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* KEY        */
     108  gfits_modify (&theader, "TNULL2",  "%s", 1, "NULL");  /* START_TIME */
     109  gfits_modify (&theader, "TNULL3",  "%s", 1, "NULL");  /* STOP_TIME  */
     110  gfits_modify (&theader, "TNULL4",  "%s", 1, "NULL");  /* REG_TIME   */
     111  gfits_modify (&theader, "TNULL5",  "%s", 1, "NaN");   /* EXPTIME    */
     112  gfits_modify (&theader, "TNULL6",  "%s", 1, "NULL");  /* IMAGETYP   */
     113  gfits_modify (&theader, "TNULL7",  "%s", 1, "NULL");  /* FILTER     */
     114  gfits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* CCDINFO    */
     115  gfits_modify (&theader, "TNULL9",  "%s", 1, "NULL");  /* MODE       */
     116  gfits_modify (&theader, "TNULL10", "%s", 1, "-100");  /* VERSION    */
     117  gfits_modify (&theader, "TNULL11", "%s", 1, "-100");  /* ORDER      */
     118  gfits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* LABEL      */
     119  gfits_modify (&theader, "TNULL13", "%s", 1, "NULL");  /* PATH       */
     120
     121  gfits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* KEY        */
     122  gfits_modify (&theader, "TNVAL2",  "%s", 1, "NA");    /* START_TIME */
     123  gfits_modify (&theader, "TNVAL3",  "%s", 1, "NA");    /* STOP_TIME  */
     124  gfits_modify (&theader, "TNVAL4",  "%s", 1, "NA");    /* REG_TIME   */
     125  gfits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");   /* EXPTIME    */
     126  gfits_modify (&theader, "TNVAL6",  "%s", 1, "NA");    /* IMAGETYP   */
     127  gfits_modify (&theader, "TNVAL7",  "%s", 1, "NA");    /* FILTER     */
     128  gfits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* CCDINFO    */
     129  gfits_modify (&theader, "TNVAL9",  "%s", 1, "NA");    /* MODE       */
     130  gfits_modify (&theader, "TNVAL10", "%s", 1, "-200");  /* VERSION    */
     131  gfits_modify (&theader, "TNVAL11", "%s", 1, "-200");  /* ORDER      */
     132  gfits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* LABEL      */
     133  gfits_modify (&theader, "TNVAL13", "%s", 1, "NA");    /* PATH       */
    134134
    135135  /* create table, add data values */
    136   fits_create_table (&theader, &table);
     136  gfits_create_table (&theader, &table);
    137137 
    138138  /* add data to table */
     
    165165    }
    166166
    167     line = fits_table_print (&table, key, startstr, stopstr, regstr,
     167    line = gfits_table_print (&table, key, startstr, stopstr, regstr,
    168168                             newdata[0].exptime, typestr, filtstr, ccdstr, modestr,
    169169                             newdata[0].Nentry, newdata[0].Norder,
    170170                             newdata[0].label, newdata[0].filename);
    171171
    172     fits_add_rows (&table, line, 1, strlen(line));
     172    gfits_add_rows (&table, line, 1, strlen(line));
    173173    free (line);
    174174    free (startstr);
     
    182182    return (FALSE);
    183183  }
    184   fits_fwrite_header  (f, &header);
    185   fits_fwrite_matrix  (f, &matrix);
    186   fits_fwrite_Theader (f, &theader);
    187   fits_fwrite_table   (f, &table);
     184  gfits_fwrite_header  (f, &header);
     185  gfits_fwrite_matrix  (f, &matrix);
     186  gfits_fwrite_Theader (f, &theader);
     187  gfits_fwrite_table   (f, &table);
    188188  fclose (f);
    189189  exit (0);
  • trunk/Ohana/src/imregister/imphot/db_load.c

    r4024 r7080  
    1616
    1717  /* init & load in FITS table data - return FALSE on error */
    18   if (!fits_fread_header (db[0].f, &db[0].header)) {
     18  if (!gfits_fread_header (db[0].f, &db[0].header)) {
    1919    fprintf (stderr, "can't read primary header\n");
    2020    return (FALSE);
    2121  }
    2222
    23   fits_scan (&db[0].header, "NAXIS",  "%d", 1, &Naxis);
    24   fits_scan (&db[0].header, "NAXIS1", "%d", 1, &Nx);
    25   fits_scan (&db[0].header, "NAXIS2", "%d", 1, &Ny);
     23  gfits_scan (&db[0].header, "NAXIS",  "%d", 1, &Naxis);
     24  gfits_scan (&db[0].header, "NAXIS1", "%d", 1, &Nx);
     25  gfits_scan (&db[0].header, "NAXIS2", "%d", 1, &Ny);
    2626 
    2727  mode = FITS;
  • trunk/Ohana/src/imregister/imphot/dumpfits.c

    r5014 r7080  
    2727
    2828  /* create primary header */
    29   fits_init_header (&header);   
     29  gfits_init_header (&header);   
    3030  header.extend = TRUE;
    31   fits_create_header (&header);
    32   fits_create_matrix (&header, &matrix);
    33   fits_print (&header, "NEXTEND", "%d", 1, 1);
     31  gfits_create_header (&header);
     32  gfits_create_matrix (&header, &matrix);
     33  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    3434
    3535  ftable.header = &theader;
    36   fits_table_set_Image (&ftable, subset, Nmatch);
     36  gfits_table_set_Image (&ftable, subset, Nmatch);
    3737
    38   fits_fwrite_header  (f, &header);
    39   fits_fwrite_matrix  (f, &matrix);
    40   fits_fwrite_Theader (f, &theader);
    41   fits_fwrite_table   (f, &ftable);
     38  gfits_fwrite_header  (f, &header);
     39  gfits_fwrite_matrix  (f, &matrix);
     40  gfits_fwrite_Theader (f, &theader);
     41  gfits_fwrite_table   (f, &ftable);
    4242  fclose (f);
    4343  exit (0);
     
    5858
    5959  /* create primary header */
    60   fits_init_header (&header);   
     60  gfits_init_header (&header);   
    6161  header.extend = TRUE;
    62   fits_create_header (&header);
    63   fits_create_matrix (&header, &matrix);
    64   fits_print (&header, "NEXTEND", "%d", 1, 1);
     62  gfits_create_header (&header);
     63  gfits_create_matrix (&header, &matrix);
     64  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    6565 
    6666  /* the ASCII table is always a little harder than the binary:
     
    6969
    7070  /* create table header */
    71   fits_create_table_header (&theader, "TABLE", "ZPTS");
     71  gfits_create_table_header (&theader, "TABLE", "ZPTS");
    7272
    7373  /* add current date/time to header */
    7474  str_to_time ("now", &tsecond);
    7575  datestr = sec_to_date (tsecond);
    76   fits_modify (&header,  "DATE", "%s", 1, datestr);
    77   fits_modify (&theader, "DATE", "%s", 1, datestr);
     76  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     77  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    7878 
    7979  /* define table layout */
    80   fits_define_table_column (&theader, "A20",   "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
    81   fits_define_table_column (&theader, "A10",   "FILTER",     "filter and camera name",    "");
    82   fits_define_table_column (&theader, "F8.4",  "ZP_OBS",     "measured zero point",       "mag");
    83   fits_define_table_column (&theader, "F7.4",  "ZP_ERR",     "error on zero point",       "mag");
    84   fits_define_table_column (&theader, "F11.6", "RA",         "RA (J2000)",                "dec. degrees");
    85   fits_define_table_column (&theader, "F11.6", "DEC",        "DEC (J2000)",               "dec. degrees");
    86   fits_define_table_column (&theader, "F7.3",  "C_AIRMASS",  "airmass coeff",             "mag per airmass");
    87   fits_define_table_column (&theader, "F7.1",  "SKY",        "median sky flux",           "counts");
    88   fits_define_table_column (&theader, "I6",    "NSTAR",      "Number of stars in image",  "stars");
     80  gfits_define_table_column (&theader, "A20",   "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
     81  gfits_define_table_column (&theader, "A10",   "FILTER",     "filter and camera name",    "");
     82  gfits_define_table_column (&theader, "F8.4",  "ZP_OBS",     "measured zero point",       "mag");
     83  gfits_define_table_column (&theader, "F7.4",  "ZP_ERR",     "error on zero point",       "mag");
     84  gfits_define_table_column (&theader, "F11.6", "RA",         "RA (J2000)",                "dec. degrees");
     85  gfits_define_table_column (&theader, "F11.6", "DEC",        "DEC (J2000)",               "dec. degrees");
     86  gfits_define_table_column (&theader, "F7.3",  "C_AIRMASS",  "airmass coeff",             "mag per airmass");
     87  gfits_define_table_column (&theader, "F7.1",  "SKY",        "median sky flux",           "counts");
     88  gfits_define_table_column (&theader, "I6",    "NSTAR",      "Number of stars in image",  "stars");
    8989
    9090  /* define TNULL, TNVAL values */
    91   fits_modify (&theader, "TNULL1",  "%s", 1, "NULL"); /* START_TIME */
    92   fits_modify (&theader, "TNULL2",  "%s", 1, "NULL"); /* FILTER     */
    93   fits_modify (&theader, "TNULL3",  "%s", 1, "NaN");  /* ZP_OBS     */
    94   fits_modify (&theader, "TNULL4",  "%s", 1, "NaN");  /* ZP_ERR     */
    95   fits_modify (&theader, "TNULL5",  "%s", 1, "NaN");  /* RA         */
    96   fits_modify (&theader, "TNULL6",  "%s", 1, "NaN");  /* DEC        */
    97   fits_modify (&theader, "TNULL7",  "%s", 1, "NaN");  /* C_AIRMASS  */
    98   fits_modify (&theader, "TNULL8",  "%s", 1, "NaN");  /* SKY        */
    99   fits_modify (&theader, "TNULL9",  "%s", 1,  "-1");  /* NSTAR      */
     91  gfits_modify (&theader, "TNULL1",  "%s", 1, "NULL"); /* START_TIME */
     92  gfits_modify (&theader, "TNULL2",  "%s", 1, "NULL"); /* FILTER     */
     93  gfits_modify (&theader, "TNULL3",  "%s", 1, "NaN");  /* ZP_OBS     */
     94  gfits_modify (&theader, "TNULL4",  "%s", 1, "NaN");  /* ZP_ERR     */
     95  gfits_modify (&theader, "TNULL5",  "%s", 1, "NaN");  /* RA         */
     96  gfits_modify (&theader, "TNULL6",  "%s", 1, "NaN");  /* DEC        */
     97  gfits_modify (&theader, "TNULL7",  "%s", 1, "NaN");  /* C_AIRMASS  */
     98  gfits_modify (&theader, "TNULL8",  "%s", 1, "NaN");  /* SKY        */
     99  gfits_modify (&theader, "TNULL9",  "%s", 1,  "-1");  /* NSTAR      */
    100100
    101   fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");   /* START_TIME */
    102   fits_modify (&theader, "TNVAL2",  "%s", 1, "NA");   /* FILTER     */
    103   fits_modify (&theader, "TNVAL3",  "%s", 1, "Inf");  /* ZP_OBS     */
    104   fits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");  /* ZP_ERR     */
    105   fits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");  /* RA         */
    106   fits_modify (&theader, "TNVAL6",  "%s", 1, "Inf");  /* DEC        */
    107   fits_modify (&theader, "TNVAL7",  "%s", 1, "Inf");  /* C_AIRMASS  */
    108   fits_modify (&theader, "TNVAL8",  "%s", 1, "Inf");  /* SKY        */
    109   fits_modify (&theader, "TNVAL9",  "%s", 1,  "-2");  /* NSTAR      */
     101  gfits_modify (&theader, "TNVAL1",  "%s", 1, "NA");   /* START_TIME */
     102  gfits_modify (&theader, "TNVAL2",  "%s", 1, "NA");   /* FILTER     */
     103  gfits_modify (&theader, "TNVAL3",  "%s", 1, "Inf");  /* ZP_OBS     */
     104  gfits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");  /* ZP_ERR     */
     105  gfits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");  /* RA         */
     106  gfits_modify (&theader, "TNVAL6",  "%s", 1, "Inf");  /* DEC        */
     107  gfits_modify (&theader, "TNVAL7",  "%s", 1, "Inf");  /* C_AIRMASS  */
     108  gfits_modify (&theader, "TNVAL8",  "%s", 1, "Inf");  /* SKY        */
     109  gfits_modify (&theader, "TNVAL9",  "%s", 1,  "-2");  /* NSTAR      */
    110110
    111111  /* add data to table */
     
    121121
    122122    /* we should get an error here if we don't construct this line correctly */
    123     line = fits_table_print (&ftable, startstr, filtstr, zp, dzp, ra, dec, airmass, sky, subset[0].nstar);
    124     fits_add_rows (&ftable, line, 1, strlen(line));
     123    line = gfits_table_print (&ftable, startstr, filtstr, zp, dzp, ra, dec, airmass, sky, subset[0].nstar);
     124    gfits_add_rows (&ftable, line, 1, strlen(line));
    125125    free (line);
    126126    free (startstr);
     
    133133    exit (1);
    134134  }
    135   fits_fwrite_header  (f, &header);
    136   fits_fwrite_matrix  (f, &matrix);
    137   fits_fwrite_Theader (f, &theader);
    138   fits_fwrite_table   (f, &ftable);
     135  gfits_fwrite_header  (f, &header);
     136  gfits_fwrite_matrix  (f, &matrix);
     137  gfits_fwrite_Theader (f, &theader);
     138  gfits_fwrite_table   (f, &ftable);
    139139  fclose (f);
    140140  return (TRUE);
  • trunk/Ohana/src/imregister/imphot/modify.c

    r4864 r7080  
    2828
    2929  /** we may later want to pull this out and put it elsewhere **/
    30   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
     30  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
    3131  for (i = 0; i < Nmatch; i++) {
    32     fits_convert_Image ((Image *) db[0].vtable.buffer[i], sizeof (Image), 1);
     32    gfits_convert_Image ((Image *) db[0].vtable.buffer[i], sizeof (Image), 1);
    3333  }
    34   fits_db_update (db);
    35   fits_db_close (db);
    36   fits_db_free (db);
     34  gfits_db_update (db);
     35  gfits_db_close (db);
     36  gfits_db_free (db);
    3737
    3838  exit (0);
  • trunk/Ohana/src/imregister/imphot/rfits.c

    r4024 r7080  
    99    return (FALSE);
    1010  }
    11   if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
     11  if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
    1212    fprintf (stderr, "can't read primary matrix");
    1313    return (FALSE);
    1414  }
    15   if (!fits_fread_header (db[0].f, &db[0].theader)) {
     15  if (!gfits_fread_header (db[0].f, &db[0].theader)) {
    1616    fprintf (stderr, "can't read table header");
    1717    return (FALSE);
    1818  }
    19   if (!fits_fread_ftable_data (db[0].f, &db[0].ftable)) {
     19  if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) {
    2020    fprintf (stderr, "can't read table data");
    2121    return (FALSE);
  • trunk/Ohana/src/imregister/imphot/rtext.c

    r4024 r7080  
    1010  /* check that file size makes sense */
    1111  Nimage = 0;
    12   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
     12  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
    1313  if (stat (db[0].filename, &filestatus) == -1) {
    1414    if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     
    2828  /* create a dummy set of table information */
    2929  /* (original table has NAXIS = 2, change to 0) */
    30   fits_modify (&db[0].header, "NAXIS", "%d", 1, 0);
    31   fits_create_matrix (&db[0].header, &db[0].matrix);
    32   fits_table_mkheader_Image (&db[0].theader);
     30  gfits_modify (&db[0].header, "NAXIS", "%d", 1, 0);
     31  gfits_create_matrix (&db[0].header, &db[0].matrix);
     32  gfits_table_mkheader_Image (&db[0].theader);
    3333  db[0].ftable.header = &db[0].theader;
    3434
     
    4141  }
    4242  db[0].ftable.buffer = (char *) image;
    43   fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
     43  gfits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
    4444  db[0].theader.Naxis[1] = Nimage;
    45   db[0].ftable.size = fits_matrix_size (&db[0].theader);
     45  db[0].ftable.size = gfits_matrix_size (&db[0].theader);
    4646 
    4747  return (TRUE);
  • trunk/Ohana/src/imregister/imreg/cadc.c

    r2803 r7080  
    3737
    3838  /* create primary header */
    39   fits_init_header (&header);   
     39  gfits_init_header (&header);   
    4040  header.extend = TRUE;
    41   fits_create_header (&header);
    42   fits_create_matrix (&header, &matrix);
    43   fits_print (&header, "NEXTEND", "%d", 1, 1);
     41  gfits_create_header (&header);
     42  gfits_create_matrix (&header, &matrix);
     43  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    4444 
    4545  /* create table header */
    46   fits_create_table_header (&theader, "TABLE", "CADC_RAW_IMAGES");
     46  gfits_create_table_header (&theader, "TABLE", "CADC_RAW_IMAGES");
    4747     
    4848  /* add current date/time to header */
    4949  str_to_time ("now", &tsecond);
    5050  datestr = sec_to_date (tsecond);
    51   fits_modify (&header,  "DATE", "%s", 1, datestr);
    52   fits_modify (&theader, "DATE", "%s", 1, datestr);
     51  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     52  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    5353
    5454  /* define table layout */
    55   fits_define_table_column (&theader, "A99",   "FILENAME",       "filename in db",                  "");
    56   fits_define_table_column (&theader, "A99",   "HDR_FILENAME",   "image header filename",           "");
    57   fits_define_table_column (&theader, "I10",   "OBSID",          "image ID number",                 "");
    58   fits_define_table_column (&theader, "F5.2",  "OBS_IQ_REFCCD",  "image quality on reference chip", "arcsec");
    59   fits_define_table_column (&theader, "F5.2",  "OBS_IQ_CENTER",  "image quality center region",     "arcsec");
    60   fits_define_table_column (&theader, "F5.2",  "OBS_IQ_R_RATIO", "IQ ratio (outer / center)",       "");
    61   fits_define_table_column (&theader, "F5.2",  "OBS_IQ_X_RATIO", "IQ ratio (left / right)",         "");
    62   fits_define_table_column (&theader, "F5.2",  "OBS_IQ_Y_RATIO", "IQ ratio (top / bottom)",         "");
    63   fits_define_table_column (&theader, "F9.3",  "OBS_BG_VAL",     "background level",                "counts / pixel");
     55  gfits_define_table_column (&theader, "A99",   "FILENAME",       "filename in db",                  "");
     56  gfits_define_table_column (&theader, "A99",   "HDR_FILENAME",   "image header filename",           "");
     57  gfits_define_table_column (&theader, "I10",   "OBSID",          "image ID number",                 "");
     58  gfits_define_table_column (&theader, "F5.2",  "OBS_IQ_REFCCD",  "image quality on reference chip", "arcsec");
     59  gfits_define_table_column (&theader, "F5.2",  "OBS_IQ_CENTER",  "image quality center region",     "arcsec");
     60  gfits_define_table_column (&theader, "F5.2",  "OBS_IQ_R_RATIO", "IQ ratio (outer / center)",       "");
     61  gfits_define_table_column (&theader, "F5.2",  "OBS_IQ_X_RATIO", "IQ ratio (left / right)",         "");
     62  gfits_define_table_column (&theader, "F5.2",  "OBS_IQ_Y_RATIO", "IQ ratio (top / bottom)",         "");
     63  gfits_define_table_column (&theader, "F9.3",  "OBS_BG_VAL",     "background level",                "counts / pixel");
    6464
    6565  /* define TNULL, TNVAL values */
    66   fits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* FILENAME       */
    67   fits_modify (&theader, "TNULL2",  "%s", 1, "NULL");  /* HDR_FILENAME   */
    68   fits_modify (&theader, "TNULL3",  "%s", 1, "0");     /* OBSID          */
    69   fits_modify (&theader, "TNULL4",  "%s", 1, "0.00");  /* OBS_IQ_REFCCD  */
    70   fits_modify (&theader, "TNULL5",  "%s", 1, "0.00");  /* OBS_IQ_CENTER  */
    71   fits_modify (&theader, "TNULL6",  "%s", 1, "0.00");  /* OBS_IQ_R_RATIO */
    72   fits_modify (&theader, "TNULL7",  "%s", 1, "0.00");  /* OBS_IQ_X_RATIO */
    73   fits_modify (&theader, "TNULL8",  "%s", 1, "0.00");  /* OBS_IQ_Y_RATIO */
    74   fits_modify (&theader, "TNULL9",  "%s", 1, "0.00");  /* OBS_BG_VAL     */
    75 
    76   fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* FILENAME     */
    77   fits_modify (&theader, "TNVAL2",  "%s", 1, "NA");    /* HDR_FILENAME */
    78   fits_modify (&theader, "TNVAL3",  "%s", 1, "-1");    /* OBSID        */
    79   fits_modify (&theader, "TNVAL4",  "%s", 1, "-1.00"); /* OBS_IQ_REFCCD  */
    80   fits_modify (&theader, "TNVAL5",  "%s", 1, "-1.00"); /* OBS_IQ_CENTER  */
    81   fits_modify (&theader, "TNVAL6",  "%s", 1, "-1.00"); /* OBS_IQ_R_RATIO */
    82   fits_modify (&theader, "TNVAL7",  "%s", 1, "-1.00"); /* OBS_IQ_X_RATIO */
    83   fits_modify (&theader, "TNVAL8",  "%s", 1, "-1.00"); /* OBS_IQ_Y_RATIO */
    84   fits_modify (&theader, "TNVAL9",  "%s", 1, "-1.00"); /* OBS_BG_VAL   */
     66  gfits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* FILENAME       */
     67  gfits_modify (&theader, "TNULL2",  "%s", 1, "NULL");  /* HDR_FILENAME   */
     68  gfits_modify (&theader, "TNULL3",  "%s", 1, "0");     /* OBSID          */
     69  gfits_modify (&theader, "TNULL4",  "%s", 1, "0.00");  /* OBS_IQ_REFCCD  */
     70  gfits_modify (&theader, "TNULL5",  "%s", 1, "0.00");  /* OBS_IQ_CENTER  */
     71  gfits_modify (&theader, "TNULL6",  "%s", 1, "0.00");  /* OBS_IQ_R_RATIO */
     72  gfits_modify (&theader, "TNULL7",  "%s", 1, "0.00");  /* OBS_IQ_X_RATIO */
     73  gfits_modify (&theader, "TNULL8",  "%s", 1, "0.00");  /* OBS_IQ_Y_RATIO */
     74  gfits_modify (&theader, "TNULL9",  "%s", 1, "0.00");  /* OBS_BG_VAL     */
     75
     76  gfits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* FILENAME     */
     77  gfits_modify (&theader, "TNVAL2",  "%s", 1, "NA");    /* HDR_FILENAME */
     78  gfits_modify (&theader, "TNVAL3",  "%s", 1, "-1");    /* OBSID        */
     79  gfits_modify (&theader, "TNVAL4",  "%s", 1, "-1.00"); /* OBS_IQ_REFCCD  */
     80  gfits_modify (&theader, "TNVAL5",  "%s", 1, "-1.00"); /* OBS_IQ_CENTER  */
     81  gfits_modify (&theader, "TNVAL6",  "%s", 1, "-1.00"); /* OBS_IQ_R_RATIO */
     82  gfits_modify (&theader, "TNVAL7",  "%s", 1, "-1.00"); /* OBS_IQ_X_RATIO */
     83  gfits_modify (&theader, "TNVAL8",  "%s", 1, "-1.00"); /* OBS_IQ_Y_RATIO */
     84  gfits_modify (&theader, "TNVAL9",  "%s", 1, "-1.00"); /* OBS_BG_VAL   */
    8585
    8686  /* create table, add data values */
    87   fits_create_table (&theader, &table);
     87  gfits_create_table (&theader, &table);
    8888 
    8989  /* prepare indicies to handle table data */
     
    111111    iqf = center * ARCSEC_PIXEL;
    112112    iqo = row[0].fwhm*ARCSEC_PIXEL;
    113     line = fits_table_print (&table, row[0].filename, hdrname, Obsid, iqo, iqf, iqr, iqx, iqy, row[0].sky);
    114 
    115     fits_add_rows (&table, line, 1, strlen(line));
     113    line = gfits_table_print (&table, row[0].filename, hdrname, Obsid, iqo, iqf, iqr, iqx, iqy, row[0].sky);
     114
     115    gfits_add_rows (&table, line, 1, strlen(line));
    116116    free (line);
    117117  }
     
    120120  free (entry);
    121121
    122   fits_write_header  (filename, &header);
    123   fits_write_matrix  (filename, &matrix);
    124   fits_write_Theader (filename, &theader);
    125   fits_write_table   (filename, &table);
     122  gfits_write_header  (filename, &header);
     123  gfits_write_matrix  (filename, &matrix);
     124  gfits_write_Theader (filename, &theader);
     125  gfits_write_table   (filename, &table);
    126126  exit (0);
    127127}
  • trunk/Ohana/src/imregister/imreg/delete.c

    r3606 r7080  
    2222  if (Ndel == 0) {
    2323    fprintf (stderr, "SUCCESS\n");
    24     fits_db_close (db);
     24    gfits_db_close (db);
    2525    exit (0);
    2626  }
     
    4141  /** we may later want to pull this out and put it elsewhere **/
    4242  /** free db[0].theader, db[0].table.buffer? **/
    43   fits_table_set_RegImage (&db[0].ftable, subset, Nsubset);
    44   fits_db_save (db);
    45   fits_db_close (db);
    46   fits_db_free (db);
     43  gfits_table_set_RegImage (&db[0].ftable, subset, Nsubset);
     44  gfits_db_save (db);
     45  gfits_db_close (db);
     46  gfits_db_free (db);
    4747
    4848  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/imreg/iminfo.c

    r3606 r7080  
    1919
    2020  /* load in FITS header from image */
    21   if (!fits_read_header (filename, &header)) {
     21  if (!gfits_read_header (filename, &header)) {
    2222    fprintf (stderr, "ERROR: can't find image file %s\n", filename);
    2323    exit (1);
     
    4242
    4343  /* determine data layout (SINGLE, SPLIT, MEF, CUBE, SLICE) */
    44   fits_scan (&header, "EXTEND",  "%t", 1, &extend);
    45   fits_scan (&header, "NAXIS",  "%d", 1, &Naxes);
     44  gfits_scan (&header, "EXTEND",  "%t", 1, &extend);
     45  gfits_scan (&header, "NAXIS",  "%d", 1, &Naxes);
    4646  if (extend) { /* MEF file */
    47     fits_scan (&header, "NEXTEND",  "%d", 1, &Nextend);
     47    gfits_scan (&header, "NEXTEND",  "%d", 1, &Nextend);
    4848    image[0].mode = M_MEF;
    4949    image[0].ccd  = Nextend;
     
    5151  /* need to distinguish MEF, CUBE, and MEF-CUBE */
    5252  if (Naxes == 3) { /* data cube */
    53     fits_scan (&header, "NAXIS3",  "%d", 1, &Nseq);
     53    gfits_scan (&header, "NAXIS3",  "%d", 1, &Nseq);
    5454    if (image[0].mode == M_MEF) {
    5555      fprintf (stderr, "MEF-CUBE not ready\n");
     
    5959    image[0].seq  = Nseq;
    6060    /* abstract this name somewhere ? */
    61     fits_scan (&header, "SEQTIME", "%f", 1, &image[0].seqtime);
     61    gfits_scan (&header, "SEQTIME", "%f", 1, &image[0].seqtime);
    6262  }
    6363  if (SingleIsSplit && (image[0].mode == M_SINGLE)) {
     
    6868
    6969  /* extract other relevant data from header */
    70   fits_scan (&header, ImagetypeKeyword,  "%s", 1, &Imagetype);
     70  gfits_scan (&header, ImagetypeKeyword,  "%s", 1, &Imagetype);
    7171
    7272  /* grab the image type : if not defined, set to 'none' */
     
    8080
    8181  /* grab interesting info from header */
    82   fits_scan (&header, ExptimeKeyword,    "%f", 1, &image[0].exptime);
    83   fits_scan (&header, AirmassKeyword,    "%f", 1, &image[0].airmass);
    84   fits_scan (&header, FocusKeyword,      "%f", 1, &image[0].telfocus);
    85   fits_scan (&header, Teldata1Keyword,   "%f", 1, &image[0].xprobe);
    86   fits_scan (&header, Teldata2Keyword,   "%f", 1, &image[0].yprobe);
    87   fits_scan (&header, Teldata3Keyword,   "%f", 1, &image[0].zprobe);
    88   fits_scan (&header, DettempKeyword,    "%f", 1, &image[0].dettemp);
    89   fits_scan (&header, RotationKeyword,   "%f", 1, &image[0].rotangle);
     82  gfits_scan (&header, ExptimeKeyword,    "%f", 1, &image[0].exptime);
     83  gfits_scan (&header, AirmassKeyword,    "%f", 1, &image[0].airmass);
     84  gfits_scan (&header, FocusKeyword,      "%f", 1, &image[0].telfocus);
     85  gfits_scan (&header, Teldata1Keyword,   "%f", 1, &image[0].xprobe);
     86  gfits_scan (&header, Teldata2Keyword,   "%f", 1, &image[0].yprobe);
     87  gfits_scan (&header, Teldata3Keyword,   "%f", 1, &image[0].zprobe);
     88  gfits_scan (&header, DettempKeyword,    "%f", 1, &image[0].dettemp);
     89  gfits_scan (&header, RotationKeyword,   "%f", 1, &image[0].rotangle);
    9090
    9191  /* force strings to fit in available space (32 bytes) */
    92   fits_scan (&header, CameraKeyword,     "%s", 1, line);
     92  gfits_scan (&header, CameraKeyword,     "%s", 1, line);
    9393  strncpy (image[0].instrument, line, 31);
    9494  image[0].instrument[31] = 0;
    9595
    96   fits_scan (&header, FilterKeyword, "%s", 1, line);
     96  gfits_scan (&header, FilterKeyword, "%s", 1, line);
    9797  MatchFilterList (line);
    9898  strncpy (image[0].filter, line, 31);
     
    101101  /* header has RA & DEC in decimal degrees */
    102102  if (RADecDegKeyword[0] & DECDecDegKeyword[0]) {
    103     fits_scan (&header, RADecDegKeyword,  "%f", 1, &image[0].ra);
    104     fits_scan (&header, DECDecDegKeyword, "%f", 1, &image[0].dec);
     103    gfits_scan (&header, RADecDegKeyword,  "%f", 1, &image[0].ra);
     104    gfits_scan (&header, DECDecDegKeyword, "%f", 1, &image[0].dec);
    105105  } else {
    106106    if (RASexigKeyword[0] & DECSexigKeyword[0]) {
    107       fits_scan (&header, RASexigKeyword,  "%s", 1, line);
     107      gfits_scan (&header, RASexigKeyword,  "%s", 1, line);
    108108      dms_to_ddd (&tmp, line);
    109109      image[0].ra = 15*tmp;
    110       fits_scan (&header, DECSexigKeyword, "%s", 1, &line);
     110      gfits_scan (&header, DECSexigKeyword, "%s", 1, &line);
    111111      dms_to_ddd (&tmp, line);
    112112      image[0].dec = tmp;
  • trunk/Ohana/src/imregister/imreg/imregclient.c

    r4864 r7080  
    6363  db.lockstate = LCK_HARD;
    6464  db.timeout   = 300.0;
    65   fits_db_init (&db);
     65  gfits_db_init (&db);
    6666
    67   if (!fits_db_lock (&db, TempDB)) {
     67  if (!gfits_db_lock (&db, TempDB)) {
    6868    fprintf (stderr, "ERROR: failure to lock db\n");
    69     fits_db_close (&db);
     69    gfits_db_close (&db);
    7070    exit (1);
    7171  }
    7272  if (db.dbstate == LCK_EMPTY) {
    73     fits_db_create (&db);
    74     fits_table_set_RegImage (&db.ftable, NULL, 0);
     73    gfits_db_create (&db);
     74    gfits_table_set_RegImage (&db.ftable, NULL, 0);
    7575  } else { 
    76     if (!fits_db_load (&db)) {
     76    if (!gfits_db_load (&db)) {
    7777      fprintf (stderr, "ERROR: failure to load db\n");
    78       fits_db_close (&db);
     78      gfits_db_close (&db);
    7979      exit (1);
    8080    }
    8181  }
    8282
    83   fits_convert_RegImage (image, sizeof (RegImage), Nentry);
    84   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    85   fits_vadd_rows (&db.vtable, (char *) image, Nentry, sizeof(RegImage));
     83  gfits_convert_RegImage (image, sizeof (RegImage), Nentry);
     84  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     85  gfits_vadd_rows (&db.vtable, (char *) image, Nentry, sizeof(RegImage));
    8686
    87   fits_db_update (&db);
    88   fits_db_close (&db);
    89   fits_db_free (&db);
     87  gfits_db_update (&db);
     88  gfits_db_close (&db);
     89  gfits_db_free (&db);
    9090
    9191  fprintf (stderr, "SUCCESS: wrote temp image data\n");
  • trunk/Ohana/src/imregister/imreg/modify.c

    r4864 r7080  
    7878
    7979  /** we may later want to pull this out and put it elsewhere **/
    80   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
     80  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
    8181  for (i = 0; i < Nmatch; i++) {
    82     fits_convert_RegImage ((RegImage *) db[0].vtable.buffer[i], sizeof (RegImage), 1);
     82    gfits_convert_RegImage ((RegImage *) db[0].vtable.buffer[i], sizeof (RegImage), 1);
    8383  }
    84   fits_db_update (db);
    85   fits_db_close (db);
    86   fits_db_free (db);
     84  gfits_db_update (db);
     85  gfits_db_close (db);
     86  gfits_db_free (db);
    8787
    8888  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/imreg/output.c

    r3606 r7080  
    7070
    7171  /* create primary header */
    72   fits_init_header (&header);   
     72  gfits_init_header (&header);   
    7373  header.extend = TRUE;
    74   fits_create_header (&header);
    75   fits_create_matrix (&header, &matrix);
    76   fits_print (&header, "NEXTEND", "%d", 1, 1);
     74  gfits_create_header (&header);
     75  gfits_create_matrix (&header, &matrix);
     76  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    7777
    7878  ftable.header = &theader;
    79   fits_table_set_RegImage (&ftable, subset, Nmatch);
    80 
    81   fits_fwrite_header  (f, &header);
    82   fits_fwrite_matrix  (f, &matrix);
    83   fits_fwrite_Theader (f, &theader);
    84   fits_fwrite_table   (f, &ftable);
     79  gfits_table_set_RegImage (&ftable, subset, Nmatch);
     80
     81  gfits_fwrite_header  (f, &header);
     82  gfits_fwrite_matrix  (f, &matrix);
     83  gfits_fwrite_Theader (f, &theader);
     84  gfits_fwrite_table   (f, &ftable);
    8585  fclose (f);
    8686  exit (0);
     
    102102
    103103  /* create primary header */
    104   fits_init_header (&header);   
     104  gfits_init_header (&header);   
    105105  header.extend = TRUE;
    106   fits_create_header (&header);
    107   fits_create_matrix (&header, &matrix);
    108   fits_print (&header, "NEXTEND", "%d", 1, 1);
     106  gfits_create_header (&header);
     107  gfits_create_matrix (&header, &matrix);
     108  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    109109 
    110110  /* create table header */
    111   fits_create_table_header (&theader, "TABLE", "IMAGE_DATABASE");
     111  gfits_create_table_header (&theader, "TABLE", "IMAGE_DATABASE");
    112112     
    113113  /* add current date/time to header */
    114114  str_to_time ("now", &tsecond);
    115115  datestr = sec_to_date (tsecond);
    116   fits_modify (&header,  "DATE", "%s", 1, datestr);
    117   fits_modify (&theader, "DATE", "%s", 1, datestr);
     116  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     117  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    118118
    119119  /* define table layout */
    120   fits_define_table_column (&theader, "A64",   "FILE",       "filename in db",        "");
    121   fits_define_table_column (&theader, "A128",  "PATH",       "fullpath in db",        "");
    122   fits_define_table_column (&theader, "A32",   "FILTER",     "filter name",           "");
    123   fits_define_table_column (&theader, "A32",   "INSTRUMENT", "instrument",            "");
    124   fits_define_table_column (&theader, "A6",    "CCD",        "ccd identifier",        "");
    125   fits_define_table_column (&theader, "A6",    "MODE",       "mef/split/etc",         "");
    126   fits_define_table_column (&theader, "A8",    "TYPE",       "object/flat/bias/etc",  "");
    127   fits_define_table_column (&theader, "A25",   "JUNK",       "space for expansion",   "");
    128   fits_define_table_column (&theader, "F6.1",  "EXPTIME",    "exposure time",        "seconds");
    129   fits_define_table_column (&theader, "F5.3",  "AIRMASS",    "airmass",              "");
    130   fits_define_table_column (&theader, "F7.1",  "SKY",        "background level",     "counts / pixel");
    131   fits_define_table_column (&theader, "F6.1",  "BIAS",       "bias level",           "counts / pixel");
    132   fits_define_table_column (&theader, "F5.2",  "FWHM",       "image quality",        "pixels");
    133   fits_define_table_column (&theader, "F5.1",  "TELFOCUS",   "telescope focus",      "microns");
    134   fits_define_table_column (&theader, "F5.1",  "XPROBE",     "bonnette probe x pos", "microns");
    135   fits_define_table_column (&theader, "F5.1",  "YPROBE",     "bonnette probe y pos", "microns");
    136   fits_define_table_column (&theader, "F5.1",  "ZPROBE",     "bonnette focus",       "microns");
    137   fits_define_table_column (&theader, "F5.1",  "DETTEMP",    "detector temperature", "deg celcius");
    138   fits_define_table_column (&theader, "F5.1",  "TELTEMP0",   "other temperature",    "deg celcius");
    139   fits_define_table_column (&theader, "F5.1",  "TELTEMP1",   "other temperature",    "deg celcius");
    140   fits_define_table_column (&theader, "F5.1",  "TELTEMP2",   "other temperature",    "deg celcius");
    141   fits_define_table_column (&theader, "F5.1",  "TELTEMP3",   "other temperature",    "deg celcius");
    142   fits_define_table_column (&theader, "F5.1",  "ROTANGLE",   "camear rotation angle", "degrees");
    143   fits_define_table_column (&theader, "F10.6", "RA",         "image ra",              "degrees");
    144   fits_define_table_column (&theader, "F10.6", "DEC",        "image dec",             "degrees");
    145   fits_define_table_column (&theader, "A20",   "OBS_TIME",   "time of measurement",   "seconds since Jan 1, 1970 UT");
    146   fits_define_table_column (&theader, "A20",   "REG_TIME",   "time of registration",  "seconds since Jan 1, 1970 UT");
     120  gfits_define_table_column (&theader, "A64",   "FILE",       "filename in db",        "");
     121  gfits_define_table_column (&theader, "A128",  "PATH",       "fullpath in db",        "");
     122  gfits_define_table_column (&theader, "A32",   "FILTER",     "filter name",           "");
     123  gfits_define_table_column (&theader, "A32",   "INSTRUMENT", "instrument",            "");
     124  gfits_define_table_column (&theader, "A6",    "CCD",        "ccd identifier",        "");
     125  gfits_define_table_column (&theader, "A6",    "MODE",       "mef/split/etc",         "");
     126  gfits_define_table_column (&theader, "A8",    "TYPE",       "object/flat/bias/etc",  "");
     127  gfits_define_table_column (&theader, "A25",   "JUNK",       "space for expansion",   "");
     128  gfits_define_table_column (&theader, "F6.1",  "EXPTIME",    "exposure time",        "seconds");
     129  gfits_define_table_column (&theader, "F5.3",  "AIRMASS",    "airmass",              "");
     130  gfits_define_table_column (&theader, "F7.1",  "SKY",        "background level",     "counts / pixel");
     131  gfits_define_table_column (&theader, "F6.1",  "BIAS",       "bias level",           "counts / pixel");
     132  gfits_define_table_column (&theader, "F5.2",  "FWHM",       "image quality",        "pixels");
     133  gfits_define_table_column (&theader, "F5.1",  "TELFOCUS",   "telescope focus",      "microns");
     134  gfits_define_table_column (&theader, "F5.1",  "XPROBE",     "bonnette probe x pos", "microns");
     135  gfits_define_table_column (&theader, "F5.1",  "YPROBE",     "bonnette probe y pos", "microns");
     136  gfits_define_table_column (&theader, "F5.1",  "ZPROBE",     "bonnette focus",       "microns");
     137  gfits_define_table_column (&theader, "F5.1",  "DETTEMP",    "detector temperature", "deg celcius");
     138  gfits_define_table_column (&theader, "F5.1",  "TELTEMP0",   "other temperature",    "deg celcius");
     139  gfits_define_table_column (&theader, "F5.1",  "TELTEMP1",   "other temperature",    "deg celcius");
     140  gfits_define_table_column (&theader, "F5.1",  "TELTEMP2",   "other temperature",    "deg celcius");
     141  gfits_define_table_column (&theader, "F5.1",  "TELTEMP3",   "other temperature",    "deg celcius");
     142  gfits_define_table_column (&theader, "F5.1",  "ROTANGLE",   "camear rotation angle", "degrees");
     143  gfits_define_table_column (&theader, "F10.6", "RA",         "image ra",              "degrees");
     144  gfits_define_table_column (&theader, "F10.6", "DEC",        "image dec",             "degrees");
     145  gfits_define_table_column (&theader, "A20",   "OBS_TIME",   "time of measurement",   "seconds since Jan 1, 1970 UT");
     146  gfits_define_table_column (&theader, "A20",   "REG_TIME",   "time of registration",  "seconds since Jan 1, 1970 UT");
    147147
    148148  /* create table, add data values */
    149   fits_create_table (&theader, &table);
     149  gfits_create_table (&theader, &table);
    150150 
    151151  /* add data to table */
     
    158158    ccdstr   = ccds[(int)subset[0].ccd];
    159159
    160     line = fits_table_print (&table, subset[0].pathname, subset[0].filename,
     160    line = gfits_table_print (&table, subset[0].pathname, subset[0].filename,
    161161                             subset[0].filter, subset[0].instrument, ccdstr,
    162162                             modestr, typestr, dummy,
     
    170170                             obsstr, regstr);
    171171
    172     fits_add_rows (&table, line, 1, strlen(line));
     172    gfits_add_rows (&table, line, 1, strlen(line));
    173173    free (line);
    174174    free (obsstr);
     
    176176  }
    177177
    178   fits_write_header  (filename, &header);
    179   fits_write_matrix  (filename, &matrix);
    180   fits_write_Theader (filename, &theader);
    181   fits_write_table   (filename, &table);
     178  gfits_write_header  (filename, &header);
     179  gfits_write_matrix  (filename, &matrix);
     180  gfits_write_Theader (filename, &theader);
     181  gfits_write_table   (filename, &table);
    182182  exit (0);
    183183}
  • trunk/Ohana/src/imregister/include/imregister.h

    r4837 r7080  
    9292
    9393void warn_scan (Header *header, char *field, char *format, int N, void *var);
    94 int fits_scan_nchar (Header *header, int size, char *field, int N,...);
     94int gfits_scan_nchar (Header *header, int size, char *field, int N,...);
    9595void warn_scan_nchar (Header *header, int size, char *field, int N, void *var);
    9696
  • trunk/Ohana/src/imregister/photreg/delete.c

    r3536 r7080  
    2323  if (Ndel == 0) {
    2424    fprintf (stderr, "SUCCESS\n");
    25     fits_db_close (db);
    26     fits_db_free (db);
     25    gfits_db_close (db);
     26    gfits_db_free (db);
    2727    exit (0);
    2828  }
     
    3838  }
    3939
    40   fits_table_set_PhotPars (&db[0].ftable, subset, Nsubset);
    41   fits_db_save (db);
    42   fits_db_close (db);
    43   fits_db_free (db);
     40  gfits_table_set_PhotPars (&db[0].ftable, subset, Nsubset);
     41  gfits_db_save (db);
     42  gfits_db_close (db);
     43  gfits_db_free (db);
    4444
    4545  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/photreg/getImageData.c

    r2803 r7080  
    1111
    1212  /* load options from the image header */
    13   if (!fits_read_header (Image, &header)) {
     13  if (!gfits_read_header (Image, &header)) {
    1414    if (output.verbose) fprintf (stderr, "ERR: trouble reading image header\n");
    1515    exit (1);
     
    2525  /** determine photcode from header **/
    2626  /* get camera */
    27   fits_scan (&header, CameraKeyword, "%s", 1, detector);
     27  gfits_scan (&header, CameraKeyword, "%s", 1, detector);
    2828  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
    2929  for (i = 0; i < strlen(detector); i++) { if (isspace (detector[i])) detector[i] = '.'; }
     
    3131  /* get filter */
    3232  Nfilter = FILTER_NONE;
    33   fits_scan (&header, FilterKeyword,   "%s", 1, filter);
     33  gfits_scan (&header, FilterKeyword,   "%s", 1, filter);
    3434  for (i = 0; i < strlen (filter); i++) { if (isspace (filter[i])) filter[i] = '.'; }
    3535  for (i = 0; (i < NFILTER) && (Nfilter == FILTER_NONE); i++) {
     
    5252   } else {
    5353     ccd = -1;
    54      fits_scan (&header, CCDnumKeyword,  "%d", 1, &ccd);
     54     gfits_scan (&header, CCDnumKeyword,  "%d", 1, &ccd);
    5555   } 
    5656   if (ccd == -1) {
  • trunk/Ohana/src/imregister/photreg/output.c

    r5386 r7080  
    4848
    4949  /* create primary header */
    50   fits_init_header (&header);   
     50  gfits_init_header (&header);   
    5151  header.extend = TRUE;
    52   fits_create_header (&header);
    53   fits_create_matrix (&header, &matrix);
    54   fits_print (&header, "NEXTEND", "%d", 1, 1);
     52  gfits_create_header (&header);
     53  gfits_create_matrix (&header, &matrix);
     54  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    5555
    5656  ftable.header = &theader;
    57   fits_table_set_PhotPars (&ftable, subset, Nmatch);
     57  gfits_table_set_PhotPars (&ftable, subset, Nmatch);
    5858
    5959  /* EXTNAME is set to ZERO_POINTS_3.0 by default */
    6060  if (!strcmp (output.db, "trans")) {
    61     fits_modify (&theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");
    62   }
    63 
    64   fits_write_header  (filename, &header);
    65   fits_write_matrix  (filename, &matrix);
    66   fits_write_Theader (filename, &theader);
    67   fits_write_table   (filename, &ftable);
     61    gfits_modify (&theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");
     62  }
     63
     64  gfits_write_header  (filename, &header);
     65  gfits_write_matrix  (filename, &matrix);
     66  gfits_write_Theader (filename, &theader);
     67  gfits_write_table   (filename, &ftable);
    6868  fclose (f);
    6969  exit (0);
     
    8484
    8585  /* create primary header */
    86   fits_init_header (&header);   
     86  gfits_init_header (&header);   
    8787  header.extend = TRUE;
    88   fits_create_header (&header);
    89   fits_create_matrix (&header, &matrix);
    90   fits_print (&header, "NEXTEND", "%d", 1, 1);
     88  gfits_create_header (&header);
     89  gfits_create_matrix (&header, &matrix);
     90  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    9191 
    9292  /* create table header */
     
    9696    extname = strcreate ("SUMMARY_ZPTS");
    9797  }
    98   fits_create_table_header (&theader, "TABLE", extname);
     98  gfits_create_table_header (&theader, "TABLE", extname);
    9999   
    100100  /* add current date/time to header */
    101101  str_to_time ("now", &tsecond);
    102102  datestr = sec_to_date ((unsigned int) tsecond);
    103   fits_modify (&header,  "DATE", "%s", 1, datestr);
    104   fits_modify (&theader, "DATE", "%s", 1, datestr);
     103  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     104  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    105105  free (datestr);
    106106     
    107107  /* define table layout */
    108   fits_define_table_column (&theader, "F8.4", "ZP_OBS",       "measured zero point",       "mag");
    109   fits_define_table_column (&theader, "F8.4", "ZP_REF",       "nominal zero point",        "mag");
    110   fits_define_table_column (&theader, "F7.4", "ZP_ERR",       "error on zero point",       "mag");
    111   fits_define_table_column (&theader, "F7.3", "C_AIRMASS",    "airmass coeff",             "mag per airmass");
    112   fits_define_table_column (&theader, "F6.3", "C_COLOR",      "color coeff",               "mag per mag");
    113   fits_define_table_column (&theader, "A20",  "START_TIME",   "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
    114   fits_define_table_column (&theader, "A20",  "STOP_TIME",    "stop time of measurement",  "yyyy/mm/dd,hh:mm:ss");
    115   fits_define_table_column (&theader, "A12",  "C1_NAME",      "filter 1 for color",        "");
    116   fits_define_table_column (&theader, "A12",  "C2_NAME",      "filter 2 for color",        "");
    117   fits_define_table_column (&theader, "I6",   "NSTARS",       "number of stars used",      "");
    118   fits_define_table_column (&theader, "I6",   "NTIMES",       "number of unique images",   "");
    119   fits_define_table_column (&theader, "A12",  "INT_PHOT_SYS", "internal photom system",    "");
    120   fits_define_table_column (&theader, "A12",  "REF_PHOT_SYS", "reference photom system",   "");
    121   fits_define_table_column (&theader, "A70",  "LABEL",        "data label",                "");
     108  gfits_define_table_column (&theader, "F8.4", "ZP_OBS",       "measured zero point",       "mag");
     109  gfits_define_table_column (&theader, "F8.4", "ZP_REF",       "nominal zero point",        "mag");
     110  gfits_define_table_column (&theader, "F7.4", "ZP_ERR",       "error on zero point",       "mag");
     111  gfits_define_table_column (&theader, "F7.3", "C_AIRMASS",    "airmass coeff",             "mag per airmass");
     112  gfits_define_table_column (&theader, "F6.3", "C_COLOR",      "color coeff",               "mag per mag");
     113  gfits_define_table_column (&theader, "A20",  "START_TIME",   "start time of measurement", "yyyy/mm/dd,hh:mm:ss");
     114  gfits_define_table_column (&theader, "A20",  "STOP_TIME",    "stop time of measurement",  "yyyy/mm/dd,hh:mm:ss");
     115  gfits_define_table_column (&theader, "A12",  "C1_NAME",      "filter 1 for color",        "");
     116  gfits_define_table_column (&theader, "A12",  "C2_NAME",      "filter 2 for color",        "");
     117  gfits_define_table_column (&theader, "I6",   "NSTARS",       "number of stars used",      "");
     118  gfits_define_table_column (&theader, "I6",   "NTIMES",       "number of unique images",   "");
     119  gfits_define_table_column (&theader, "A12",  "INT_PHOT_SYS", "internal photom system",    "");
     120  gfits_define_table_column (&theader, "A12",  "REF_PHOT_SYS", "reference photom system",   "");
     121  gfits_define_table_column (&theader, "A70",  "LABEL",        "data label",                "");
    122122 
    123123  /* define TNULL, TNVAL values */
    124   fits_modify (&theader, "TNULL1",  "%s", 1, "NaN");   /* ZP_OBS     */
    125   fits_modify (&theader, "TNULL2",  "%s", 1, "NaN");   /* ZP_REF     */
    126   fits_modify (&theader, "TNULL3",  "%s", 1, "NaN");   /* ZP_ERR     */
    127   fits_modify (&theader, "TNULL4",  "%s", 1, "NaN");   /* C_AIRMASS  */
    128   fits_modify (&theader, "TNULL5",  "%s", 1, "NaN");   /* C_COLOR    */
    129   fits_modify (&theader, "TNULL6",  "%s", 1, "NULL");  /* START_TIME */
    130   fits_modify (&theader, "TNULL7",  "%s", 1, "NULL");  /* STOP_TIME  */
    131   fits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* C1_NAME    */
    132   fits_modify (&theader, "TNULL9",  "%s", 1, "NULL");  /* C2_NAME    */
    133   fits_modify (&theader, "TNULL10", "%s", 1, "NULL");  /* NSTARS     */
    134   fits_modify (&theader, "TNULL11", "%s", 1, "NULL");  /* NTIMES     */
    135   fits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* INT_PHOT_SYS */
    136   fits_modify (&theader, "TNULL13", "%s", 1, "NULL");  /* REF_PHOT_SYS */
    137   fits_modify (&theader, "TNULL14", "%s", 1, "NULL");  /* LABEL      */
    138 
    139   fits_modify (&theader, "TNVAL1",  "%s", 1, "Inf");   /* ZP_OBS       */
    140   fits_modify (&theader, "TNVAL2",  "%s", 1, "Inf");   /* ZP_REF       */
    141   fits_modify (&theader, "TNVAL3",  "%s", 1, "Inf");   /* ZP_ERR       */
    142   fits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");   /* C_AIRMASS    */
    143   fits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");   /* C_COLOR      */
    144   fits_modify (&theader, "TNVAL6",  "%s", 1, "NA");    /* START_TIME   */
    145   fits_modify (&theader, "TNVAL7",  "%s", 1, "NA");    /* STOP_TIME    */
    146   fits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* C1_NAME      */
    147   fits_modify (&theader, "TNVAL9",  "%s", 1, "NA");    /* C2_NAME      */
    148   fits_modify (&theader, "TNVAL10", "%s", 1, "NA");    /* NSTARS       */
    149   fits_modify (&theader, "TNVAL11", "%s", 1, "NA");    /* NTIMES       */
    150   fits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* INT_PHOT_SYS */
    151   fits_modify (&theader, "TNVAL13", "%s", 1, "NA");    /* REF_PHOT_SYS */
    152   fits_modify (&theader, "TNVAL14", "%s", 1, "NA");    /* LABEL        */
     124  gfits_modify (&theader, "TNULL1",  "%s", 1, "NaN");   /* ZP_OBS     */
     125  gfits_modify (&theader, "TNULL2",  "%s", 1, "NaN");   /* ZP_REF     */
     126  gfits_modify (&theader, "TNULL3",  "%s", 1, "NaN");   /* ZP_ERR     */
     127  gfits_modify (&theader, "TNULL4",  "%s", 1, "NaN");   /* C_AIRMASS  */
     128  gfits_modify (&theader, "TNULL5",  "%s", 1, "NaN");   /* C_COLOR    */
     129  gfits_modify (&theader, "TNULL6",  "%s", 1, "NULL");  /* START_TIME */
     130  gfits_modify (&theader, "TNULL7",  "%s", 1, "NULL");  /* STOP_TIME  */
     131  gfits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* C1_NAME    */
     132  gfits_modify (&theader, "TNULL9",  "%s", 1, "NULL");  /* C2_NAME    */
     133  gfits_modify (&theader, "TNULL10", "%s", 1, "NULL");  /* NSTARS     */
     134  gfits_modify (&theader, "TNULL11", "%s", 1, "NULL");  /* NTIMES     */
     135  gfits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* INT_PHOT_SYS */
     136  gfits_modify (&theader, "TNULL13", "%s", 1, "NULL");  /* REF_PHOT_SYS */
     137  gfits_modify (&theader, "TNULL14", "%s", 1, "NULL");  /* LABEL      */
     138
     139  gfits_modify (&theader, "TNVAL1",  "%s", 1, "Inf");   /* ZP_OBS       */
     140  gfits_modify (&theader, "TNVAL2",  "%s", 1, "Inf");   /* ZP_REF       */
     141  gfits_modify (&theader, "TNVAL3",  "%s", 1, "Inf");   /* ZP_ERR       */
     142  gfits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");   /* C_AIRMASS    */
     143  gfits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");   /* C_COLOR      */
     144  gfits_modify (&theader, "TNVAL6",  "%s", 1, "NA");    /* START_TIME   */
     145  gfits_modify (&theader, "TNVAL7",  "%s", 1, "NA");    /* STOP_TIME    */
     146  gfits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* C1_NAME      */
     147  gfits_modify (&theader, "TNVAL9",  "%s", 1, "NA");    /* C2_NAME      */
     148  gfits_modify (&theader, "TNVAL10", "%s", 1, "NA");    /* NSTARS       */
     149  gfits_modify (&theader, "TNVAL11", "%s", 1, "NA");    /* NTIMES       */
     150  gfits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* INT_PHOT_SYS */
     151  gfits_modify (&theader, "TNVAL13", "%s", 1, "NA");    /* REF_PHOT_SYS */
     152  gfits_modify (&theader, "TNVAL14", "%s", 1, "NA");    /* LABEL        */
    153153
    154154  /* create table, add data values */
    155   fits_create_table (&theader, &table);
     155  gfits_create_table (&theader, &table);
    156156 
    157157  /* add data to table */
     
    169169    if (c2      == (char *) NULL) c2      = PhotNA;
    170170
    171     line = fits_table_print (&table, newdata[0].ZP, newdata[0].ZPo, newdata[0].dZP,
     171    line = gfits_table_print (&table, newdata[0].ZP, newdata[0].ZPo, newdata[0].dZP,
    172172              newdata[0].K, newdata[0].X, startstr, stopstr,
    173173              c1, c2, newdata[0].Nmeas, newdata[0].Ntime, code, photsys, newdata[0].label);
    174     if (!fits_add_rows (&table, line, 1, strlen(line))) {
     174    if (!gfits_add_rows (&table, line, 1, strlen(line))) {
    175175      fprintf (stderr, "error writing dataline");
    176176      exit (1);
     
    187187    exit (1);
    188188  }
    189   fits_fwrite_header  (f, &header);
    190   fits_fwrite_matrix  (f, &matrix);
    191   fits_fwrite_Theader (f, &theader);
    192   fits_fwrite_table   (f, &table);
     189  gfits_fwrite_header  (f, &header);
     190  gfits_fwrite_matrix  (f, &matrix);
     191  gfits_fwrite_Theader (f, &theader);
     192  gfits_fwrite_table   (f, &table);
    193193  fclose (f);
    194194  exit (0);
  • trunk/Ohana/src/imregister/spreg/delete.c

    r3650 r7080  
    2222  if (Nbad == 0) {
    2323    fprintf (stderr, "SUCCESS\n");
    24     fits_db_close (db);
     24    gfits_db_close (db);
    2525    exit (0);
    2626  }
     
    3939  /** we may later want to pull this out and put it elsewhere **/
    4040  /** free db[0].theader, db[0].table.buffer? **/
    41   fits_table_set_Spectrum (&db[0].ftable, subset, Nsubset);
    42   fits_db_save (db);
    43   fits_db_close (db);
    44   fits_db_free (db);
     41  gfits_table_set_Spectrum (&db[0].ftable, subset, Nsubset);
     42  gfits_db_save (db);
     43  gfits_db_close (db);
     44  gfits_db_free (db);
    4545
    4646  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/spreg/modify.c

    r4864 r7080  
    3838
    3939  /** we may later want to pull this out and put it elsewhere **/
    40   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
     40  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);
    4141  for (i = 0; i < Nmatch; i++) {
    42     fits_convert_Spectrum ((Spectrum *) db[0].vtable.buffer[i], sizeof (Spectrum), 1);
     42    gfits_convert_Spectrum ((Spectrum *) db[0].vtable.buffer[i], sizeof (Spectrum), 1);
    4343  }
    44   fits_db_update (db);
    45   fits_db_close (db);
    46   fits_db_free (db);
     44  gfits_db_update (db);
     45  gfits_db_close (db);
     46  gfits_db_free (db);
    4747
    4848  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/spreg/output.c

    r3536 r7080  
    5454
    5555  /* create primary header */
    56   fits_init_header (&header);   
     56  gfits_init_header (&header);   
    5757  header.extend = TRUE;
    58   fits_create_header (&header);
    59   fits_create_matrix (&header, &matrix);
    60   fits_print (&header, "NEXTEND", "%d", 1, 1);
     58  gfits_create_header (&header);
     59  gfits_create_matrix (&header, &matrix);
     60  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    6161
    6262  ftable.header = &theader;
    63   fits_table_set_Spectrum (&ftable, subset, Nmatch);
     63  gfits_table_set_Spectrum (&ftable, subset, Nmatch);
    6464
    65   fits_fwrite_header   (f, &header);
    66   fits_fwrite_matrix   (f, &matrix);
    67   fits_fwrite_Theader  (f, &theader);
    68   fits_fwrite_table   (f, &ftable);
     65  gfits_fwrite_header   (f, &header);
     66  gfits_fwrite_matrix   (f, &matrix);
     67  gfits_fwrite_Theader  (f, &theader);
     68  gfits_fwrite_table   (f, &ftable);
    6969  fclose (f);
    7070  exit (0);
     
    8484
    8585  /* create primary header */
    86   fits_init_header (&header);   
     86  gfits_init_header (&header);   
    8787  header.extend = TRUE;
    88   fits_create_header (&header);
    89   fits_create_matrix (&header, &matrix);
    90   fits_print (&header, "NEXTEND", "%d", 1, 1);
     88  gfits_create_header (&header);
     89  gfits_create_matrix (&header, &matrix);
     90  gfits_print (&header, "NEXTEND", "%d", 1, 1);
    9191 
    9292  /* the ASCII table is always a little harder than the binary:
     
    9696  /* create an empty table which we will fill in by hand */
    9797  ftable.header = &theader;
    98   fits_table_set_SpectrumASCII (&ftable, NULL, 0);
     98  gfits_table_set_SpectrumASCII (&ftable, NULL, 0);
    9999 
    100100  /* add data to table */
     
    105105
    106106    /* we should get an error here if we don't construct this line correctly */
    107     line = fits_table_print (&ftable, subset[0].filename, subset[0].pathname, subset[0].instrument,
     107    line = gfits_table_print (&ftable, subset[0].filename, subset[0].pathname, subset[0].instrument,
    108108                             subset[0].telescope, subset[0].objname, subset[0].extname,
    109109                             subset[0].ra, subset[0].dec, subset[0].exptime, subset[0].airmass,
     
    112112                             subset[0].mode, subset[0].state, subset[0].flag);
    113113
    114     fits_add_rows (&ftable, line, 1, strlen(line));
     114    gfits_add_rows (&ftable, line, 1, strlen(line));
    115115    free (line);
    116116    free (obsstr);
     
    121121  str_to_time ("now", &tsecond);
    122122  datestr = sec_to_date (tsecond);
    123   fits_modify (&header,  "DATE", "%s", 1, datestr);
    124   fits_modify (&theader, "DATE", "%s", 1, datestr);
     123  gfits_modify (&header,  "DATE", "%s", 1, datestr);
     124  gfits_modify (&theader, "DATE", "%s", 1, datestr);
    125125
    126126  /* open file for output */
     
    131131  }
    132132
    133   fits_fwrite_header  (f, &header);
    134   fits_fwrite_matrix  (f, &matrix);
    135   fits_fwrite_Theader (f, &theader);
    136   fits_fwrite_table   (f, &ftable);
     133  gfits_fwrite_header  (f, &header);
     134  gfits_fwrite_matrix  (f, &matrix);
     135  gfits_fwrite_Theader (f, &theader);
     136  gfits_fwrite_table   (f, &ftable);
    137137  fclose (f);
    138138
  • trunk/Ohana/src/imregister/spreg/spinfo.c

    r2803 r7080  
    1515
    1616  /* load in FITS header from image */
    17   if (!fits_read_header (filename, &header)) {
     17  if (!gfits_read_header (filename, &header)) {
    1818    fprintf (stderr, "ERROR: can't find image file %s\n", filename);
    1919    exit (1);
     
    9696    warn_scan (&header, "CRPIX1", "%f", 1, &crpix);
    9797    warn_scan (&header, "CRVAL1", "%f", 1, &crval);
    98     if (!fits_scan (&header, "CDELT1", "%f", 1, &cd11))
     98    if (!gfits_scan (&header, "CDELT1", "%f", 1, &cd11))
    9999      warn_scan (&header, "CD1_1", "%f", 1, &cd11);
    100100   
    101     fits_scan (&header, "NAXIS1", "%d", 1, &Nx);
     101    gfits_scan (&header, "NAXIS1", "%d", 1, &Nx);
    102102
    103103    spectrum[0].Ws = (1  - crpix)*cd11 + crval;
  • trunk/Ohana/src/imregister/src/convertimreg.c

    r4852 r7080  
    11# include "imregister.h"
    22# include "imreg.h"
    3 static char *version = "convertimreg $Revision: 3.3 $";
     3static char *version = "convertimreg $Revision: 3.4 $";
    44
    55int main (int argc, char **argv) {
     
    3434
    3535  /* load in database header */
    36   if (!fits_load_header (f, &header)) {
     36  if (!gfits_load_header (f, &header)) {
    3737    fprintf (stderr, "ERROR: trouble reading database header\n");
    3838    fclearlockfile (argv[1], f, lockstate, &dbstate);
     
    4141
    4242  /* load existing data from database */
    43   fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
     43  gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
    4444  ALLOCATE (pimage, RegImage, Nimage);
    4545  status = fread (pimage, sizeof(RegImage), Nimage, f);
     
    5050  }
    5151  fclearlockfile (argv[1], f, lockstate, &dbstate);
    52   fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
     52  gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
    5353
    5454  /* create complete subset */
  • trunk/Ohana/src/imregister/src/detregister.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "detrend.h"
    3 static char *version = "detregister $Revision: 3.4 $";
     3static char *version = "detregister $Revision: 3.5 $";
    44
    55int main (int argc, char **argv) {
     
    1919  db.lockstate = LCK_HARD;
    2020  db.timeout   = 300.0;
    21   fits_db_init (&db);
     21  gfits_db_init (&db);
    2222
    2323  dBFile = set_dBFile ();
    24   if (!fits_db_lock (&db, dBFile)) {
     24  if (!gfits_db_lock (&db, dBFile)) {
    2525    fprintf (stderr, "ERROR: failure to lock db\n");
    26     fits_db_close (&db);
     26    gfits_db_close (&db);
    2727    exit (1);
    2828  }
    2929  if (db.dbstate == LCK_EMPTY) {
    30     fits_db_create (&db);   
    31     fits_table_set_DetReg (&db.ftable, NULL, 0);
     30    gfits_db_create (&db);   
     31    gfits_table_set_DetReg (&db.ftable, NULL, 0);
    3232  } else { 
    33     if (!fits_db_load (&db)) {
     33    if (!gfits_db_load (&db)) {
    3434      fprintf (stderr, "ERROR: failure to load db\n");
    35       fits_db_close (&db);
     35      gfits_db_close (&db);
    3636      exit (1);
    3737    }
    3838  }
    3939
    40   fits_convert_DetReg (&newdata, sizeof (DetReg), 1);
    41   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    42   fits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(DetReg));
     40  gfits_convert_DetReg (&newdata, sizeof (DetReg), 1);
     41  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     42  gfits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(DetReg));
    4343
    44   fits_db_update (&db);
    45   fits_db_close (&db);
    46   fits_db_free (&db);
     44  gfits_db_update (&db);
     45  gfits_db_close (&db);
     46  gfits_db_free (&db);
    4747
    4848  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/src/detsearch.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "detrend.h"
    3 static char *version = "detsearch $Revision: 3.7 $";
     3static char *version = "detsearch $Revision: 3.8 $";
    44
    55int main (int argc, char **argv) {
     
    1919  db.lockstate = (output.Modify || output.Delete) ? LCK_HARD : LCK_SOFT;
    2020  db.timeout   = 300.0;
    21   fits_db_init (&db);
     21  gfits_db_init (&db);
    2222
    2323  dBFile = set_dBFile ();
    24   if (!fits_db_lock (&db, dBFile)) {
     24  if (!gfits_db_lock (&db, dBFile)) {
    2525    fprintf (stderr, "ERROR: failure to lock db\n");
    26     fits_db_close (&db);
     26    gfits_db_close (&db);
    2727    exit (1);
    2828  }
    2929 
    30   if (!fits_db_load (&db)) {
     30  if (!gfits_db_load (&db)) {
    3131    fprintf (stderr, "ERROR: failure to load db\n");
    32     fits_db_close (&db);
     32    gfits_db_close (&db);
    3333    exit (1);
    3434  }
    3535
    36   if (!output.Modify && !output.Delete && !output.Altpath) fits_db_close (&db);
    37   detrend = fits_table_get_DetReg (&db.ftable, &Ndetrend, &db.swapped);
     36  if (!output.Modify && !output.Delete && !output.Altpath) gfits_db_close (&db);
     37  detrend = gfits_table_get_DetReg (&db.ftable, &Ndetrend, &db.swapped);
    3838 
    3939  match = MatchCriteria (detrend, Ndetrend, &Nmatch);          /* match basic criteria */
     
    4545    if (Nmatch == 0) {
    4646      if (output.verbose) fprintf (stderr, "ERROR: can't find any valid detrend files (%s %s %d)\n", get_type_name(criteria[0].Type), filtername[criteria[0].Filter], criteria[0].CCD);
    47       fits_db_close (&db);
     47      gfits_db_close (&db);
    4848      exit (1);
    4949    }
  • trunk/Ohana/src/imregister/src/imphotmerge.c

    r5242 r7080  
    44
    55Image *LoadImageTable (FILE *f, Header *header, int *nimage);
    6 static char *version = "imphotcopy $Revision: 1.4 $";
     6static char *version = "imphotcopy $Revision: 1.5 $";
    77
    88int main (int argc, char **argv) {
     
    118118  }
    119119  Nimage += Nin;
    120   fits_modify (&header, "NIMAGES", "%d", 1, Nimage);
     120  gfits_modify (&header, "NIMAGES", "%d", 1, Nimage);
    121121
    122122  /* position to begining of file to write header */
     
    150150
    151151  /* read header */
    152   if (!fits_fread_header (f, header)) {
     152  if (!gfits_fread_header (f, header)) {
    153153    fprintf (stderr, "ERROR: can't read image catalog\n");
    154154    exit (1);
     
    157157  /* check that file size makes sense */
    158158  Nimage = 0;
    159   fits_scan (header, "NIMAGES", "%d", 1, &Nimage);
     159  gfits_scan (header, "NIMAGES", "%d", 1, &Nimage);
    160160  if (fstat (fileno(f), &filestatus) == -1) {
    161161    fprintf (stderr, "ERROR: failed to get status of image catalog\n");
  • trunk/Ohana/src/imregister/src/imphotsearch.c

    r4864 r7080  
    22# include "imphot.h"
    33
    4 static char *version = "imphotsearch $Revision: 1.9 $";
     4static char *version = "imphotsearch $Revision: 1.10 $";
    55
    66int main (int argc, char **argv) {
     
    1616  db.lockstate = (options.modify) ? LCK_HARD : LCK_SOFT;
    1717  db.timeout   = 300.0;
    18   fits_db_init (&db);
     18  gfits_db_init (&db);
    1919
    2020  /* don't create a new image table if not available */
    21   if (!fits_db_lock (&db, ImPhotDB)) {
     21  if (!gfits_db_lock (&db, ImPhotDB)) {
    2222    fprintf (stderr, "ERROR: failure to lock db\n");
    23     fits_db_close (&db);
     23    gfits_db_close (&db);
    2424    exit (1);
    2525  }
    26   /* we use a varient of fits_db_load since the file may be in text format */
     26  /* we use a varient of gfits_db_load since the file may be in text format */
    2727  if (!dvo_image_load (&db, VERBOSE, FORCE_READ)) {
    2828    fprintf (stderr, "ERROR: failure to load db\n");
    29     fits_db_close (&db);
     29    gfits_db_close (&db);
    3030    exit (1);
    3131  }
    32   if (!options.modify) fits_db_close (&db);
     32  if (!options.modify) gfits_db_close (&db);
    3333
    34   image = fits_table_get_Image (&db.ftable, &Nimage, &db.swapped);
     34  image = gfits_table_get_Image (&db.ftable, &Nimage, &db.swapped);
    3535
    3636  match = subset (image, Nimage, &Nmatch);
  • trunk/Ohana/src/imregister/src/imregister.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "imreg.h"
    3 static char *version = "imregister $Revision: 3.7 $";
     3static char *version = "imregister $Revision: 3.8 $";
    44
    55int main (int argc, char **argv) {
     
    1919  db.lockstate = LCK_HARD;
    2020  db.timeout   = 300.0;
    21   fits_db_init (&db);
     21  gfits_db_init (&db);
    2222
    23   if (!fits_db_lock (&db, ImageDB)) {
     23  if (!gfits_db_lock (&db, ImageDB)) {
    2424    fprintf (stderr, "ERROR: failure to lock db\n");
    25     fits_db_close (&db);
     25    gfits_db_close (&db);
    2626    exit (1);
    2727  }
    2828  if (db.dbstate == LCK_EMPTY) {
    29     fits_db_create (&db);
    30     fits_table_set_RegImage (&db.ftable, NULL, 0);
     29    gfits_db_create (&db);
     30    gfits_table_set_RegImage (&db.ftable, NULL, 0);
    3131  } else { 
    32     if (!fits_db_load (&db)) {
     32    if (!gfits_db_load (&db)) {
    3333      fprintf (stderr, "ERROR: failure to load db\n");
    34       fits_db_close (&db);
     34      gfits_db_close (&db);
    3535      exit (1);
    3636    }
    3737  }
    3838
    39   fits_convert_RegImage (regimage, sizeof (RegImage), Nregimage);
    40   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    41   fits_vadd_rows (&db.vtable, (char *) regimage, Nregimage, sizeof(RegImage));
     39  gfits_convert_RegImage (regimage, sizeof (RegImage), Nregimage);
     40  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     41  gfits_vadd_rows (&db.vtable, (char *) regimage, Nregimage, sizeof(RegImage));
    4242
    43   fits_db_update (&db);
    44   fits_db_close (&db);
    45   fits_db_free (&db);
     43  gfits_db_update (&db);
     44  gfits_db_close (&db);
     45  gfits_db_free (&db);
    4646
    4747skip_reg:
  • trunk/Ohana/src/imregister/src/imregtable.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "imreg.h"
    3 static char *version = "imregtable $Revision: 3.7 $";
     3static char *version = "imregtable $Revision: 3.8 $";
    44
    55int main (int argc, char **argv) {
     
    2929  /* need to error check these */
    3030  ftable.header = &theader;
    31   fits_read_header  (infile, &header);
    32   fits_read_matrix  (infile, &matrix);
    33   fits_read_ftable  (infile, &ftable, "IMAGE_DATABASE");
     31  gfits_read_header  (infile, &header);
     32  gfits_read_matrix  (infile, &matrix);
     33  gfits_read_ftable  (infile, &ftable, "IMAGE_DATABASE");
    3434
    35   image = fits_table_get_RegImage (&ftable, &Nimage, NULL);
     35  image = gfits_table_get_RegImage (&ftable, &Nimage, NULL);
    3636
    3737  /* load database table */
    3838  db.lockstate = LCK_HARD;
    3939  db.timeout   = 300.0;
    40   fits_db_init (&db);
     40  gfits_db_init (&db);
    4141
    42   if (!fits_db_lock (&db, ImageDB)) {
     42  if (!gfits_db_lock (&db, ImageDB)) {
    4343    fprintf (stderr, "ERROR: failure to lock db\n");
    44     fits_db_close (&db);
     44    gfits_db_close (&db);
    4545    exit (1);
    4646  }
    4747  if (db.dbstate == LCK_EMPTY) {
    48     fits_db_create (&db);
    49     fits_table_set_RegImage (&db.ftable, NULL, 0);
     48    gfits_db_create (&db);
     49    gfits_table_set_RegImage (&db.ftable, NULL, 0);
    5050  } else { 
    51     if (!fits_db_load (&db)) {
     51    if (!gfits_db_load (&db)) {
    5252      fprintf (stderr, "ERROR: failure to load db\n");
    53       fits_db_close (&db);
     53      gfits_db_close (&db);
    5454      exit (1);
    5555    }
    5656  }
    5757
    58   fits_convert_RegImage (image, sizeof (RegImage), Nimage);
    59   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    60   fits_vadd_rows (&db.vtable, (char *) image, Nimage, sizeof(RegImage));
     58  gfits_convert_RegImage (image, sizeof (RegImage), Nimage);
     59  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     60  gfits_vadd_rows (&db.vtable, (char *) image, Nimage, sizeof(RegImage));
    6161
    62   fits_db_update (&db);
    63   fits_db_close (&db);
    64   fits_db_free (&db);
     62  gfits_db_update (&db);
     63  gfits_db_close (&db);
     64  gfits_db_free (&db);
    6565
    6666  fprintf (stderr, "SUCCESS: registered %s\n", argv[1]);
  • trunk/Ohana/src/imregister/src/imsearch.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "imreg.h"
    3 static char *version = "imsearch $Revision: 3.6 $";
     3static char *version = "imsearch $Revision: 3.7 $";
    44
    55int main (int argc, char **argv) {
     
    1414  db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT;
    1515  db.timeout   = 300.0;
    16   fits_db_init (&db);
     16  gfits_db_init (&db);
    1717
    18   if (!fits_db_lock (&db, ImageDB)) {
     18  if (!gfits_db_lock (&db, ImageDB)) {
    1919    fprintf (stderr, "ERROR: failure to lock db\n");
    20     fits_db_close (&db);
     20    gfits_db_close (&db);
    2121    exit (1);
    2222  }
    23   if (!fits_db_load (&db)) {
     23  if (!gfits_db_load (&db)) {
    2424    fprintf (stderr, "ERROR: failure to load db\n");
    25     fits_db_close (&db);
     25    gfits_db_close (&db);
    2626    exit (1);
    2727  }
    2828
    29   if (!output.modify && !output.delete) fits_db_close (&db);
     29  if (!output.modify && !output.delete) gfits_db_close (&db);
    3030
    31   image = fits_table_get_RegImage (&db.ftable, &Nimage, &db.swapped);
     31  image = gfits_table_get_RegImage (&db.ftable, &Nimage, &db.swapped);
    3232 
    3333  match = match_criteria (image, Nimage, &Nmatch);
  • trunk/Ohana/src/imregister/src/imstatreg.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "imreg.h"
    3 static char *version = "imstatreg $Revision: 3.15 $";
     3static char *version = "imstatreg $Revision: 3.16 $";
    44
    55int main (int argc, char **argv) {
     
    4242  image_db.lockstate = LCK_HARD;
    4343  image_db.timeout   = 300.0;
    44   fits_db_init (&image_db);
     44  gfits_db_init (&image_db);
    4545
    4646  temp_db.lockstate = LCK_HARD;
    4747  temp_db.timeout   = 300.0;
    48   fits_db_init (&temp_db);
     48  gfits_db_init (&temp_db);
    4949
    5050  /* start loop */
     
    5252
    5353    /* check / load / delete temporary database */
    54     if (!fits_db_lock (&temp_db, TempDB)) {
    55       fits_db_close (&temp_db);
     54    if (!gfits_db_lock (&temp_db, TempDB)) {
     55      gfits_db_close (&temp_db);
    5656      fprintf (stderr, "error locking temp db (path missing? access permission?)\n");
    5757      exit (1);
     
    5959    if (temp_db.dbstate == LCK_EMPTY) {
    6060      fprintf (stderr, "temporary database empty\n");
    61       fits_db_close (&temp_db);
     61      gfits_db_close (&temp_db);
    6262      goto next;
    6363    }
    64     if (!fits_db_load (&temp_db)) {
     64    if (!gfits_db_load (&temp_db)) {
    6565      fprintf (stderr, "error reading temp db\n");
    6666      exit (1);
    6767    }
    68     subset = fits_table_get_RegImage (&temp_db.ftable, &Nsubset, &temp_db.swapped);
     68    subset = gfits_table_get_RegImage (&temp_db.ftable, &Nsubset, &temp_db.swapped);
    6969    fprintf (stderr, "temporary database read\n");
    7070
    7171    /* delete, unlock existing database */
    7272    truncate (TempDB, 0);
    73     fits_db_close (&temp_db);
     73    gfits_db_close (&temp_db);
    7474    fprintf (stderr, "temporary database closed\n");
    7575 
    7676    /* check / load main database */
    77     if (!fits_db_lock (&image_db, ImageDB)) {
    78       fits_db_close (&image_db);
     77    if (!gfits_db_lock (&image_db, ImageDB)) {
     78      gfits_db_close (&image_db);
    7979      fprintf (stderr, "error locking image db (path missing? access permission?)\n");
    8080      exit (1);
     
    8282    if (temp_db.dbstate == LCK_EMPTY) {
    8383      fprintf (stderr, "main database empty\n");
    84       fits_db_close (&image_db);
    85       fits_db_free (&temp_db);
     84      gfits_db_close (&image_db);
     85      gfits_db_free (&temp_db);
    8686      goto next;
    8787      /* this is a type of error: we read entries from the
     
    8989         we will just drop the temp db data */
    9090    }
    91     image = fits_table_get_RegImage (&image_db.ftable, &Nimage, &image_db.swapped);
     91    image = gfits_table_get_RegImage (&image_db.ftable, &Nimage, &image_db.swapped);
    9292    fprintf (stderr, "main database read\n");
    9393
     
    9797
    9898    /* update entries in main db */
    99     fits_vtable_from_ftable (&image_db.ftable, &image_db.vtable, match, Nmatch);
     99    gfits_vtable_from_ftable (&image_db.ftable, &image_db.vtable, match, Nmatch);
    100100    for (i = 0; i < Nmatch; i++) {
    101       fits_convert_RegImage ((RegImage *) image_db.vtable.buffer[i], sizeof (RegImage), 1);
     101      gfits_convert_RegImage ((RegImage *) image_db.vtable.buffer[i], sizeof (RegImage), 1);
    102102    }
    103     fits_db_update (&image_db);
    104     fits_db_close (&image_db);
     103    gfits_db_update (&image_db);
     104    gfits_db_close (&image_db);
    105105
    106     fits_db_free (&image_db);
    107     fits_db_free (&temp_db);
     106    gfits_db_free (&image_db);
     107    gfits_db_free (&temp_db);
    108108    if (match != NULL) free (match);
    109109    if (image != NULL) free (image);
  • trunk/Ohana/src/imregister/src/photcode.c

    r5386 r7080  
    11# include "imregister.h"
    2 static char *version = "photcode $Revision: 3.3 $";
     2static char *version = "photcode $Revision: 3.4 $";
    33
    44int main (int argc, char **argv) {
     
    2525
    2626  /* read in image header */
    27   if (!fits_read_header (argv[1], &header)) {
     27  if (!gfits_read_header (argv[1], &header)) {
    2828    if (VERBOSE) fprintf (stderr, "ERROR: can't find image file %s (1)\n", argv[1]);
    2929    exit (1);
    3030  }
    3131
    32   fits_scan (&header, CameraKeyword, "%s", 1, detector);
     32  gfits_scan (&header, CameraKeyword, "%s", 1, detector);
    3333  for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); }
    3434  for (i = 0; i < strlen(detector); i++) { if (isspace (detector[i])) detector[i] = '.'; }
    3535
    36   fits_scan (&header, FilterKeyword,   "%s", 1, filter);
     36  gfits_scan (&header, FilterKeyword,   "%s", 1, filter);
    3737  for (i = 0; i < strlen (filter); i++) { if (isspace (filter[i])) filter[i] = '.'; }
    3838  Nfilter = FILTER_NONE;
     
    5252  } else {
    5353    ALLOCATE (ID, char, 80);
    54     fits_scan (&header, CCDnumKeyword,  "%s", 1, ID);
     54    gfits_scan (&header, CCDnumKeyword,  "%s", 1, ID);
    5555  }
    5656  ccd = -1;
  • trunk/Ohana/src/imregister/src/photreg.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "photreg.h"
    3 static char *version = "photreg $Revision: 1.8 $";
     3static char *version = "photreg $Revision: 1.9 $";
    44
    55int main (int argc, char **argv) {
     
    1414  db.lockstate = LCK_HARD;
    1515  db.timeout   = 300.0;
    16   fits_db_init (&db);
     16  gfits_db_init (&db);
    1717
    1818  filename = PhotDB;
    1919  if (!strcmp (output.db, "trans")) filename = TransDB;
    2020
    21   if (!fits_db_lock (&db, filename)) {
     21  if (!gfits_db_lock (&db, filename)) {
    2222    fprintf (stderr, "ERROR: failure to lock db\n");
    23     fits_db_close (&db);
     23    gfits_db_close (&db);
    2424    exit (1);
    2525  }
    2626  if (db.dbstate == LCK_EMPTY) {
    27     fits_db_create (&db);
    28     fits_table_set_PhotPars (&db.ftable, NULL, 0);
     27    gfits_db_create (&db);
     28    gfits_table_set_PhotPars (&db.ftable, NULL, 0);
    2929    /* EXTNAME is set to ZERO_POINTS_3.0 by default */
    3030    if (!strcmp (output.db, "trans")) {
    31       fits_modify (&db.theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");
     31      gfits_modify (&db.theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");
    3232    }
    3333  } else { 
    34     if (!fits_db_load (&db)) {
     34    if (!gfits_db_load (&db)) {
    3535      fprintf (stderr, "ERROR: failure to load db\n");
    36       fits_db_close (&db);
     36      gfits_db_close (&db);
    3737      exit (1);
    3838    }
     
    4040
    4141  /** we may later want to pull this out and put it elsewhere **/
    42   fits_convert_PhotPars (&newdata, sizeof (PhotPars), 1);
    43   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    44   fits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(PhotPars));
     42  gfits_convert_PhotPars (&newdata, sizeof (PhotPars), 1);
     43  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     44  gfits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(PhotPars));
    4545
    46   fits_db_update (&db);
    47   fits_db_close (&db);
    48   fits_db_free (&db);
     46  gfits_db_update (&db);
     47  gfits_db_close (&db);
     48  gfits_db_free (&db);
    4949
    5050  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/src/photsearch.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "photreg.h"
    3 static char *version = "photsearch $Revision: 1.8 $";
     3static char *version = "photsearch $Revision: 1.9 $";
    44
    55int main (int argc, char **argv) {
     
    1717  db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT;
    1818  db.timeout   = 300.0;
    19   fits_db_init (&db);
     19  gfits_db_init (&db);
    2020
    2121  if (!strcmp (output.db, "phot")) {
     
    2525  }
    2626
    27   if (!fits_db_lock (&db, filename)) {
     27  if (!gfits_db_lock (&db, filename)) {
    2828    fprintf (stderr, "ERROR: failure to lock db\n");
    29     fits_db_close (&db);
     29    gfits_db_close (&db);
    3030    exit (1);
    3131  }
    3232 
    33   if (!fits_db_load (&db)) {
     33  if (!gfits_db_load (&db)) {
    3434    fprintf (stderr, "ERROR: failure to load db\n");
    35     fits_db_close (&db);
     35    gfits_db_close (&db);
    3636    exit (1);
    3737  }
    3838
    39   if (!output.modify && !output.delete) fits_db_close (&db);
     39  if (!output.modify && !output.delete) gfits_db_close (&db);
    4040
    4141  /* add test to EXTNAME? */
    4242  if (output.convert) {
    43     photpars_old = fits_table_get_PhotParsOld (&db.ftable, &Nphotpars, &db.swapped);
     43    photpars_old = gfits_table_get_PhotParsOld (&db.ftable, &Nphotpars, &db.swapped);
    4444    photpars = PhotParsOld_to_PhotPars (photpars_old, Nphotpars);
    4545  } else {
    46     photpars = fits_table_get_PhotPars (&db.ftable, &Nphotpars, &db.swapped);
     46    photpars = gfits_table_get_PhotPars (&db.ftable, &Nphotpars, &db.swapped);
    4747  }
    4848
  • trunk/Ohana/src/imregister/src/spregister.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "spreg.h"
    3 static char *version = "spregister $Revision: 1.8 $";
     3static char *version = "spregister $Revision: 1.9 $";
    44
    55int main (int argc, char **argv) {
     
    1919  db.lockstate = LCK_HARD;
    2020  db.timeout   = 300.0;
    21   fits_db_init (&db);
     21  gfits_db_init (&db);
    2222
    23   if (!fits_db_lock (&db, SpectrumDB)) {
     23  if (!gfits_db_lock (&db, SpectrumDB)) {
    2424    fprintf (stderr, "ERROR: failure to lock db\n");
    25     fits_db_close (&db);
     25    gfits_db_close (&db);
    2626    exit (1);
    2727  }
    2828  if (db.dbstate == LCK_EMPTY) {
    29     fits_db_create (&db);
    30     fits_table_set_Spectrum (&db.ftable, NULL, 0);
     29    gfits_db_create (&db);
     30    gfits_table_set_Spectrum (&db.ftable, NULL, 0);
    3131  } else { 
    32     if (!fits_db_load (&db)) {
     32    if (!gfits_db_load (&db)) {
    3333      fprintf (stderr, "ERROR: failure to load db\n");
    34       fits_db_close (&db);
     34      gfits_db_close (&db);
    3535      exit (1);
    3636    }
    3737  }
    3838
    39   fits_convert_Spectrum (spectrum, sizeof (Spectrum), 1);
    40   fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
    41   fits_vadd_rows (&db.vtable, (char *) spectrum, 1, sizeof(Spectrum));
     39  gfits_convert_Spectrum (spectrum, sizeof (Spectrum), 1);
     40  gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);
     41  gfits_vadd_rows (&db.vtable, (char *) spectrum, 1, sizeof(Spectrum));
    4242
    43   fits_db_update (&db);
    44   fits_db_close (&db);
    45   fits_db_free (&db);
     43  gfits_db_update (&db);
     44  gfits_db_close (&db);
     45  gfits_db_free (&db);
    4646
    4747  fprintf (stderr, "SUCCESS\n");
  • trunk/Ohana/src/imregister/src/spsearch.c

    r4864 r7080  
    11# include "imregister.h"
    22# include "spreg.h"
    3 static char *version = "spsearch $Revision: 1.7 $";
     3static char *version = "spsearch $Revision: 1.8 $";
    44
    55int main (int argc, char **argv) {
     
    1414  db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT;
    1515  db.timeout   = 300.0;
    16   fits_db_init (&db);
     16  gfits_db_init (&db);
    1717
    18   if (!fits_db_lock (&db, SpectrumDB)) {
     18  if (!gfits_db_lock (&db, SpectrumDB)) {
    1919    fprintf (stderr, "ERROR: failure to lock db\n");
    20     fits_db_close (&db);
     20    gfits_db_close (&db);
    2121    exit (1);
    2222  }
    23   if (!fits_db_load (&db)) {
     23  if (!gfits_db_load (&db)) {
    2424    fprintf (stderr, "ERROR: failure to load db\n");
    25     fits_db_close (&db);
     25    gfits_db_close (&db);
    2626    exit (1);
    2727  }
    2828
    29   if (!output.modify && !output.delete) fits_db_close (&db);
     29  if (!output.modify && !output.delete) gfits_db_close (&db);
    3030
    31   spectrum = fits_table_get_Spectrum (&db.ftable, &Nspectrum, &db.swapped);
     31  spectrum = gfits_table_get_Spectrum (&db.ftable, &Nspectrum, &db.swapped);
    3232 
    3333  match = match_criteria (spectrum, Nspectrum, &Nmatch);
  • trunk/Ohana/src/kapa/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- kapa 1.6
     3  * converted to gfits APIs (forces libfits 1.6)
     4  * removed items moved to libkapa
     5   
    16
    27- kapa 1.5
  • trunk/Ohana/src/kii/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- kii 1.6
     3  * converted to gfits APIs (forces libfits 1.6)
     4  * added keyboard events
     5  * removed items moved to libkapa
    16
    27- kii 1.5
  • trunk/Ohana/src/kii/picture/NewPicture.c

    r5852 r7080  
    2424  KiiScanMessage (socket, "%s %s %s", layout[0].coords.ctype, layout[0].file, layout[0].buffer_name);
    2525
    26   fits_free_matrix (&layout[0].matrix);
    27   fits_create_matrix (&header, &layout[0].matrix);
     26  gfits_free_matrix (&layout[0].matrix);
     27  gfits_create_matrix (&header, &layout[0].matrix);
    2828
    2929  fcntl (socket, F_SETFL, O_NONBLOCK); 
  • trunk/Ohana/src/kii/picture/TestPicture.c

    r2466 r7080  
    1212  double frac;
    1313
    14   fits_free_matrix (&layout[0].matrix);
     14  gfits_free_matrix (&layout[0].matrix);
    1515
    1616  header.Naxes = 2;
     
    2727  layout[0].max = layout[0].Npixels;
    2828 
    29   fits_create_matrix (&header, &layout[0].matrix);
     29  gfits_create_matrix (&header, &layout[0].matrix);
    3030
    3131  frac = layout[0].Npixels / (512.0*512.0);
  • trunk/Ohana/src/libautocode/def/autocode.c

    r5851 r7080  
    11# include "autocode.h"
    22
    3 int fits_convert_$STRUCT ($STRUCT *data, int size, int nitems) {
     3int gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems) {
    44
    55  int i;
     
    2828/*** add test of EXTNAME and header-defined columns? ***/
    2929/* return internal structure representation */
    30 $STRUCT *fits_table_get_$STRUCT (FTable *ftable, int *Ndata, int *swapped) {
     30$STRUCT *gfits_table_get_$STRUCT (FTable *ftable, int *Ndata, int *swapped) {
    3131
    3232  $STRUCT *data;
     
    3535  data = ($STRUCT *) ftable[0].buffer;
    3636  if ((swapped == NULL) || (*swapped == FALSE)) {
    37     fits_convert_$STRUCT (data, sizeof ($STRUCT), *Ndata);
     37    gfits_convert_$STRUCT (data, sizeof ($STRUCT), *Ndata);
    3838    if (swapped != NULL) *swapped = TRUE;
    3939  }
     
    4141}
    4242
    43 int fits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata) {
     43int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata) {
    4444
    4545  Header *header;
     
    4848
    4949  /* create table header */
    50   fits_create_table_header (header, "$TYPE", "$EXTNAME");
     50  gfits_create_table_header (header, "$TYPE", "$EXTNAME");
    5151
    5252  /* define table layout */
     
    5454
    5555  /* create table */
    56   fits_create_table (header, ftable);
     56  gfits_create_table (header, ftable);
    5757
    5858  /* add data values */
    59   fits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata);
    60   fits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT));
     59  gfits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata);
     60  gfits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT));
    6161
    6262  return (TRUE);
    6363}
    6464
    65 int fits_table_mkheader_$STRUCT (Header *header) {
     65int gfits_table_mkheader_$STRUCT (Header *header) {
    6666
    6767  /* create table header */
    68   fits_create_table_header (header, "$TYPE", "$EXTNAME");
     68  gfits_create_table_header (header, "$TYPE", "$EXTNAME");
    6969
    7070  /* define table layout */
     
    8888  }
    8989
    90   fits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata);
     90  gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata);
    9191
    9292  SendCommand (device, 16, "NVALUE: %6d", Ndata);
     
    113113 
    114114  tmpdata = ($STRUCT *) message.buffer;
    115   fits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata);
     115  gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata);
    116116
    117117  /* double-check data length? */
  • trunk/Ohana/src/libautocode/def/autocode.h

    r5273 r7080  
    22/** STRUCT DEFINITION **/
    33
    4 $STRUCT *fits_table_get_$STRUCT (FTable *table, int *Ndata, int *swapped);
    5 int      fits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata);
    6 int      fits_table_mkheader_$STRUCT (Header *header);
    7 int      fits_convert_$STRUCT ($STRUCT *data, int size, int nitems);
     4$STRUCT *gfits_table_get_$STRUCT (FTable *table, int *Ndata, int *swapped);
     5int      gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata);
     6int      gfits_table_mkheader_$STRUCT (Header *header);
     7int      gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems);
    88int Send_$STRUCT (int device, $STRUCT *data, int Ndata, int copy);
    99int Recv_$STRUCT (int device, $STRUCT **data, int *Ndata);
  • trunk/Ohana/src/libautocode/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- libautocode 1.5
     3  * converted to gfits APIs (forces libfits 1.6)
     4  * fixed comma errors in average tables
    15
    26- libautocode 1.4
  • trunk/Ohana/src/libautocode/generate

    r6454 r7080  
    140140        }
    141141
    142         printf FILE "  fits_define_bintable_column (header, ";
     142        printf FILE "  gfits_define_bintable_column (header, ";
    143143        printf FILE "%-8s",               "\"$pt2\", ";
    144144        printf FILE "%-20s",              "\"$field[$i]\", ";
     
    225225        if (!$pt1) { die "unknown type $type"; }
    226226
    227         printf FILE "  fits_define_table_column (header, ";
     227        printf FILE "  gfits_define_table_column (header, ";
    228228        printf FILE "%-8s",      "\"$pt1\", ";
    229229        printf FILE "%-20s",     "\"$field[$i]\", ";
  • trunk/Ohana/src/libdvo/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- libdvo 1.3
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25- libdvo 1.2
  • trunk/Ohana/src/libdvo/include/dvo.h

    r7039 r7080  
    176176/*** prototypes ***/
    177177
    178 /* in fits_db.c */
    179 int   fits_db_init                PROTO((FITS_DB *db));
    180 int   fits_db_create              PROTO((FITS_DB *db));
    181 int   fits_db_lock                PROTO((FITS_DB *db, char *filename));
    182 int   fits_db_load                PROTO((FITS_DB *db));
    183 int   fits_db_load_segment        PROTO((FITS_DB *db, int start, int Nrows));
    184 int   fits_db_save                PROTO((FITS_DB *db));
    185 int   fits_db_update              PROTO((FITS_DB *db));
    186 int   fits_db_close               PROTO((FITS_DB *db));
    187 int   fits_db_free                PROTO((FITS_DB *db));
     178/* in gfits_db.c */
     179int   gfits_db_init                PROTO((FITS_DB *db));
     180int   gfits_db_create              PROTO((FITS_DB *db));
     181int   gfits_db_lock                PROTO((FITS_DB *db, char *filename));
     182int   gfits_db_load                PROTO((FITS_DB *db));
     183int   gfits_db_load_segment        PROTO((FITS_DB *db, int start, int Nrows));
     184int   gfits_db_save                PROTO((FITS_DB *db));
     185int   gfits_db_update              PROTO((FITS_DB *db));
     186int   gfits_db_close               PROTO((FITS_DB *db));
     187int   gfits_db_free                PROTO((FITS_DB *db));
    188188
    189189/* in coords.c, using libautocode/def/coords.d */
     
    352352SkyList   *SkyListByRadius         PROTO((SkyTable *table, int depth, double RA, double DEC, double radius));
    353353SkyList   *SkyListByPatch          PROTO((SkyTable *table, int depth, SkyRegion *patch));
     354SkyList   *SkyListByName           PROTO((SkyTable *table, char *name));
    354355SkyList   *SkyListByImage          PROTO((SkyTable *table, int depth, Image *image));
    355356SkyList   *SkyListByBounds         PROTO((SkyTable *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
  • trunk/Ohana/src/libdvo/src/coordops.c

    r6678 r7080  
    312312 
    313313  status = FALSE;
    314   if (fits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) {
    315     status  = fits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1);
    316     status &= fits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1);
    317     status &= fits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2); 
    318     status &= fits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2);
    319 
    320     if (fits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) {
    321       status &= fits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2);
    322       if (fits_scan (header, "CROTA2", "%lf", 1, &rotate)) {
     314  if (gfits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) {
     315    status  = gfits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1);
     316    status &= gfits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1);
     317    status &= gfits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2); 
     318    status &= gfits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2);
     319
     320    if (gfits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) {
     321      status &= gfits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2);
     322      if (gfits_scan (header, "CROTA2", "%lf", 1, &rotate)) {
    323323        Lambda = coords[0].cdelt2 / coords[0].cdelt1;
    324324        coords[0].pc1_1 =  cos(rotate*RAD_DEG);
     
    327327        coords[0].pc2_2 =  cos(rotate*RAD_DEG);
    328328      }
    329       if (fits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) {
    330         status &= fits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2);
    331         status &= fits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1);
    332         status &= fits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2);
     329      if (gfits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) {
     330        status &= gfits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2);
     331        status &= gfits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1);
     332        status &= gfits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2);
    333333      }
    334334
     
    337337
    338338      if (Polynomial) {
    339         if (fits_scan (header, "NPLYTERM", "%d", 1, &itmp)) {
     339        if (gfits_scan (header, "NPLYTERM", "%d", 1, &itmp)) {
    340340          coords[0].Npolyterms = itmp;
    341341        } else {
     
    344344        switch (coords[0].Npolyterms) {
    345345          case 3:
    346             status &= fits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]);
    347             status &= fits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]);
    348             status &= fits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]);
    349             status &= fits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]);
    350             status &= fits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]);
    351             status &= fits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]);
    352             status &= fits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]);
    353             status &= fits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]);
     346            status &= gfits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]);
     347            status &= gfits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]);
     348            status &= gfits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]);
     349            status &= gfits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]);
     350            status &= gfits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]);
     351            status &= gfits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]);
     352            status &= gfits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]);
     353            status &= gfits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]);
    354354          case 2:
    355             status &= fits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]);
    356             status &= fits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]);
    357             status &= fits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]);
    358             status &= fits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]);
    359             status &= fits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]);
    360             status &= fits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]);
     355            status &= gfits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]);
     356            status &= gfits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]);
     357            status &= gfits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]);
     358            status &= gfits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]);
     359            status &= gfits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]);
     360            status &= gfits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]);
    361361          case 0:
    362362          case 1:
     
    365365      }
    366366    } else {
    367       if (fits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) {
    368         status &= fits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2);
    369         status &= fits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1);
    370         status &= fits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2);
     367      if (gfits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) {
     368        status &= gfits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2);
     369        status &= gfits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1);
     370        status &= gfits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2);
    371371        /* renormalize */
    372372        scale = hypot (coords[0].pc1_1, coords[0].pc1_2);
     
    382382  } else {
    383383    /* some of my thesis data uses this simple linear model - convert on read? */
    384     if (fits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) {
    385       status  = fits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1);
    386       status &= fits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2);
    387       status &= fits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2); 
    388       status &= fits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1);
    389       status &= fits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2);
     384    if (gfits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) {
     385      status  = gfits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1);
     386      status &= gfits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2);
     387      status &= gfits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2); 
     388      status &= gfits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1);
     389      status &= gfits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2);
    390390      coords[0].crpix1 = coords[0].crpix2 = 0.0;
    391391      coords[0].cdelt1 = coords[0].cdelt2 = 1.0;
     
    394394  }
    395395  if (status) {
    396     if (!fits_scan (header, "EQUINOX", "%lf", 1, &equinox)) {
    397       if (!fits_scan (header, "EPOCH", "%lf", 1, &equinox)) {
     396    if (!gfits_scan (header, "EQUINOX", "%lf", 1, &equinox)) {
     397      if (!gfits_scan (header, "EPOCH", "%lf", 1, &equinox)) {
    398398        equinox = 2000.0;
    399399      }
     
    422422  /* modifications to the ctype? */
    423423  OldAIPS = FALSE;
    424   fits_modify (header, "CTYPE2",   "%s",  1, coords[0].ctype);
     424  gfits_modify (header, "CTYPE2",   "%s",  1, coords[0].ctype);
    425425  if (!strcmp(coords[0].ctype, "MM")) {
    426     fits_modify (header, "CTYPE1",   "%s",  1, "LL");
     426    gfits_modify (header, "CTYPE1",   "%s",  1, "LL");
    427427    OldAIPS = TRUE;
    428428  } else {
     
    435435    if (!strcmp (csys, "NONE")) return (FALSE);
    436436    sprintf (ctype, "%s-%s", csys, &coords[0].ctype[5]);
    437     fits_modify (header, "CTYPE1",   "%s",  1, ctype);
     437    gfits_modify (header, "CTYPE1",   "%s",  1, ctype);
    438438  }   
    439439
    440   fits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
    441   fits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
    442   fits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
    443   fits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
    444   fits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
    445   fits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
     440  gfits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
     441  gfits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
     442  gfits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
     443  gfits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
     444  gfits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
     445  gfits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
    446446
    447447  if (OldAIPS) {
    448448    Lambda = coords[0].cdelt2 / coords[0].cdelt1;
    449449    rotate = DEG_RAD*atan2 (coords[0].pc2_1*Lambda, coords[0].pc1_1);
    450     fits_modify (header, "CROTA1", "%f", 1, rotate);
    451     fits_modify (header, "CROTA2", "%f", 1, rotate);
     450    gfits_modify (header, "CROTA1", "%f", 1, rotate);
     451    gfits_modify (header, "CROTA2", "%f", 1, rotate);
    452452    return (TRUE);
    453453  }
    454454
    455   fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
    456   fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
    457   fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
    458   fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
    459   fits_modify (header, "NPLYTERM", "%d",  1, coords[0].Npolyterms);
     455  gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
     456  gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
     457  gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
     458  gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
     459  gfits_modify (header, "NPLYTERM", "%d",  1, coords[0].Npolyterms);
    460460
    461461  /* RA Terms */
    462462  if (coords[0].Npolyterms > 1) {
    463     fits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]);   /* polyterms[0]); */
    464     fits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]);   /* polyterms[1]); */
    465     fits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]);   /* polyterms[2]); */
     463    gfits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]);   /* polyterms[0]); */
     464    gfits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]);   /* polyterms[1]); */
     465    gfits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]);   /* polyterms[2]); */
    466466  }
    467467  if (coords[0].Npolyterms > 2) {
    468     fits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]);   /* polyterms[3]); */
    469     fits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]);   /* polyterms[4]); */
    470     fits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]);   /* polyterms[5]); */
    471     fits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]);   /* polyterms[6]); */
     468    gfits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]);   /* polyterms[3]); */
     469    gfits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]);   /* polyterms[4]); */
     470    gfits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]);   /* polyterms[5]); */
     471    gfits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]);   /* polyterms[6]); */
    472472  }
    473473
    474474  /* Dec Terms */
    475475  if (coords[0].Npolyterms > 1) {
    476     fits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]);   /* polyterms[7]); */
    477     fits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]);   /* polyterms[8]); */
    478     fits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]);   /* polyterms[9]); */
     476    gfits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]);   /* polyterms[7]); */
     477    gfits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]);   /* polyterms[8]); */
     478    gfits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]);   /* polyterms[9]); */
    479479  }
    480480  if (coords[0].Npolyterms > 2) {
    481     fits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]);   /* polyterms[10]); */
    482     fits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]);   /* polyterms[11]); */
    483     fits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]);   /* polyterms[12]); */
    484     fits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]);   /* polyterms[13]); */
     481    gfits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]);   /* polyterms[10]); */
     482    gfits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]);   /* polyterms[11]); */
     483    gfits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]);   /* polyterms[12]); */
     484    gfits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]);   /* polyterms[13]); */
    485485  }
    486486  return (TRUE);
  • trunk/Ohana/src/libdvo/src/dvo_catalog.c

    r5320 r7080  
    4242  /** we will have to check catmode for MYSQL before reading from the file **/
    4343
    44   fits_fread_header (catalog[0].f, &catalog[0].header);
    45   if (!fits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) {
     44  gfits_fread_header (catalog[0].f, &catalog[0].header);
     45  if (!gfits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) {
    4646    if (VERBOSE) fprintf (stderr, "can't determine catalog db mode\n");
    4747    return (FALSE);
    4848  }
    49   split = fits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure);
     49  split = gfits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure);
    5050
    5151  /* currenly, the catmode information is carried per table.
  • trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c

    r5320 r7080  
    1717
    1818  /* matrix should be empty */
    19   if (!fits_fread_matrix (f, &matrix, &catalog[0].header)) {
     19  if (!gfits_fread_matrix (f, &matrix, &catalog[0].header)) {
    2020    if (VERBOSE) fprintf (stderr, "can't read primary matrix");
    2121    return (FALSE);
    2222  }
    2323  /* get the components from the header */
    24   if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
    25   if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
    26   if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
    27   if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
     24  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
     25  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
     26  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
     27  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
    2828
    2929  /**  Nsecfilt is unusual: it does not list the number of data items in the table
     
    3434
    3535  /* read Average table header */
    36   if (!fits_fread_header (f, &header)) {
     36  if (!gfits_fread_header (f, &header)) {
    3737    if (VERBOSE) fprintf (stderr, "can't read table average header");
    3838    return (FALSE);
     
    4040  /* read Average table data (or skip) */
    4141  if (catalog[0].catflags & LOAD_AVES) {
    42     if (!fits_fread_ftable_data (f, &ftable)) {
     42    if (!gfits_fread_ftable_data (f, &ftable)) {
    4343      if (VERBOSE) fprintf (stderr, "can't read table average data");
    4444      return (FALSE);
     
    4949    }
    5050  } else {
    51     Nbytes = fits_matrix_size (&header);
    52     fseek (f, Nbytes, SEEK_CUR);
    53   }
    54   fits_free_header (&header);
     51    Nbytes = gfits_matrix_size (&header);
     52    fseek (f, Nbytes, SEEK_CUR);
     53  }
     54  gfits_free_header (&header);
    5555  /** free the ftable or not? data is being used still..? **/
    5656
    5757  /* read Measure table header */
    58   if (!fits_fread_header (f, &header)) {
     58  if (!gfits_fread_header (f, &header)) {
    5959    if (VERBOSE) fprintf (stderr, "can't read table measure header");
    6060    return (FALSE);
     
    6262  /* read Measure table data */
    6363  if (catalog[0].catflags & LOAD_MEAS) {
    64     if (!fits_fread_ftable_data (f, &ftable)) {
     64    if (!gfits_fread_ftable_data (f, &ftable)) {
    6565      if (VERBOSE) fprintf (stderr, "can't read table measure data");
    6666      return (FALSE);
     
    7171    }
    7272  } else {
    73     Nbytes = fits_matrix_size (&header);
     73    Nbytes = gfits_matrix_size (&header);
    7474    fseek (f, Nbytes, SEEK_CUR);
    7575  }
    7676
    7777  /* read Missing table header */
    78   if (!fits_fread_header (f, &header)) {
     78  if (!gfits_fread_header (f, &header)) {
    7979    if (VERBOSE) fprintf (stderr, "can't read table missing header");
    8080    return (FALSE);
     
    8282  /* read Missing table data */
    8383  if (catalog[0].catflags & LOAD_MISS) {
    84     if (!fits_fread_ftable_data (f, &ftable)) {
     84    if (!gfits_fread_ftable_data (f, &ftable)) {
    8585      if (VERBOSE) fprintf (stderr, "can't read table missing data");
    8686      return (FALSE);
    8787    }
    8888    /* no conversions currently defined */
    89     catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
     89    catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
    9090    if (Nmissing != catalog[0].Nmissing) {
    9191      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing);
    9292    }
    9393  } else {
    94     Nbytes = fits_matrix_size (&header);
    95     fseek (f, Nbytes, SEEK_CUR);
    96   }
    97 
    98   // catalog[0].secfilt = fits_table_get_SecFilt (&ftable, &Nitems, NULL);
     94    Nbytes = gfits_matrix_size (&header);
     95    fseek (f, Nbytes, SEEK_CUR);
     96  }
     97
     98  // catalog[0].secfilt = gfits_table_get_SecFilt (&ftable, &Nitems, NULL);
    9999  // catalog[0].Nsecfilt = Nitems / catalog[0].Naverage;
    100100
    101101  /* read secfilt table header */
    102   if (!fits_fread_header (f, &header)) {
     102  if (!gfits_fread_header (f, &header)) {
    103103    if (VERBOSE) fprintf (stderr, "can't read table secfilt header");
    104104    return (FALSE);
     
    106106  /* read secfilt table data */
    107107  if (catalog[0].catflags & LOAD_SECF) {
    108     if (!fits_fread_ftable_data (f, &ftable)) {
     108    if (!gfits_fread_ftable_data (f, &ftable)) {
    109109      if (VERBOSE) fprintf (stderr, "can't read table secfilt data");
    110110      return (FALSE);
     
    117117  } else {
    118118    /* no real need to skip the data array here... */
    119     Nbytes = fits_matrix_size (&header);
     119    Nbytes = gfits_matrix_size (&header);
    120120    fseek (f, Nbytes, SEEK_CUR);
    121121  }
     
    139139
    140140  /* make sure header is consistent with data */
    141   fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
    142   fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
    143   fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
    144   fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
    145   fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
     141  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
     142  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
     143  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
     144  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
     145  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
    146146
    147147  f = catalog[0].f;
     
    152152
    153153  /* write table PHU header */
    154   if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     154  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
    155155    fprintf (stderr, "can't write primary header");
    156156    return (FALSE);
     
    158158
    159159  /* this is probably a NOP, do I have to keep it in? */
    160   fits_create_matrix (&catalog[0].header, &matrix);
    161   if (!fits_fwrite_matrix  (catalog[0].f, &matrix)) {
     160  gfits_create_matrix (&catalog[0].header, &matrix);
     161  if (!gfits_fwrite_matrix  (catalog[0].f, &matrix)) {
    162162    fprintf (stderr, "can't write primary matrix");
    163163    return (FALSE);
    164164  }
    165   fits_free_matrix (&matrix);
     165  gfits_free_matrix (&matrix);
    166166
    167167  /* write out Average table (convert to FITS table format) */
    168168  AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
    169   if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    170     fprintf (stderr, "can't write table header");
    171     return (FALSE);
    172   }
    173   if (!fits_fwrite_table (catalog[0].f, &ftable)) {
    174     fprintf (stderr, "can't write table data");
    175     return (FALSE);
    176   }
    177   fits_free_table (&ftable);
    178   fits_free_header (&header);
     169  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     170    fprintf (stderr, "can't write table header");
     171    return (FALSE);
     172  }
     173  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
     174    fprintf (stderr, "can't write table data");
     175    return (FALSE);
     176  }
     177  gfits_free_table (&ftable);
     178  gfits_free_header (&header);
    179179
    180180  /* write out Measure table (convert to FITS table format) */
    181181  MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
    182   if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    183     fprintf (stderr, "can't write table header");
    184     return (FALSE);
    185   }
    186   if (!fits_fwrite_table (catalog[0].f, &ftable)) {
    187     fprintf (stderr, "can't write table data");
    188     return (FALSE);
    189   }
    190   fits_free_table (&ftable);
    191   fits_free_header (&header);
     182  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     183    fprintf (stderr, "can't write table header");
     184    return (FALSE);
     185  }
     186  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
     187    fprintf (stderr, "can't write table data");
     188    return (FALSE);
     189  }
     190  gfits_free_table (&ftable);
     191  gfits_free_header (&header);
    192192
    193193  /* write out Missing table (convert to FITS table format) */
    194   fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
    195   if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    196     fprintf (stderr, "can't write table header");
    197     return (FALSE);
    198   }
    199   if (!fits_fwrite_table (catalog[0].f, &ftable)) {
    200     fprintf (stderr, "can't write table data");
    201     return (FALSE);
    202   }
    203   fits_free_table (&ftable);
    204   fits_free_header (&header);
     194  gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
     195  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     196    fprintf (stderr, "can't write table header");
     197    return (FALSE);
     198  }
     199  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
     200    fprintf (stderr, "can't write table data");
     201    return (FALSE);
     202  }
     203  gfits_free_table (&ftable);
     204  gfits_free_header (&header);
    205205
    206206  /* write out SecFilt table (convert to FITS table format) */
    207207  Nitems = catalog[0].Naverage * catalog[0].Nsecfilt;
    208208  SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
    209   if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    210     fprintf (stderr, "can't write table header");
    211     return (FALSE);
    212   }
    213   if (!fits_fwrite_table (catalog[0].f, &ftable)) {
    214     fprintf (stderr, "can't write table data");
    215     return (FALSE);
    216   }
    217   fits_free_table (&ftable);
    218   fits_free_header (&header);
     209  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     210    fprintf (stderr, "can't write table header");
     211    return (FALSE);
     212  }
     213  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
     214    fprintf (stderr, "can't write table data");
     215    return (FALSE);
     216  }
     217  gfits_free_table (&ftable);
     218  gfits_free_header (&header);
    219219
    220220  return (TRUE);
  • trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c

    r6683 r7080  
    2020  /* get the components from the header */
    2121  catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0;
    22   if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &catalog[0].Naverage)) return (FALSE);
    23   if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &catalog[0].Nmeasure)) return (FALSE);
    24   if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &catalog[0].Nmissing)) return (FALSE);
    25   if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
     22  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &catalog[0].Naverage)) return (FALSE);
     23  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &catalog[0].Nmeasure)) return (FALSE);
     24  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &catalog[0].Nmissing)) return (FALSE);
     25  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
    2626
    2727  /* determine catalog format */
    2828  catalog[0].catformat = DVO_FORMAT_UNDEF;
    29   if (fits_scan (&catalog[0].header, "FORMAT",  "%s", 1, format)) {
     29  if (gfits_scan (&catalog[0].header, "FORMAT",  "%s", 1, format)) {
    3030    if (!strcmp (format, "INTERNAL")) catalog[0].catformat = DVO_FORMAT_INTERNAL;
    3131    if (!strcmp (format, "LONEOS")) catalog[0].catformat = DVO_FORMAT_LONEOS;
     
    3535    if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format;
    3636  }
    37   if (fits_scan (&catalog[0].header, "NEWMEAS",  "%t", 1, &NewMeasure)) {
     37  if (gfits_scan (&catalog[0].header, "NEWMEAS",  "%t", 1, &NewMeasure)) {
    3838    catalog[0].catformat = DVO_FORMAT_ELIXIR;
    3939    goto got_format;
    4040  }
    41   if (fits_scan (&catalog[0].header, "TELESCOP",  "%s", 1, telescope)) {
     41  if (gfits_scan (&catalog[0].header, "TELESCOP",  "%s", 1, telescope)) {
    4242    if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
    4343      catalog[0].catformat = DVO_FORMAT_LONEOS;
     
    145145      return (FALSE);
    146146    }
    147     fits_convert_Missing (catalog[0].missing, MissingSize, Nitems);
     147    gfits_convert_Missing (catalog[0].missing, MissingSize, Nitems);
    148148  } else {
    149149    /* skip over missings */
     
    194194
    195195  /* make sure header is consistent with data */
    196   fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
    197   fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
    198   fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
    199   fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
     196  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
     197  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
     198  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
     199  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
    200200
    201201  /* specify the appropriate data format */
    202   if (catalog[0].catformat == DVO_FORMAT_INTERNAL)  fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL");
    203   if (catalog[0].catformat == DVO_FORMAT_LONEOS)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");
    204   if (catalog[0].catformat == DVO_FORMAT_ELIXIR)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");
    205   if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");
    206   if (catalog[0].catformat == DVO_FORMAT_PMTEST)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");
     202  if (catalog[0].catformat == DVO_FORMAT_INTERNAL)  gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL");
     203  if (catalog[0].catformat == DVO_FORMAT_LONEOS)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");
     204  if (catalog[0].catformat == DVO_FORMAT_ELIXIR)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");
     205  if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");
     206  if (catalog[0].catformat == DVO_FORMAT_PMTEST)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");
    207207
    208208  /* rewind file pointers and truncate file */
     
    211211  ftruncate (fileno (catalog[0].f), 0);
    212212
    213   /* write header data (use fits_write_header?) */
     213  /* write header data (use gfits_write_header?) */
    214214  nitems = fwrite (catalog[0].header.buffer, 1, catalog[0].header.size, f);
    215215  if (nitems != catalog[0].header.size) {
     
    224224  /* write missing data */
    225225  Nitems = catalog[0].Nmissing;
    226   fits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems);
     226  gfits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems);
    227227  nitems = fwrite (catalog[0].missing, sizeof(Missing), Nitems, f);
    228228  if (nitems != Nitems) {
     
    260260        return (NULL);
    261261      }
    262       fits_convert_Average (average, sizeof(Average), Naverage);
     262      gfits_convert_Average (average, sizeof(Average), Naverage);
    263263      break;
    264264    case DVO_FORMAT_ELIXIR:
     
    269269        return (NULL);
    270270      }
    271       fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
     271      gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
    272272      average = AverageElixirToInternal (tmpAverageElixir, Naverage);
    273273      free (tmpAverageElixir);
     
    280280        return (NULL);
    281281      }
    282       fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
     282      gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
    283283      average = AverageLoneosToInternal (tmpAverageLoneos, Naverage);
    284284      free (tmpAverageLoneos);
     
    291291        return (NULL);
    292292      }
    293       fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
     293      gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
    294294      average = AveragePanstarrsToInternal (tmpAveragePanstarrs, Naverage);
    295295      free (tmpAveragePanstarrs);
     
    302302        return (NULL);
    303303      }
    304       fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
     304      gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
    305305      average = AveragePMtestToInternal (tmpAveragePMtest, Naverage);
    306306      free (tmpAveragePMtest);
     
    325325  switch (format) {
    326326    case DVO_FORMAT_INTERNAL:
    327       fits_convert_Average (average, sizeof(Average), Naverage);
     327      gfits_convert_Average (average, sizeof(Average), Naverage);
    328328      nitems = fwrite (average, sizeof(Average), Naverage, f);
    329329      if (nitems != Naverage) {
     
    334334    case DVO_FORMAT_ELIXIR:
    335335      tmpAverageElixir = AverageInternalToElixir (average, Naverage);
    336       fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
     336      gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
    337337      nitems = fwrite (tmpAverageElixir, sizeof(AverageElixir), Naverage, f);
    338338      free (tmpAverageElixir);
     
    344344    case DVO_FORMAT_LONEOS:
    345345      tmpAverageLoneos = AverageInternalToLoneos (average, Naverage);
    346       fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
     346      gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
    347347      nitems = fwrite (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f);
    348348      free (tmpAverageLoneos);
     
    354354    case DVO_FORMAT_PANSTARRS:
    355355      tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
    356       fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
     356      gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
    357357      nitems = fwrite (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f);
    358358      free (tmpAveragePanstarrs);
     
    364364    case DVO_FORMAT_PMTEST:
    365365      tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
    366       fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
     366      gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
    367367      nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f);
    368368      free (tmpAveragePMtest);
     
    397397        return (NULL);
    398398      }
    399       fits_convert_Measure (measure, sizeof(Measure), Nmeasure);
     399      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
    400400      break;
    401401    case DVO_FORMAT_ELIXIR:
     
    406406        return (NULL);
    407407      }
    408       fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
     408      gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
    409409      measure = MeasureElixirToInternal (tmpMeasureElixir, Nmeasure);
    410410      free (tmpMeasureElixir);
     
    417417        return (NULL);
    418418      }
    419       fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
     419      gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
    420420      measure = MeasureLoneosToInternal (tmpMeasureLoneos, Nmeasure);
    421421      free (tmpMeasureLoneos);
     
    429429        return (NULL);
    430430      }
    431       fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
     431      gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
    432432      measure = MeasurePanstarrsToInternal (tmpMeasurePanstarrs, Nmeasure);
    433433      free (tmpMeasurePanstarrs);
     
    451451  switch (format) {
    452452    case DVO_FORMAT_INTERNAL:
    453       fits_convert_Measure (measure, sizeof(Measure), Nmeasure);
     453      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
    454454      nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
    455455      if (nitems != Nmeasure) {
     
    460460    case DVO_FORMAT_ELIXIR:
    461461      tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
    462       fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
     462      gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
    463463      nitems = fwrite (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f);
    464464      free (tmpMeasureElixir);
     
    470470    case DVO_FORMAT_LONEOS:
    471471      tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
    472       fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
     472      gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
    473473      nitems = fwrite (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f);
    474474      free (tmpMeasureLoneos);
     
    481481    case DVO_FORMAT_PMTEST:
    482482      tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
    483       fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
     483      gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
    484484      nitems = fwrite (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);
    485485      free (tmpMeasurePanstarrs);
     
    514514        return (NULL);
    515515      }
    516       fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
     516      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
    517517      break;
    518518    case DVO_FORMAT_ELIXIR:
     
    523523        return (NULL);
    524524      }
    525       fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
     525      gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
    526526      secfilt = SecFiltElixirToInternal (tmpSecFiltElixir, Nsecfilt);
    527527      free (tmpSecFiltElixir);
     
    534534        return (NULL);
    535535      }
    536       fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
     536      gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
    537537      secfilt = SecFiltLoneosToInternal (tmpSecFiltLoneos, Nsecfilt);
    538538      free (tmpSecFiltLoneos);
     
    546546        return (NULL);
    547547      }
    548       fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
     548      gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
    549549      secfilt = SecFiltPanstarrsToInternal (tmpSecFiltPanstarrs, Nsecfilt);
    550550      free (tmpSecFiltPanstarrs);
     
    568568  switch (format) {
    569569    case DVO_FORMAT_INTERNAL:
    570       fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
     570      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
    571571      nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f);
    572572      if (nitems != Nsecfilt) {
     
    577577    case DVO_FORMAT_ELIXIR:
    578578      tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
    579       fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
     579      gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
    580580      nitems = fwrite (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f);
    581581      free (tmpSecFiltElixir);
     
    587587    case DVO_FORMAT_LONEOS:
    588588      tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
    589       fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
     589      gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
    590590      nitems = fwrite (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f);
    591591      free (tmpSecFiltLoneos);
     
    598598    case DVO_FORMAT_PMTEST:
    599599      tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
    600       fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
     600      gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
    601601      nitems = fwrite (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);
    602602      free (tmpSecFiltPanstarrs);
  • trunk/Ohana/src/libdvo/src/dvo_catalog_split.c

    r5320 r7080  
    1717
    1818  /* get the components from the header - these duplicate information in the split files (NAXIS2) */
    19   if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
    20   if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
    21   if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
    22   if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
     19  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
     20  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
     21  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
     22  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
    2323
    2424  /**  Nsecfilt is unusual: it does not list the number of data items in the table
     
    4040    fseek (catalog[0].f, catalog[0].header.size, SEEK_SET);
    4141    /* matrix should be empty */
    42     if (!fits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) {
     42    if (!gfits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) {
    4343      if (VERBOSE) fprintf (stderr, "can't read primary matrix");
    4444      return (FALSE);
    4545    }
    4646    /* read Average table header */
    47     if (!fits_fread_header (catalog[0].f, &header)) {
     47    if (!gfits_fread_header (catalog[0].f, &header)) {
    4848      if (VERBOSE) fprintf (stderr, "can't read table average header");
    4949      return (FALSE);
    5050    }
    5151    /* read Average table data */
    52     if (!fits_fread_ftable_data (catalog[0].f, &ftable)) {
     52    if (!gfits_fread_ftable_data (catalog[0].f, &ftable)) {
    5353      if (VERBOSE) fprintf (stderr, "can't read table average data");
    5454      return (FALSE);
     
    5858      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%d vs %d)\n", Naverage, catalog[0].Naverage);
    5959    }
    60     fits_free_header (&header);
     60    gfits_free_header (&header);
    6161  }
    6262
     
    7070
    7171    /* get split filename from main header (paths relative to cpt file) */
    72     if (!fits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
     72    if (!gfits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
    7373    ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2);
    7474    sprintf (measure[0].filename, "%s/%s", path, string);
     
    8181
    8282    /* read PHU */
    83     if (!fits_load_header (measure[0].f, &measure[0].header)) {
     83    if (!gfits_load_header (measure[0].f, &measure[0].header)) {
    8484      if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename);
    8585      return (FALSE);
    8686    }
    8787    /* matrix should be empty */
    88     if (!fits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) {
     88    if (!gfits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) {
    8989      if (VERBOSE) fprintf (stderr, "can't read primary matrix");
    9090      return (FALSE);
    9191    }
    9292    /* read Measure table header */
    93     if (!fits_fread_header (measure[0].f, &header)) {
     93    if (!gfits_fread_header (measure[0].f, &header)) {
    9494      if (VERBOSE) fprintf (stderr, "can't read measure PHU header");
    9595      return (FALSE);
    9696    }
    9797    /* read Measure table data */
    98     if (!fits_fread_ftable_data (measure[0].f, &ftable)) {
     98    if (!gfits_fread_ftable_data (measure[0].f, &ftable)) {
    9999      if (VERBOSE) fprintf (stderr, "can't read table measure data");
    100100      return (FALSE);
     
    106106    }
    107107    catalog[0].Nmeas_off = 0;
    108     fits_free_header (&header);
    109     fits_free_matrix (&matrix);
     108    gfits_free_header (&header);
     109    gfits_free_matrix (&matrix);
    110110  }
    111111
     
    115115
    116116    /* get split filename from main header (paths relative to cpt file) */
    117     if (!fits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
     117    if (!gfits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
    118118    ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2);
    119119    sprintf (measure[0].filename, "%s/%s", path, string);
     
    126126
    127127    /* read PHU */
    128     if (!fits_load_header (measure[0].f, &measure[0].header)) {
     128    if (!gfits_load_header (measure[0].f, &measure[0].header)) {
    129129      if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename);
    130130      return (FALSE);
     
    147147
    148148    /* get split filename from main header (paths relative to cpt file) */
    149     if (!fits_scan (&catalog[0].header, "MISSING",  "%s", 1, string)) return (FALSE);
     149    if (!gfits_scan (&catalog[0].header, "MISSING",  "%s", 1, string)) return (FALSE);
    150150    ALLOCATE (missing[0].filename, char, strlen(path) + strlen(string) + 2);
    151151    sprintf (missing[0].filename, "%s/%s", path, string);
     
    158158
    159159    /* read PHU */
    160     if (!fits_load_header (missing[0].f, &missing[0].header)) {
     160    if (!gfits_load_header (missing[0].f, &missing[0].header)) {
    161161      if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", missing[0].filename);
    162162      return (FALSE);
    163163    }
    164164    /* matrix should be empty */
    165     if (!fits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) {
     165    if (!gfits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) {
    166166      if (VERBOSE) fprintf (stderr, "can't read primary matrix");
    167167      return (FALSE);
    168168    }
    169169    /* read Missing table header */
    170     if (!fits_fread_header (missing[0].f, &header)) {
     170    if (!gfits_fread_header (missing[0].f, &header)) {
    171171      if (VERBOSE) fprintf (stderr, "can't read table missing header");
    172172      return (FALSE);
    173173    }
    174174    /* read Missing table data */
    175     if (!fits_fread_ftable_data (missing[0].f, &ftable)) {
     175    if (!gfits_fread_ftable_data (missing[0].f, &ftable)) {
    176176      if (VERBOSE) fprintf (stderr, "can't read table missing data");
    177177      return (FALSE);
    178178    }
    179179    /* no conversions currently defined */
    180     catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
     180    catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
    181181    if (Nmissing != catalog[0].Nmissing) {
    182182      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing);
    183183    }
    184     fits_free_header (&header);
    185     fits_free_matrix (&matrix);
     184    gfits_free_header (&header);
     185    gfits_free_matrix (&matrix);
    186186  }
    187187  catalog[0].missing_catalog = missing;
     
    194194 
    195195    /* get split filename from main header (paths relative to cpt file) */
    196     if (!fits_scan (&catalog[0].header, "SECFILT",  "%s", 1, string)) return (FALSE);
     196    if (!gfits_scan (&catalog[0].header, "SECFILT",  "%s", 1, string)) return (FALSE);
    197197    ALLOCATE (secfilt[0].filename, char, strlen(path) + strlen(string) + 2);
    198198    sprintf (secfilt[0].filename, "%s/%s", path, string);
     
    205205
    206206    /* read PHU */
    207     if (!fits_load_header (secfilt[0].f, &secfilt[0].header)) {
     207    if (!gfits_load_header (secfilt[0].f, &secfilt[0].header)) {
    208208      if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", secfilt[0].filename);
    209209      return (FALSE);
    210210    }
    211211    /* matrix should be empty */
    212     if (!fits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) {
     212    if (!gfits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) {
    213213      if (VERBOSE) fprintf (stderr, "can't read primary matrix");
    214214      return (FALSE);
    215215    }
    216216    /* read secfilt table header */
    217     if (!fits_fread_header (secfilt[0].f, &header)) {
     217    if (!gfits_fread_header (secfilt[0].f, &header)) {
    218218      if (VERBOSE) fprintf (stderr, "can't read table secfilt header");
    219219      return (FALSE);
    220220    }
    221221    /* read secfilt table data */
    222     if (!fits_fread_ftable_data (secfilt[0].f, &ftable)) {
     222    if (!gfits_fread_ftable_data (secfilt[0].f, &ftable)) {
    223223      if (VERBOSE) fprintf (stderr, "can't read table secfilt data");
    224224      return (FALSE);
     
    229229      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%d vs %d)\n", Nexpect, Nitems);
    230230    }
    231     fits_free_header (&header);
    232     fits_free_matrix (&matrix);
     231    gfits_free_header (&header);
     232    gfits_free_matrix (&matrix);
    233233  }
    234234  catalog[0].secfilt_catalog = secfilt;
     
    260260
    261261  /* make sure header is consistent with data */
    262   fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
    263   fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
    264   fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
    265   fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
    266   fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
     262  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
     263  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
     264  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
     265  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
     266  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
    267267
    268268  /* rewind file pointers and truncate (file is still open) */
     
    271271  /* write table PHU header - always write this out */
    272272  /* XXX EAM : check if disk file size has changed */
    273   if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     273  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
    274274    fprintf (stderr, "can't write primary header");
    275275    return (FALSE);
     
    284284
    285285    /* this is probably a NOP, do I have to keep it in? */
    286     fits_create_matrix (&catalog[0].header, &matrix);
    287     if (!fits_fwrite_matrix  (catalog[0].f, &matrix)) {
     286    gfits_create_matrix (&catalog[0].header, &matrix);
     287    if (!gfits_fwrite_matrix  (catalog[0].f, &matrix)) {
    288288      fprintf (stderr, "can't write primary matrix");
    289289      return (FALSE);
    290290    }
    291     fits_free_matrix (&matrix);
     291    gfits_free_matrix (&matrix);
    292292
    293293    /* write out Average table (convert to FITS table format) */
    294294    AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
    295     if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    296       fprintf (stderr, "can't write table header");
    297       return (FALSE);
    298     }
    299     if (!fits_fwrite_table (catalog[0].f, &ftable)) {
    300       fprintf (stderr, "can't write table data");
    301       return (FALSE);
    302     }
    303     fits_free_table (&ftable);
    304     fits_free_header (&header);
     295    if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     296      fprintf (stderr, "can't write table header");
     297      return (FALSE);
     298    }
     299    if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
     300      fprintf (stderr, "can't write table data");
     301      return (FALSE);
     302    }
     303    gfits_free_table (&ftable);
     304    gfits_free_header (&header);
    305305  }
    306306
     
    322322
    323323    /* write table PHU header */
    324     if (!fits_fwrite_header  (measure[0].f, &measure[0].header)) {
     324    if (!gfits_fwrite_header  (measure[0].f, &measure[0].header)) {
    325325      fprintf (stderr, "can't write primary header");
    326326      return (FALSE);
     
    328328
    329329    /* this is probably a NOP, do I have to keep it in? */
    330     fits_create_matrix (&measure[0].header, &matrix);
    331     if (!fits_fwrite_matrix  (measure[0].f, &matrix)) {
     330    gfits_create_matrix (&measure[0].header, &matrix);
     331    if (!gfits_fwrite_matrix  (measure[0].f, &matrix)) {
    332332      fprintf (stderr, "can't write primary matrix");
    333333      return (FALSE);
    334334    }
    335     fits_free_matrix (&matrix);
     335    gfits_free_matrix (&matrix);
    336336
    337337    /* write out Measure table (convert to FITS table format) */
    338338    MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
    339     if (!fits_fwrite_Theader (measure[0].f, &header)) {
    340       fprintf (stderr, "can't write table header");
    341       return (FALSE);
    342     }
    343     if (!fits_fwrite_table (measure[0].f, &ftable)) {
    344       fprintf (stderr, "can't write table data");
    345       return (FALSE);
    346     }
    347     fits_free_table (&ftable);
    348     fits_free_header (&header);
     339    if (!gfits_fwrite_Theader (measure[0].f, &header)) {
     340      fprintf (stderr, "can't write table header");
     341      return (FALSE);
     342    }
     343    if (!gfits_fwrite_table (measure[0].f, &ftable)) {
     344      fprintf (stderr, "can't write table data");
     345      return (FALSE);
     346    }
     347    gfits_free_table (&ftable);
     348    gfits_free_header (&header);
    349349  }
    350350
     
    360360
    361361    /* write table PHU header */
    362     if (!fits_fwrite_header  (missing[0].f, &missing[0].header)) {
     362    if (!gfits_fwrite_header  (missing[0].f, &missing[0].header)) {
    363363      fprintf (stderr, "can't write primary header");
    364364      return (FALSE);
     
    366366
    367367    /* this is probably a NOP, do I have to keep it in? */
    368     fits_create_matrix (&missing[0].header, &matrix);
    369     if (!fits_fwrite_matrix  (missing[0].f, &matrix)) {
     368    gfits_create_matrix (&missing[0].header, &matrix);
     369    if (!gfits_fwrite_matrix  (missing[0].f, &matrix)) {
    370370      fprintf (stderr, "can't write primary matrix");
    371371      return (FALSE);
    372372    }
    373     fits_free_matrix (&matrix);
     373    gfits_free_matrix (&matrix);
    374374
    375375    /* write out Missing table (convert to FITS table format) */
    376     fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
    377     if (!fits_fwrite_Theader (missing[0].f, &header)) {
    378       fprintf (stderr, "can't write table header");
    379       return (FALSE);
    380     }
    381     if (!fits_fwrite_table (missing[0].f, &ftable)) {
    382       fprintf (stderr, "can't write table data");
    383       return (FALSE);
    384     }
    385     fits_free_table (&ftable);
    386     fits_free_header (&header);
     376    gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
     377    if (!gfits_fwrite_Theader (missing[0].f, &header)) {
     378      fprintf (stderr, "can't write table header");
     379      return (FALSE);
     380    }
     381    if (!gfits_fwrite_table (missing[0].f, &ftable)) {
     382      fprintf (stderr, "can't write table data");
     383      return (FALSE);
     384    }
     385    gfits_free_table (&ftable);
     386    gfits_free_header (&header);
    387387  }
    388388
     
    398398
    399399    /* write table PHU header */
    400     if (!fits_fwrite_header  (secfilt[0].f, &secfilt[0].header)) {
     400    if (!gfits_fwrite_header  (secfilt[0].f, &secfilt[0].header)) {
    401401      fprintf (stderr, "can't write primary header");
    402402      return (FALSE);
     
    404404
    405405    /* this is probably a NOP, do I have to keep it in? */
    406     fits_create_matrix (&secfilt[0].header, &matrix);
    407     if (!fits_fwrite_matrix  (secfilt[0].f, &matrix)) {
     406    gfits_create_matrix (&secfilt[0].header, &matrix);
     407    if (!gfits_fwrite_matrix  (secfilt[0].f, &matrix)) {
    408408      fprintf (stderr, "can't write primary matrix");
    409409      return (FALSE);
    410410    }
    411     fits_free_matrix (&matrix);
     411    gfits_free_matrix (&matrix);
    412412
    413413    /* write out SecFilt table (convert to FITS table format) */
    414414    Nitems = catalog[0].Naverage * catalog[0].Nsecfilt;
    415415    SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
    416     if (!fits_fwrite_Theader (secfilt[0].f, &header)) {
    417       fprintf (stderr, "can't write table header");
    418       return (FALSE);
    419     }
    420     if (!fits_fwrite_table (secfilt[0].f, &ftable)) {
    421       fprintf (stderr, "can't write table data");
    422       return (FALSE);
    423     }
    424     fits_free_table (&ftable);
    425     fits_free_header (&header);
     416    if (!gfits_fwrite_Theader (secfilt[0].f, &header)) {
     417      fprintf (stderr, "can't write table header");
     418      return (FALSE);
     419    }
     420    if (!gfits_fwrite_table (secfilt[0].f, &ftable)) {
     421      fprintf (stderr, "can't write table data");
     422      return (FALSE);
     423    }
     424    gfits_free_table (&ftable);
     425    gfits_free_header (&header);
    426426  }
    427427
     
    453453
    454454  /* make sure header is consistent with data */
    455   fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
    456   fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off);
    457   fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
    458   fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
    459   fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
     455  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
     456  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off);
     457  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
     458  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
     459  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
    460460
    461461  /* rewind file pointers and truncate (file is still open) */
     
    464464  /* write table PHU header - always write this out */
    465465  /* XXX EAM : check if disk file size has changed */
    466   if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     466  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
    467467    fprintf (stderr, "can't write primary header");
    468468    return (FALSE);
     
    474474
    475475    /* skip past matrix (already at end of header) */
    476     Nskip = fits_matrix_size (&catalog[0].header);
     476    Nskip = gfits_matrix_size (&catalog[0].header);
    477477    fseek (catalog[0].f, Nskip, SEEK_CUR);
    478478
     
    483483    AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
    484484    /* convert only output rows to vtable */
    485     fits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout);
    486 
    487     if (!fits_fwrite_Theader (catalog[0].f, &header)) {
    488       fprintf (stderr, "can't write table header");
    489       return (FALSE);
    490     }
    491     if (!fits_fwrite_vtable (catalog[0].f, &vtable)) {
    492       fprintf (stderr, "can't write table data");
    493       return (FALSE);
    494     }
    495     fits_free_vtable (&vtable);
    496     fits_free_table (&ftable);
    497     fits_free_header (&header);
     485    gfits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout);
     486
     487    if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
     488      fprintf (stderr, "can't write table header");
     489      return (FALSE);
     490    }
     491    if (!gfits_fwrite_vtable (catalog[0].f, &vtable)) {
     492      fprintf (stderr, "can't write table data");
     493      return (FALSE);
     494    }
     495    gfits_free_vtable (&vtable);
     496    gfits_free_table (&ftable);
     497    gfits_free_header (&header);
    498498  }
    499499
     
    505505
    506506    /* skip past PHU header and matrix */
    507     Nskip = measure[0].header.size + fits_matrix_size (&measure[0].header);
     507    Nskip = measure[0].header.size + gfits_matrix_size (&measure[0].header);
    508508    fseek (measure[0].f, Nskip, SEEK_SET);
    509509
     
    516516    MeasureToFtable (&ftable, &catalog[0].measure[Nstart], Nout, catalog[0].catformat);
    517517
    518     fits_scan (&header, "NAXIS1", "%d", 1, &Nx);
    519     fits_scan (&header, "NAXIS2", "%d", 1, &Ny);
     518    gfits_scan (&header, "NAXIS1", "%d", 1, &Nx);
     519    gfits_scan (&header, "NAXIS2", "%d", 1, &Ny);
    520520
    521521    /* convert all output rows to vtable */
     
    529529
    530530    /* modify vtable to represent full disk table */
    531     fits_modify (&header, "NAXIS2", "%d", 1, Nlines);
     531    gfits_modify (&header, "NAXIS2", "%d", 1, Nlines);
    532532    header.Naxis[1] = Nlines;
    533533
    534     vtable.size = fits_matrix_size (&header);
     534    vtable.size = gfits_matrix_size (&header);
    535535    vtable.Nrow = Nout;
    536536    vtable.pad = vtable.size - Nx*Ny;
    537537
    538     if (!fits_fwrite_Theader (measure[0].f, &header)) {
    539       fprintf (stderr, "can't write table header");
    540       return (FALSE);
    541     }
    542     if (!fits_fwrite_vtable (measure[0].f, &vtable)) {
    543       fprintf (stderr, "can't write table data");
    544       return (FALSE);
    545     }
    546     fits_free_vtable (&vtable);
    547     fits_free_table (&ftable);
    548     fits_free_header (&header);
     538    if (!gfits_fwrite_Theader (measure[0].f, &header)) {
     539      fprintf (stderr, "can't write table header");
     540      return (FALSE);
     541    }
     542    if (!gfits_fwrite_vtable (measure[0].f, &vtable)) {
     543      fprintf (stderr, "can't write table data");
     544      return (FALSE);
     545    }
     546    gfits_free_vtable (&vtable);
     547    gfits_free_table (&ftable);
     548    gfits_free_header (&header);
    549549  }
    550550
     
    562562
    563563    /* write table PHU header */
    564     if (!fits_fwrite_header  (missing[0].f, &missing[0].header)) {
     564    if (!gfits_fwrite_header  (missing[0].f, &missing[0].header)) {
    565565      fprintf (stderr, "can't write primary header");
    566566      return (FALSE);
     
    568568
    569569    /* this is probably a NOP, do I have to keep it in? */
    570     fits_create_matrix (&missing[0].header, &matrix);
    571     if (!fits_fwrite_matrix  (missing[0].f, &matrix)) {
     570    gfits_create_matrix (&missing[0].header, &matrix);
     571    if (!gfits_fwrite_matrix  (missing[0].f, &matrix)) {
    572572      fprintf (stderr, "can't write primary matrix");
    573573      return (FALSE);
    574574    }
    575     fits_free_matrix (&matrix);
     575    gfits_free_matrix (&matrix);
    576576
    577577    /* write out Missing table (convert to FITS table format) */
    578     fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
    579     if (!fits_fwrite_Theader (missing[0].f, &header)) {
    580       fprintf (stderr, "can't write table header");
    581       return (FALSE);
    582     }
    583     if (!fits_fwrite_table (missing[0].f, &ftable)) {
    584       fprintf (stderr, "can't write table data");
    585       return (FALSE);
    586     }
    587     fits_free_table (&ftable);
    588     fits_free_header (&header);
     578    gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
     579    if (!gfits_fwrite_Theader (missing[0].f, &header)) {
     580      fprintf (stderr, "can't write table header");
     581      return (FALSE);
     582    }
     583    if (!gfits_fwrite_table (missing[0].f, &ftable)) {
     584      fprintf (stderr, "can't write table data");
     585      return (FALSE);
     586    }
     587    gfits_free_table (&ftable);
     588    gfits_free_header (&header);
    589589  }
    590590
     
    596596
    597597    /* skip past PHU header and matrix */
    598     Nskip = secfilt[0].header.size + fits_matrix_size (&secfilt[0].header);
     598    Nskip = secfilt[0].header.size + gfits_matrix_size (&secfilt[0].header);
    599599    fseek (secfilt[0].f, Nskip, SEEK_SET);
    600600
     
    607607    SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
    608608    /* convert only output rows to vtable */
    609     fits_table_to_vtable (&ftable, &vtable, Ndisk, Nout);
    610 
    611     if (!fits_fwrite_Theader (secfilt[0].f, &header)) {
    612       fprintf (stderr, "can't write table header");
    613       return (FALSE);
    614     }
    615     if (!fits_fwrite_vtable (secfilt[0].f, &vtable)) {
    616       fprintf (stderr, "can't write table data");
    617       return (FALSE);
    618     }
    619     fits_free_vtable (&vtable);
    620     fits_free_table (&ftable);
    621     fits_free_header (&header);
     609    gfits_table_to_vtable (&ftable, &vtable, Ndisk, Nout);
     610
     611    if (!gfits_fwrite_Theader (secfilt[0].f, &header)) {
     612      fprintf (stderr, "can't write table header");
     613      return (FALSE);
     614    }
     615    if (!gfits_fwrite_vtable (secfilt[0].f, &vtable)) {
     616      fprintf (stderr, "can't write table data");
     617      return (FALSE);
     618    }
     619    gfits_free_vtable (&vtable);
     620    gfits_free_table (&ftable);
     621    gfits_free_header (&header);
    622622  }
    623623
  • trunk/Ohana/src/libdvo/src/dvo_convert.c

    r6683 r7080  
    1919
    2020  /* convert to the internal format */
    21   if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     21  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
    2222    fprintf (stderr, "EXTNAME missing for average table\n");
    2323    return (FALSE);
    2424  }
    2525  if (!strcmp (extname, "DVO_AVERAGE")) {
    26     average = fits_table_get_Average (ftable, Naverage, NULL);
     26    average = gfits_table_get_Average (ftable, Naverage, NULL);
    2727    *format = DVO_FORMAT_INTERNAL;
    2828    return (average);
     
    3030  if (!strcmp (extname, "DVO_AVERAGE_ELIXIR")) {
    3131    AverageElixir *tmpAverage;
    32     tmpAverage = fits_table_get_AverageElixir (ftable, Naverage, NULL);
     32    tmpAverage = gfits_table_get_AverageElixir (ftable, Naverage, NULL);
    3333    average = AverageElixirToInternal (tmpAverage, *Naverage);
    3434    free (tmpAverage);
     
    3838  if (!strcmp (extname, "DVO_AVERAGE_LONEOS")) {
    3939    AverageLoneos *tmpAverage;
    40     tmpAverage = fits_table_get_AverageLoneos (ftable, Naverage, NULL);
     40    tmpAverage = gfits_table_get_AverageLoneos (ftable, Naverage, NULL);
    4141    average = AverageLoneosToInternal (tmpAverage, *Naverage);
    4242    free (tmpAverage);
     
    4646  if (!strcmp (extname, "DVO_AVERAGE_PANSTARRS")) {
    4747    AveragePanstarrs *tmpAverage;
    48     tmpAverage = fits_table_get_AveragePanstarrs (ftable, Naverage, NULL);
     48    tmpAverage = gfits_table_get_AveragePanstarrs (ftable, Naverage, NULL);
    4949    average = AveragePanstarrsToInternal (tmpAverage, *Naverage);
    5050    free (tmpAverage);
     
    5454  if (!strcmp (extname, "DVO_AVERAGE_PMTEST")) {
    5555    AveragePMtest *tmpAverage;
    56     tmpAverage = fits_table_get_AveragePMtest (ftable, Naverage, NULL);
     56    tmpAverage = gfits_table_get_AveragePMtest (ftable, Naverage, NULL);
    5757    average = AveragePMtestToInternal (tmpAverage, *Naverage);
    5858    free (tmpAverage);
     
    7777  switch (format) {
    7878    case DVO_FORMAT_INTERNAL:
    79       fits_table_set_Average (ftable, average, Naverage);
     79      gfits_table_set_Average (ftable, average, Naverage);
    8080      break;
    8181    case DVO_FORMAT_ELIXIR:
    8282      tmpAverageElixir = AverageInternalToElixir (average, Naverage);
    83       fits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);
     83      gfits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);
    8484      free (tmpAverageElixir);
    8585      break;
    8686    case DVO_FORMAT_LONEOS:
    8787      tmpAverageLoneos  = AverageInternalToLoneos (average, Naverage);
    88       fits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage);
     88      gfits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage);
    8989      free (tmpAverageLoneos );
    9090      break;
    9191    case DVO_FORMAT_PANSTARRS:
    9292      tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
    93       fits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);
     93      gfits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);
    9494      free (tmpAveragePanstarrs);
    9595      break;
    9696    case DVO_FORMAT_PMTEST:
    9797      tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
    98       fits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);
     98      gfits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);
    9999      free (tmpAveragePMtest);
    100100      break;
     
    114114
    115115  /* convert to the internal format */
    116   if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     116  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
    117117    fprintf (stderr, "EXTNAME missing for measure table\n");
    118118    return (FALSE);
    119119  }
    120120  if (!strcmp (extname, "DVO_MEASURE")) {
    121     measure = fits_table_get_Measure (ftable, Nmeasure, NULL);
     121    measure = gfits_table_get_Measure (ftable, Nmeasure, NULL);
    122122    *format = DVO_FORMAT_INTERNAL;
    123123    return (measure);
     
    125125  if (!strcmp (extname, "DVO_MEASURE_ELIXIR")) {
    126126    MeasureElixir *tmpMeasure;
    127     tmpMeasure = fits_table_get_MeasureElixir (ftable, Nmeasure, NULL);
     127    tmpMeasure = gfits_table_get_MeasureElixir (ftable, Nmeasure, NULL);
    128128    measure = MeasureElixirToInternal (tmpMeasure, *Nmeasure);
    129129    free (tmpMeasure);
     
    133133  if (!strcmp (extname, "DVO_MEASURE_LONEOS")) {
    134134    MeasureLoneos *tmpMeasure;
    135     tmpMeasure = fits_table_get_MeasureLoneos (ftable, Nmeasure, NULL);
     135    tmpMeasure = gfits_table_get_MeasureLoneos (ftable, Nmeasure, NULL);
    136136    measure = MeasureLoneosToInternal (tmpMeasure, *Nmeasure);
    137137    free (tmpMeasure);
     
    141141  if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") || !strcmp (extname, "DVO_MEASURE_PMTEST")) {
    142142    MeasurePanstarrs *tmpMeasure;
    143     tmpMeasure = fits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL);
     143    tmpMeasure = gfits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL);
    144144    measure = MeasurePanstarrsToInternal (tmpMeasure, *Nmeasure);
    145145    free (tmpMeasure);
     
    163163  switch (format) {
    164164    case DVO_FORMAT_INTERNAL:
    165       fits_table_set_Measure (ftable, measure, Nmeasure);
     165      gfits_table_set_Measure (ftable, measure, Nmeasure);
    166166      break;
    167167    case DVO_FORMAT_ELIXIR:
    168168      tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
    169       fits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);
     169      gfits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);
    170170      free (tmpMeasureElixir);
    171171      break;
    172172    case DVO_FORMAT_LONEOS:
    173173      tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
    174       fits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);
     174      gfits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);
    175175      free (tmpMeasureLoneos);
    176176      break;
     
    178178    case DVO_FORMAT_PMTEST:
    179179      tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
    180       fits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);
     180      gfits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);
    181181      free (tmpMeasurePanstarrs);
    182182      break;
     
    196196
    197197  /* convert to the internal format */
    198   if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     198  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
    199199    fprintf (stderr, "EXTNAME missing for secfilt table\n");
    200200    return (FALSE);
    201201  }
    202202  if (!strcmp (extname, "DVO_SECFILT")) {
    203     secfilt = fits_table_get_SecFilt (ftable, Nsecfilt, NULL);
     203    secfilt = gfits_table_get_SecFilt (ftable, Nsecfilt, NULL);
    204204    *format = DVO_FORMAT_INTERNAL;
    205205    return (secfilt);
     
    207207  if (!strcmp (extname, "DVO_SECFILT_ELIXIR")) {
    208208    SecFiltElixir *tmpSecFilt;
    209     tmpSecFilt = fits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL);
     209    tmpSecFilt = gfits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL);
    210210    secfilt = SecFiltElixirToInternal (tmpSecFilt, *Nsecfilt);
    211211    free (tmpSecFilt);
     
    215215  if (!strcmp (extname, "DVO_SECFILT_LONEOS")) {
    216216    SecFiltLoneos *tmpSecFilt;
    217     tmpSecFilt = fits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL);
     217    tmpSecFilt = gfits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL);
    218218    secfilt = SecFiltLoneosToInternal (tmpSecFilt, *Nsecfilt);
    219219    free (tmpSecFilt);
     
    223223  if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") || !strcmp (extname, "DVO_SECFILT_PMTEST")) {
    224224    SecFiltPanstarrs *tmpSecFilt;
    225     tmpSecFilt = fits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL);
     225    tmpSecFilt = gfits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL);
    226226    secfilt = SecFiltPanstarrsToInternal (tmpSecFilt, *Nsecfilt);
    227227    free (tmpSecFilt);
     
    245245  switch (format) {
    246246    case DVO_FORMAT_INTERNAL:
    247       fits_table_set_SecFilt (ftable, secfilt, Nsecfilt);
     247      gfits_table_set_SecFilt (ftable, secfilt, Nsecfilt);
    248248      break;
    249249    case DVO_FORMAT_ELIXIR:
    250250      tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
    251       fits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);
     251      gfits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);
    252252      free (tmpSecFiltElixir);
    253253      break;
    254254    case DVO_FORMAT_LONEOS:
    255255      tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
    256       fits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);
     256      gfits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);
    257257      free (tmpSecFiltLoneos);
    258258      break;
     
    260260    case DVO_FORMAT_PMTEST:
    261261      tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
    262       fits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);
     262      gfits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);
    263263      free (tmpSecFiltPanstarrs);
    264264      break;
     
    280280  if (*format == DVO_FORMAT_ELIXIR) {
    281281    ImageElixir *tmpimage;
    282     tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);
     282    tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL);
    283283    ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage);
    284284    free (tmpimage);
     
    287287
    288288  /* convert to the internal format */
    289   if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     289  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
    290290    fprintf (stderr, "EXTNAME missing for image table\n");
    291291    return (FALSE);
     
    293293  if (!strcmp (extname, "DVO_IMAGE")) {
    294294    Image *image;
    295     image = fits_table_get_Image (ftable, &Nimage, NULL);
     295    image = gfits_table_get_Image (ftable, &Nimage, NULL);
    296296    *format = DVO_FORMAT_INTERNAL;
    297297    return (TRUE);
     
    300300    ImageElixir *tmpimage;
    301301    *format = DVO_FORMAT_ELIXIR;
    302     tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);
     302    tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL);
    303303    ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage);
    304304    free (tmpimage);
     
    308308    ImageLoneos *tmpimage;
    309309    *format = DVO_FORMAT_LONEOS;
    310     tmpimage = fits_table_get_ImageLoneos (ftable, &Nimage, NULL);
     310    tmpimage = gfits_table_get_ImageLoneos (ftable, &Nimage, NULL);
    311311    ftable[0].buffer = (char *) ImageLoneosToInternal (tmpimage, Nimage);
    312312    free (tmpimage);
     
    316316    ImagePanstarrs *tmpimage;
    317317    *format = DVO_FORMAT_PANSTARRS;
    318     tmpimage = fits_table_get_ImagePanstarrs (ftable, &Nimage, NULL);
     318    tmpimage = gfits_table_get_ImagePanstarrs (ftable, &Nimage, NULL);
    319319    ftable[0].buffer = (char *) ImagePanstarrsToInternal (tmpimage, Nimage);
    320320    free (tmpimage);
     
    325325
    326326set_header:
    327   fits_free_header (theader);
    328   fits_table_mkheader_Image (theader);
    329   fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
     327  gfits_free_header (theader);
     328  gfits_table_mkheader_Image (theader);
     329  gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
    330330  theader[0].Naxis[1] = Nimage;
    331   ftable[0].size = fits_matrix_size (theader);
     331  ftable[0].size = gfits_matrix_size (theader);
    332332  return (TRUE);
    333333}
     
    345345  switch (format) {
    346346    case DVO_FORMAT_INTERNAL:
    347       fits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);
     347      gfits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);
    348348      break;
    349349    case DVO_FORMAT_ELIXIR:
    350350      tmpImageElixir = ImageInternalToElixir ((Image *) ftable[0].buffer, Nimage);
    351351      free (ftable[0].buffer);
    352       fits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);
     352      gfits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);
    353353      free (tmpImageElixir);
    354354      break;
     
    356356      tmpImageLoneos = ImageInternalToLoneos ((Image *) ftable[0].buffer, Nimage);
    357357      free (ftable[0].buffer);
    358       fits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);
     358      gfits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);
    359359      free (tmpImageLoneos);
    360360      break;
     
    363363      tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage);
    364364      free (ftable[0].buffer);
    365       fits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);
     365      gfits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);
    366366      free (tmpImagePanstarrs);
    367367      break;
     
    386386    case DVO_FORMAT_INTERNAL:
    387387      for (i = 0; i < Nrow; i++) {
    388         fits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);
     388        gfits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);
    389389      }
    390390      return (TRUE);
     
    393393      for (i = 0; i < Nrow; i++) {
    394394        tmpImageElixir = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1);
    395         fits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);
     395        gfits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);
    396396        free (vtable[0].buffer[i]);
    397397        vtable[0].buffer[i] = (char *) tmpImageElixir;
     
    399399
    400400      /* convert header from old format to new format */
    401       fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
    402 
    403       fits_free_header (theader);
    404       fits_table_mkheader_ImageElixir (theader);
    405 
    406       fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
     401      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
     402
     403      gfits_free_header (theader);
     404      gfits_table_mkheader_ImageElixir (theader);
     405
     406      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
    407407      theader[0].Naxis[1] = Nimage;
    408       vtable[0].size = fits_matrix_size (theader);
     408      vtable[0].size = gfits_matrix_size (theader);
    409409      return (TRUE);
    410410    case DVO_FORMAT_LONEOS:
     
    412412      for (i = 0; i < Nrow; i++) {
    413413        tmpImageLoneos = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1);
    414         fits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);
     414        gfits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);
    415415        free (vtable[0].buffer[i]);
    416416        vtable[0].buffer[i] = (char *) tmpImageLoneos;
     
    418418
    419419      /* convert header from old format to new format */
    420       fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
    421 
    422       fits_free_header (theader);
    423       fits_table_mkheader_ImageLoneos (theader);
    424 
    425       fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
     420      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
     421
     422      gfits_free_header (theader);
     423      gfits_table_mkheader_ImageLoneos (theader);
     424
     425      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
    426426      theader[0].Naxis[1] = Nimage;
    427       vtable[0].size = fits_matrix_size (theader);
     427      vtable[0].size = gfits_matrix_size (theader);
    428428      return (TRUE);
    429429    case DVO_FORMAT_PANSTARRS:
     
    431431      for (i = 0; i < Nrow; i++) {
    432432        tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1);
    433         fits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);
     433        gfits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);
    434434        free (vtable[0].buffer[i]);
    435435        vtable[0].buffer[i] = (char *) tmpImagePanstarrs;
     
    437437
    438438      /* convert header from old format to new format */
    439       fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
    440       fits_free_header (theader);
    441       fits_table_mkheader_ImagePanstarrs (theader);
    442       fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
     439      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
     440      gfits_free_header (theader);
     441      gfits_table_mkheader_ImagePanstarrs (theader);
     442      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
    443443      theader[0].Naxis[1] = Nimage;
    444       vtable[0].size = fits_matrix_size (theader);
     444      vtable[0].size = gfits_matrix_size (theader);
    445445      return (TRUE);
    446446    default:
  • trunk/Ohana/src/libdvo/src/dvo_image.c

    r6674 r7080  
    99  db[0].lockstate = lockstate;
    1010  db[0].timeout   = timeout;
    11   fits_db_init (db);
     11  gfits_db_init (db);
    1212
    13   if (!fits_db_lock (db, filename)) {
     13  if (!gfits_db_lock (db, filename)) {
    1414    fprintf (stderr, "ERROR: can't lock image catalog\n");
    1515    return (FALSE);
     
    2222  mode_t mode;
    2323
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525
    2626  /* force permissions to 666 */
     
    6363    case DVO_MODE_MEF:
    6464      if (VERBOSE) fprintf (stderr, "reading images (mode DVO_MODE_MEF)\n");
    65       status = fits_db_load (db);
     65      status = gfits_db_load (db);
    6666      break;
    6767    case DVO_MODE_RAW:
     
    9191    case DVO_MODE_MEF:
    9292    case DVO_MODE_SPLIT:
    93       status = fits_db_save (db);
     93      status = gfits_db_save (db);
    9494      break;
    9595    case DVO_MODE_RAW:
     
    109109  /* adjust header */
    110110  Nimages = 0;
    111   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
     111  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
    112112  Nimages += Nnew;
    113   fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
     113  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
    114114
    115   fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    116   fits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
     115  gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
     116  gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
    117117
    118118  /* check that primary header and table header agree */
     
    137137    case DVO_MODE_MEF:
    138138    case DVO_MODE_SPLIT:
    139       status = fits_db_update (db);
     139      status = gfits_db_update (db);
    140140      break;
    141141    case DVO_MODE_RAW:
  • trunk/Ohana/src/libdvo/src/dvo_image_raw.c

    r6684 r7080  
    1212
    1313  /* read fits header from file - return FALSE on error */
    14   if (!fits_fread_header (db[0].f, &db[0].header)) {
     14  if (!gfits_fread_header (db[0].f, &db[0].header)) {
    1515    fprintf (stderr, "can't read primary header\n");
    1616    return (FALSE);
     
    1919  /* determine image table format */
    2020  db[0].format = DVO_FORMAT_UNDEF;
    21   if (fits_scan (&db[0].header, "FORMAT",  "%s", 1, format)) {
     21  if (gfits_scan (&db[0].header, "FORMAT",  "%s", 1, format)) {
    2222    if (!strcmp (format, "INTERNAL")) db[0].format = DVO_FORMAT_INTERNAL;
    2323    if (!strcmp (format, "LONEOS")) db[0].format = DVO_FORMAT_LONEOS;
     
    2727    if (db[0].format != DVO_FORMAT_UNDEF) goto got_format;
    2828  }
    29   if (fits_scan (&db[0].header, "TELESCOP",  "%s", 1, telescope)) {
     29  if (gfits_scan (&db[0].header, "TELESCOP",  "%s", 1, telescope)) {
    3030    if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
    3131      db[0].format = DVO_FORMAT_LONEOS;
     
    4343  /* find number of images */
    4444  Nimage = 0;
    45   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
     45  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
    4646  if (stat (db[0].filename, &filestatus) == -1) {
    4747    if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     
    6868  /* create a dummy ftable, theader set for this data */
    6969  /* (original table has NAXIS = 2, change to 0) */
    70   /* fits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */
    71   fits_create_matrix (&db[0].header, &db[0].matrix);
     70  /* gfits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */
     71  gfits_create_matrix (&db[0].header, &db[0].matrix);
    7272  db[0].ftable.header = &db[0].theader;
    7373
    74   if (db[0].format == DVO_FORMAT_INTERNAL)  fits_table_mkheader_Image (&db[0].theader);
    75   if (db[0].format == DVO_FORMAT_LONEOS)    fits_table_mkheader_ImageLoneos (&db[0].theader);
    76   if (db[0].format == DVO_FORMAT_ELIXIR)    fits_table_mkheader_ImageElixir (&db[0].theader);
    77   if (db[0].format == DVO_FORMAT_PANSTARRS) fits_table_mkheader_ImagePanstarrs (&db[0].theader);
     74  if (db[0].format == DVO_FORMAT_INTERNAL)  gfits_table_mkheader_Image (&db[0].theader);
     75  if (db[0].format == DVO_FORMAT_LONEOS)    gfits_table_mkheader_ImageLoneos (&db[0].theader);
     76  if (db[0].format == DVO_FORMAT_ELIXIR)    gfits_table_mkheader_ImageElixir (&db[0].theader);
     77  if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_table_mkheader_ImagePanstarrs (&db[0].theader);
    7878   
    7979  /* read data from file */
     
    8686  }
    8787
    88   fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
     88  gfits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
    8989  db[0].theader.Naxis[1] = Nimage;
    90   db[0].ftable.size = fits_matrix_size (&db[0].theader);
     90  db[0].ftable.size = gfits_matrix_size (&db[0].theader);
    9191  db[0].swapped = FALSE;  /* table does not have internal byte-order */
    9292  return (TRUE);
     
    112112  }
    113113
    114   /** this code is identical to fits_fwrite_vtable, except without padding */
     114  /** this code is identical to gfits_fwrite_vtable, except without padding */
    115115  Nrow = db[0].vtable.Nrow;
    116116  row = db[0].vtable.row;
    117   fits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx);
    118   fits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny);
     117  gfits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx);
     118  gfits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny);
    119119
    120120  /* file pointer is at beginning of desired table data */
     
    147147  }
    148148
    149   fits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx);
    150   fits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny);
     149  gfits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx);
     150  gfits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny);
    151151  size = Nx * Ny;
    152152  Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f);
  • trunk/Ohana/src/libdvo/src/fits_db.c

    r6234 r7080  
    22
    33/* init the db structure */
    4 int fits_db_init (FITS_DB *db) {
     4int gfits_db_init (FITS_DB *db) {
    55
    66  db[0].f             = NULL;
     
    1919
    2020/* create an empty db */
    21 int fits_db_create (FITS_DB *db) {
    22   fits_init_header (&db[0].header);   
     21int gfits_db_create (FITS_DB *db) {
     22  gfits_init_header (&db[0].header);   
    2323  db[0].header.extend = TRUE;
    24   fits_create_header (&db[0].header);
    25   fits_create_matrix (&db[0].header, &db[0].matrix);
    26   fits_print (&db[0].header, "NEXTEND", "%d", 1, 1);
     24  gfits_create_header (&db[0].header);
     25  gfits_create_matrix (&db[0].header, &db[0].matrix);
     26  gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1);
    2727  db[0].ftable.header = &db[0].theader;
    2828  return (TRUE);
    2929}
    3030
    31 int fits_db_lock (FITS_DB *db, char *filename) {
     31int gfits_db_lock (FITS_DB *db, char *filename) {
    3232 
    3333  /* database name must be set first */
     
    5959
    6060/* load the complete db table into memory - load first extension, do not validate EXTNAME */
    61 int fits_db_load (FITS_DB *db) {
     61int gfits_db_load (FITS_DB *db) {
    6262
    6363  /* database name must be set first */
     
    6868
    6969  /* init & load in FITS table data - return FALSE on error */
    70   if (!fits_fread_header (db[0].f, &db[0].header)) {
     70  if (!gfits_fread_header (db[0].f, &db[0].header)) {
    7171    fprintf (stderr, "can't read primary header\n");
    7272    return (FALSE);
    7373  }
    74   if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
     74  if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
    7575    fprintf (stderr, "can't read primary matrix");
    7676    return (FALSE);
    7777  }
    78   if (!fits_fread_header (db[0].f, &db[0].theader)) {
     78  if (!gfits_fread_header (db[0].f, &db[0].theader)) {
    7979    fprintf (stderr, "can't read table header");
    8080    return (FALSE);
    8181  }
    82   if (!fits_fread_ftable_data (db[0].f, &db[0].ftable)) {
     82  if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) {
    8383    fprintf (stderr, "can't read table data");
    8484    return (FALSE);
     
    8989
    9090/* load the data from Nrows from table starting at start; load header, etc if needed */
    91 int fits_db_load_segment (FITS_DB *db, int start, int Nrows) {
     91int gfits_db_load_segment (FITS_DB *db, int start, int Nrows) {
    9292
    9393  int Nskip;
     
    110110  /* load or skip header */
    111111  if (db[0].header.buffer == NULL) {
    112     if (!fits_fread_header (db[0].f, &db[0].header)) {
     112    if (!gfits_fread_header (db[0].f, &db[0].header)) {
    113113      fprintf (stderr, "can't read primary header\n");
    114114      return (FALSE);
     
    121121  /* load or skip matrix */
    122122  if (db[0].matrix.buffer == NULL) {
    123     if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
     123    if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
    124124      fprintf (stderr, "can't read primary matrix");
    125125      return (FALSE);
    126126    }
    127127  } else {
    128     Nskip = fits_matrix_size (&db[0].header);
     128    Nskip = gfits_matrix_size (&db[0].header);
    129129    Fseek (db[0].f, Nskip, SEEK_CUR);
    130130  }
     
    132132  /* load or skip table header */
    133133  if (db[0].theader.buffer == NULL) {
    134     if (!fits_fread_header (db[0].f, &db[0].theader)) {
     134    if (!gfits_fread_header (db[0].f, &db[0].theader)) {
    135135      fprintf (stderr, "can't read table header");
    136136      return (FALSE);
     
    142142
    143143  /* read table segment into vtable */
    144   if (!fits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {
     144  if (!gfits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {
    145145    fprintf (stderr, "can't read table data");
    146146    return (FALSE);
     
    150150
    151151/* write complete db file */
    152 int fits_db_save (FITS_DB *db) {
     152int gfits_db_save (FITS_DB *db) {
    153153
    154154  /* write all data to file */
     
    156156  Fseek (db[0].f, 0, SEEK_SET);
    157157
    158   if (!fits_fwrite_header  (db[0].f, &db[0].header)) {
     158  if (!gfits_fwrite_header  (db[0].f, &db[0].header)) {
    159159    fprintf (stderr, "can't write primary header");
    160160    return (FALSE);
    161161  }
    162   if (!fits_fwrite_matrix  (db[0].f, &db[0].matrix)) {
     162  if (!gfits_fwrite_matrix  (db[0].f, &db[0].matrix)) {
    163163    fprintf (stderr, "can't write primary matrix");
    164164    return (FALSE);
    165165  }
    166   if (!fits_fwrite_Theader (db[0].f, &db[0].theader)) {
     166  if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) {
    167167    fprintf (stderr, "can't write table header");
    168168    return (FALSE);
    169169  }
    170   if (!fits_fwrite_table   (db[0].f, &db[0].ftable)) {
     170  if (!gfits_fwrite_table   (db[0].f, &db[0].ftable)) {
    171171    fprintf (stderr, "can't write table data");
    172172    return (FALSE);
     
    176176
    177177/* write vtable to db file (also appends rows to the end of the table) */
    178 int fits_db_update (FITS_DB *db) {
     178int gfits_db_update (FITS_DB *db) {
    179179
    180180  /* this section is not valid if we have changed the size of header, matrix, theader */
     
    185185
    186186  /* do we revert to the old version if this fails? */
    187   if (!fits_fwrite_header   (db[0].f, &db[0].header))  {
     187  if (!gfits_fwrite_header   (db[0].f, &db[0].header))  {
    188188    fprintf (stderr, "can't update primary header");
    189189    return (FALSE);
    190190  }
    191   if (!fits_fwrite_matrix   (db[0].f, &db[0].matrix))  {
     191  if (!gfits_fwrite_matrix   (db[0].f, &db[0].matrix))  {
    192192    fprintf (stderr, "can't update primary matrix");
    193193    return (FALSE);
    194194  }
    195   if (!fits_fwrite_Theader  (db[0].f, &db[0].theader)) {
     195  if (!gfits_fwrite_Theader  (db[0].f, &db[0].theader)) {
    196196    fprintf (stderr, "can't update table header");
    197197    return (FALSE);
    198198  }
    199   if (!fits_fwrite_vtable   (db[0].f, &db[0].vtable))  {
     199  if (!gfits_fwrite_vtable   (db[0].f, &db[0].vtable))  {
    200200    fprintf (stderr, "can't update table data");
    201201    return (FALSE);
     
    205205
    206206/* free memory associated with db handle */
    207 int fits_db_free (FITS_DB *db) {
    208   fits_free_header (&db[0].header);
    209   fits_free_matrix (&db[0].matrix);
    210   fits_free_header (&db[0].theader);
    211   fits_free_table  (&db[0].ftable);
    212   fits_free_vtable (&db[0].vtable);
     207int gfits_db_free (FITS_DB *db) {
     208  gfits_free_header (&db[0].header);
     209  gfits_free_matrix (&db[0].matrix);
     210  gfits_free_header (&db[0].theader);
     211  gfits_free_table  (&db[0].ftable);
     212  gfits_free_vtable (&db[0].vtable);
    213213  if (db[0].filename != NULL) {
    214214    free (db[0].filename);
     
    219219
    220220/* close the db files (close open file & unlock) */
    221 int fits_db_close (FITS_DB *db) {
     221int gfits_db_close (FITS_DB *db) {
    222222  if (db[0].f == NULL) return (TRUE);
    223223  fclearlockfile (db[0].filename, db[0].f, db[0].lockstate, &db[0].dbstate);
  • trunk/Ohana/src/libdvo/src/skyregion_gsc.c

    r5945 r7080  
    3333  /* load in table data */
    3434  ftable.header = &theader;
    35   if (!fits_fread_ftable (f, &ftable, "REGIONS")) {
     35  if (!gfits_fread_ftable (f, &ftable, "REGIONS")) {
    3636    if (VERBOSE) fprintf (stderr, "can't read GSC Region table\n");
    3737    fclose (f);
     
    3939  }
    4040
    41   fits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx);
    42   fits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny);
    43  
    44   fits_free_header (&theader);
     41  gfits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx);
     42  gfits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny);
     43 
     44  gfits_free_header (&theader);
    4545
    4646  /* build supporting level 0 and 1 regions */
  • trunk/Ohana/src/libdvo/src/skyregion_io.c

    r6674 r7080  
    1919  /* load in table data */
    2020  ftable.header = &theader;
    21   if (!fits_fread_header (f, &header)) {
     21  if (!gfits_fread_header (f, &header)) {
    2222    if (VERBOSE) fprintf (stderr, "can't read Sky Region header\n");
    2323    fclose (f);
    2424    return (NULL);
    2525  }
    26   if (!fits_fread_matrix (f, &matrix, &header)) {
     26  if (!gfits_fread_matrix (f, &matrix, &header)) {
    2727    if (VERBOSE) fprintf (stderr, "can't read Sky Region matrix\n");
    28     fits_free_header (&header);
     28    gfits_free_header (&header);
    2929    fclose (f);
    3030    return (NULL);
    3131  }
    32   if (!fits_fread_ftable (f, &ftable, "SKY_REGION")) {
     32  if (!gfits_fread_ftable (f, &ftable, "SKY_REGION")) {
    3333    if (VERBOSE) fprintf (stderr, "can't read Sky Region table\n");
    34     fits_free_header (&header);
    35     fits_free_matrix (&matrix);
     34    gfits_free_header (&header);
     35    gfits_free_matrix (&matrix);
    3636    fclose (f);
    3737    return (NULL);
     
    3939
    4040  ALLOCATE (skytable, SkyTable, 1);
    41   skytable[0].regions = fits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL);
     41  skytable[0].regions = gfits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL);
    4242  ALLOCATE (skytable[0].filename, char *, skytable[0].Nregions);
    4343  for (i = 0; i < skytable[0].Nregions; i++) {
     
    4545  }
    4646 
    47   fits_free_header (&header);
    48   fits_free_matrix (&matrix);
    49   fits_free_header (&theader);
     47  gfits_free_header (&header);
     48  gfits_free_matrix (&matrix);
     49  gfits_free_header (&theader);
    5050
    5151  return (skytable);
     
    6262  /* make phu header (no matrix needed) */
    6363  ftable.header = &theader;
    64   fits_init_header (&header);
     64  gfits_init_header (&header);
    6565  header.extend = TRUE;
    66   fits_create_header (&header);
    67   fits_create_matrix (&header, &matrix);
     66  gfits_create_header (&header);
     67  gfits_create_matrix (&header, &matrix);
    6868
    69   fits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
     69  gfits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
    7070
    7171  f = fopen (filename, "w");
     
    7575  }
    7676 
    77   fits_fwrite_header  (f, &header);
    78   fits_fwrite_matrix  (f, &matrix);
    79   fits_fwrite_Theader (f, &theader);
    80   fits_fwrite_table  (f, &ftable);
     77  gfits_fwrite_header  (f, &header);
     78  gfits_fwrite_matrix  (f, &matrix);
     79  gfits_fwrite_Theader (f, &theader);
     80  gfits_fwrite_table  (f, &ftable);
    8181  fclose (f);
    8282
     
    120120  if (!SkyTableSave (sky, filename)) return NULL;
    121121
    122   fits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);
     122  gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);
    123123  return (sky);
    124124
     
    136136  if (!SkyTableSave (sky, filename)) return NULL;
    137137
    138   fits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);
     138  gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);
    139139  return (sky);
    140140}
  • trunk/Ohana/src/libdvo/src/skyregion_ops.c

    r6643 r7080  
    4848  list[0].filename[0] = table[0].filename[No];
    4949  list[0].Nregions = 1;
     50  return (list);
     51}
     52
     53/* find regions at all levels which match name */
     54/* XXX : need to add support for selected level / populated level */
     55SkyList *SkyListByName (SkyTable *table, char *name) {
     56
     57  int i, Nchar, N, NREGIONS;
     58  SkyList *list;
     59  SkyRegion *region;
     60 
     61  N = 0;
     62  NREGIONS = 10;
     63  ALLOCATE (list, SkyList, 1);
     64  ALLOCATE (list[0].regions, SkyRegion *, NREGIONS);
     65  ALLOCATE (list[0].filename, char *, NREGIONS);
     66  list[0].Nregions = N;
     67
     68  region = table[0].regions;
     69
     70  Nchar = strlen (name);
     71
     72  for (i = 0; i < table[0].Nregions; i++) {
     73    if (strncasecmp (region[i].name, name, Nchar)) continue;
     74
     75    list[0].regions[N] = &region[i];
     76    list[0].filename[N] = table[0].filename[i];
     77    N++;
     78    if (N >= NREGIONS) {
     79        NREGIONS += 10;
     80        REALLOCATE (list[0].regions, SkyRegion *, NREGIONS);
     81        REALLOCATE (list[0].filename, char *, NREGIONS);
     82    }
     83  }
     84  list[0].Nregions = N;
    5085  return (list);
    5186}
  • trunk/Ohana/src/libkapa/include/kapa.h

    r5852 r7080  
    125125int KapaColormapSize ();
    126126char *KapaColorRGBString (int N);
     127char *KapaColorName (int N);
    127128png_color *KapaPNGPalette (int *Npalette);
    128129unsigned long *KapaX11colors (Display *display, Colormap colormap, unsigned long default_color, int *Ncolors);
  • trunk/Ohana/src/libkapa/src/KapaColors.c

    r5854 r7080  
    5252}
    5353
     54char *KapaColorName (int N) {
     55  return (KAPA_COLORS[N][0]);
     56}
     57
    5458png_color *KapaPNGPalette (int *Npalette) {
    5559
  • trunk/Ohana/src/lightcurve/src/alter_headers.c

    r2490 r7080  
    2929    strcpy (head, images[i].name);
    3030    strcpy (strchr(head, '.'), ".head");
    31     fits_read_header (head, &header);
     31    gfits_read_header (head, &header);
    3232
    3333    sprintf (line, "mv %s %s~\0", head, head);
     
    4141             images[i].Nunique, images[i].fixed, images[i].empty);
    4242
    43     fits_modify (&header, "Mcal",   "%lf", 1, images[i].Mcal);
    44     fits_modify (&header, "dMcal",  "%lf", 1, images[i].dMcal);
    45     fits_modify (&header, "clouds", "%lf", 1, images[i].clouds);
    46     fits_modify (&header, "NMcal",  "%d", 1,  images[i].Nstars);
     43    gfits_modify (&header, "Mcal",   "%lf", 1, images[i].Mcal);
     44    gfits_modify (&header, "dMcal",  "%lf", 1, images[i].dMcal);
     45    gfits_modify (&header, "clouds", "%lf", 1, images[i].clouds);
     46    gfits_modify (&header, "NMcal",  "%d", 1,  images[i].Nstars);
    4747
    48     fits_modify (&header, "Mcal",   "%C", 1, "relphot: calibration magnitude");
    49     fits_modify (&header, "dMcal",  "%C", 1, "relphot: calibration error");
    50     fits_modify (&header, "clouds", "%C", 1, "relphot: cloud level");
    51     fits_modify (&header, "NMcal",  "%C", 1, "relphot: number of stars");
     48    gfits_modify (&header, "Mcal",   "%C", 1, "relphot: calibration magnitude");
     49    gfits_modify (&header, "dMcal",  "%C", 1, "relphot: calibration error");
     50    gfits_modify (&header, "clouds", "%C", 1, "relphot: cloud level");
     51    gfits_modify (&header, "NMcal",  "%C", 1, "relphot: number of stars");
    5252
    53     fits_write_header (head, &header);
    54     fits_free_header (&header);
     53    gfits_write_header (head, &header);
     54    gfits_free_header (&header);
    5555  }
    5656  fclose (f);
  • trunk/Ohana/src/lightcurve/src/fix_header.c

    r2490 r7080  
    3535
    3636  header[0].size = Nbytes;
    37   p1 = fits_header_field (header, "END", 1);
     37  p1 = gfits_header_field (header, "END", 1);
    3838  for (i = 3; i < 79; i++)
    3939    *(p1 + i) = ' ';
  • trunk/Ohana/src/lightcurve/src/get_info.c

    r2490 r7080  
    1515  strcpy (strchr(head, '.'), ".head");
    1616
    17   status = fits_read_header (head, &header);
     17  status = gfits_read_header (head, &header);
    1818  if (!status) {
    1919    fprintf (stderr, "could not open header file %s\n", head);
     
    2424  switch (PIXELS) {
    2525  case 0:
    26     status &= fits_scan (&header, "RA_O",    "%lf", 1, &images[0].RA_O);
    27     status &= fits_scan (&header, "RA_X",    "%lf", 1, &images[0].RA_X);
    28     status &= fits_scan (&header, "RA_Y",    "%lf", 1, &images[0].RA_Y);
    29     status &= fits_scan (&header, "DEC_O",   "%lf", 1, &images[0].DEC_O);
    30     status &= fits_scan (&header, "DEC_X",   "%lf", 1, &images[0].DEC_X);
    31     status &= fits_scan (&header, "DEC_Y",   "%lf", 1, &images[0].DEC_Y);
     26    status &= gfits_scan (&header, "RA_O",    "%lf", 1, &images[0].RA_O);
     27    status &= gfits_scan (&header, "RA_X",    "%lf", 1, &images[0].RA_X);
     28    status &= gfits_scan (&header, "RA_Y",    "%lf", 1, &images[0].RA_Y);
     29    status &= gfits_scan (&header, "DEC_O",   "%lf", 1, &images[0].DEC_O);
     30    status &= gfits_scan (&header, "DEC_X",   "%lf", 1, &images[0].DEC_X);
     31    status &= gfits_scan (&header, "DEC_Y",   "%lf", 1, &images[0].DEC_Y);
    3232    COS = cos (RAD_DEG * images[0].DEC_O);
    3333    break;
    3434
    3535  case 1:
    36     status &= fits_scan (&header, "X_O",    "%lf", 1, &images[0].RA_O);
    37     status &= fits_scan (&header, "X_X",    "%lf", 1, &images[0].RA_X);
    38     status &= fits_scan (&header, "X_Y",    "%lf", 1, &images[0].RA_Y);
    39     status &= fits_scan (&header, "Y_O",    "%lf", 1, &images[0].DEC_O);
    40     status &= fits_scan (&header, "Y_X",    "%lf", 1, &images[0].DEC_X);
    41     status &= fits_scan (&header, "Y_Y",    "%lf", 1, &images[0].DEC_Y);
     36    status &= gfits_scan (&header, "X_O",    "%lf", 1, &images[0].RA_O);
     37    status &= gfits_scan (&header, "X_X",    "%lf", 1, &images[0].RA_X);
     38    status &= gfits_scan (&header, "X_Y",    "%lf", 1, &images[0].RA_Y);
     39    status &= gfits_scan (&header, "Y_O",    "%lf", 1, &images[0].DEC_O);
     40    status &= gfits_scan (&header, "Y_X",    "%lf", 1, &images[0].DEC_X);
     41    status &= gfits_scan (&header, "Y_Y",    "%lf", 1, &images[0].DEC_Y);
    4242    COS = 1;
    4343    break;
    4444  }
    4545 
    46   fits_scan (&header, "ORIGIN", "%s", 1, line);
     46  gfits_scan (&header, "ORIGIN", "%s", 1, line);
    4747  /* interpret the silly way ESO / La Palma stores exposure time and duration   */
    4848  if (!strcmp (line, "ESO-MIDAS")) {
    49     status &= fits_scan (&header, "DATE-OBS", "%s", 1, line);
     49    status &= gfits_scan (&header, "DATE-OBS", "%s", 1, line);
    5050    stripwhite (line);
    5151    fprintf (stderr, "date line: %s\n", line);
     
    5353    jd = atof(line);
    5454    line[0] = 0;
    55     status = fits_scan (&header, "TM-START", "%lf", 1, &sec);
     55    status = gfits_scan (&header, "TM-START", "%lf", 1, &sec);
    5656    fprintf (stderr, "date: %f, sec: %f\n", jd, sec);
    5757    jd += (sec/86400.0) + 0.5;
    5858    images[0].JD =  jd;
    59     fits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);
     59    gfits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);
    6060  }
    6161  else {
    62     status &= fits_scan (&header, "JD", "%lf", 1, &images[0].JD);
     62    status &= gfits_scan (&header, "JD", "%lf", 1, &images[0].JD);
    6363    images[0].JD -= 2400000.5;   /* convert to MJD */
    64     fits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);
     64    gfits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);
    6565  }
    6666
    67   status &= fits_scan (&header, "Mcal", "%lf", 1, &images[0].Mcal);
    68   status &= fits_scan (&header, "McalR", "%lf", 1, &images[0].McalR);
    69   status &= fits_scan (&header, "McalD", "%lf", 1, &images[0].McalD);
    70   status &= fits_scan (&header, "McalR2", "%lf", 1, &images[0].McalR2);
    71   status &= fits_scan (&header, "McalD2", "%lf", 1, &images[0].McalD2);
    72   status &= fits_scan (&header, "McalRD", "%lf", 1, &images[0].McalRD);
    73   status &= fits_scan (&header, "dMcal", "%lf", 1, &images[0].dMcal);
     67  status &= gfits_scan (&header, "Mcal", "%lf", 1, &images[0].Mcal);
     68  status &= gfits_scan (&header, "McalR", "%lf", 1, &images[0].McalR);
     69  status &= gfits_scan (&header, "McalD", "%lf", 1, &images[0].McalD);
     70  status &= gfits_scan (&header, "McalR2", "%lf", 1, &images[0].McalR2);
     71  status &= gfits_scan (&header, "McalD2", "%lf", 1, &images[0].McalD2);
     72  status &= gfits_scan (&header, "McalRD", "%lf", 1, &images[0].McalRD);
     73  status &= gfits_scan (&header, "dMcal", "%lf", 1, &images[0].dMcal);
    7474
    7575  images[0].airmass = 1000; 
    76   fits_scan (&header, "SECZ", "%lf", 1, &images[0].airmass);
    77   fits_scan (&header, "AIRMASS", "%lf", 1, &images[0].airmass);
    78   /* a stupid value as a flag (i hate flags!) but fits_scan will not alter the
     76  gfits_scan (&header, "SECZ", "%lf", 1, &images[0].airmass);
     77  gfits_scan (&header, "AIRMASS", "%lf", 1, &images[0].airmass);
     78  /* a stupid value as a flag (i hate flags!) but gfits_scan will not alter the
    7979     value if it fails to find the entry.  try a couple possibilities */
    8080 
     
    9999  images[0].clouds  = 0.0;
    100100
    101   fits_free_header (&header);
     101  gfits_free_header (&header);
    102102 
    103103}
     
    119119/*
    120120   code for using RA, DEC, ST info, if needed.
    121     status &= fits_scan (&header, "ST", "%lf", 1, &LST);
     121    status &= gfits_scan (&header, "ST", "%lf", 1, &LST);
    122122    ra  =  info[0].RA_O  + info[0].RA_X *CCD_X/2.0 + info[0].RA_Y *CCD_Y/2.0;
    123123    dec =  info[0].DEC_O + info[0].DEC_X*CCD_X/2.0 + info[0].DEC_Y*CCD_Y/2.0;
  • trunk/Ohana/src/markrock/src/gcatstats.c

    r2490 r7080  
    1313  Coords tcoords;
    1414 
    15   fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
    16   fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
    17   fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
    18   fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
     15  gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
     16  gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
     17  gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
     18  gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
    1919
    2020 /* double check on region RA and DEC ranges */
  • trunk/Ohana/src/markrock/src/wcatalog.c

    r4828 r7080  
    3535    catalog[0].Nsecfilt = 0;
    3636  }
    37   fits_free_header (&catalog[0].header);
     37  gfits_free_header (&catalog[0].header);
    3838}
    3939
  • trunk/Ohana/src/markstar/src/find_images.c

    r4864 r7080  
    2525  }
    2626
    27   timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
     27  timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
    2828
    2929  /* set up buffers for images, temporary storage */
  • trunk/Ohana/src/markstar/src/gcatstats.c

    r2490 r7080  
    1313  Coords tcoords;
    1414 
    15   fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
    16   fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
    17   fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
    18   fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
     15  gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);
     16  gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);
     17  gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);
     18  gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);
    1919
    2020  /* double check on region RA and DEC ranges */
  • trunk/Ohana/src/markstar/src/wcatalog.c

    r4828 r7080  
    3333    catalog[0].Nsecfilt = 0;
    3434  }
    35   fits_free_header (&catalog[0].header);
     35  gfits_free_header (&catalog[0].header);
    3636}
    3737
  • trunk/Ohana/src/misc/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- misc-1-3
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25misc-1-2:
  • trunk/Ohana/src/misc/src/SAOobjects.c

    r3466 r7080  
    1818  }
    1919
    20   if (!fits_read_header (argv[1], &header)) {
     20  if (!gfits_read_header (argv[1], &header)) {
    2121    fprintf (stderr, "can't read header from file %s\n", argv[1]);
    2222    exit (1);
  • trunk/Ohana/src/misc/src/addastro.c

    r2417 r7080  
    1818  }
    1919
    20   if (!fits_read_header (argv[1], &header)) {
     20  if (!gfits_read_header (argv[1], &header)) {
    2121    fprintf (stderr, "ERROR: can't read header for %s\n", argv[1]);
    2222    exit (1);
     
    2424  oldsize = header.size;
    2525
    26   if (!fits_read_header (argv[2], &refhead)) {
     26  if (!gfits_read_header (argv[2], &refhead)) {
    2727    fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]);
    2828    exit (1);
    2929  }
    3030
    31   fits_scan   (&refhead, "CDELT1",   "%lf", 1, &tmp);
    32   fits_modify (&header,  "CDELT1",   "%le", 1, tmp);
    33   fits_scan   (&refhead, "CDELT2",   "%lf", 1, &tmp);
    34   fits_modify (&header,  "CDELT2",   "%le", 1, tmp);
    35   fits_scan   (&refhead, "CRVAL1",   "%lf", 1, &tmp);
    36   fits_modify (&header,  "CRVAL1",   "%lf", 1, tmp);
    37   fits_scan   (&refhead, "CRVAL2",   "%lf", 1, &tmp);
    38   fits_modify (&header,  "CRVAL2",   "%lf", 1, tmp);
    39   fits_scan   (&refhead, "CRPIX1",   "%lf", 1, &tmp);
    40   fits_modify (&header,  "CRPIX1",   "%lf", 1, tmp);
    41   fits_scan   (&refhead, "CRPIX2",   "%lf", 1, &tmp);
    42   fits_modify (&header,  "CRPIX2",   "%lf", 1, tmp);
    43   fits_scan   (&refhead, "PC001001", "%lf", 1, &tmp);
    44   fits_modify (&header,  "PC001001", "%le", 1, tmp);
    45   fits_scan   (&refhead, "PC001002", "%lf", 1, &tmp);
    46   fits_modify (&header,  "PC001002", "%le", 1, tmp);
    47   fits_scan   (&refhead, "PC002001", "%lf", 1, &tmp);
    48   fits_modify (&header,  "PC002001", "%le", 1, tmp);
    49   fits_scan   (&refhead, "PC002002", "%lf", 1, &tmp);
    50   fits_modify (&header,  "PC002002", "%le", 1, tmp);
    51   fits_scan   (&refhead, "NPLYTERM", "%d",  1, &itmp);
    52   fits_modify (&header,  "NPLYTERM", "%d",  1, itmp);
    53   fits_scan   (&refhead, "NASTRO",   "%d",  1, &itmp);
    54   fits_modify (&header,  "NASTRO",   "%d",  1, itmp);
    55   fits_scan   (&refhead, "CERROR",   "%lf", 1, &tmp);
    56   fits_modify (&header,  "CERROR",   "%lf", 1, tmp);
    57   fits_scan   (&refhead, "CPRECISE", "%lf", 1, &tmp);
    58   fits_modify (&header,  "CPRECISE", "%lf", 1, tmp);
     31  gfits_scan   (&refhead, "CDELT1",   "%lf", 1, &tmp);
     32  gfits_modify (&header,  "CDELT1",   "%le", 1, tmp);
     33  gfits_scan   (&refhead, "CDELT2",   "%lf", 1, &tmp);
     34  gfits_modify (&header,  "CDELT2",   "%le", 1, tmp);
     35  gfits_scan   (&refhead, "CRVAL1",   "%lf", 1, &tmp);
     36  gfits_modify (&header,  "CRVAL1",   "%lf", 1, tmp);
     37  gfits_scan   (&refhead, "CRVAL2",   "%lf", 1, &tmp);
     38  gfits_modify (&header,  "CRVAL2",   "%lf", 1, tmp);
     39  gfits_scan   (&refhead, "CRPIX1",   "%lf", 1, &tmp);
     40  gfits_modify (&header,  "CRPIX1",   "%lf", 1, tmp);
     41  gfits_scan   (&refhead, "CRPIX2",   "%lf", 1, &tmp);
     42  gfits_modify (&header,  "CRPIX2",   "%lf", 1, tmp);
     43  gfits_scan   (&refhead, "PC001001", "%lf", 1, &tmp);
     44  gfits_modify (&header,  "PC001001", "%le", 1, tmp);
     45  gfits_scan   (&refhead, "PC001002", "%lf", 1, &tmp);
     46  gfits_modify (&header,  "PC001002", "%le", 1, tmp);
     47  gfits_scan   (&refhead, "PC002001", "%lf", 1, &tmp);
     48  gfits_modify (&header,  "PC002001", "%le", 1, tmp);
     49  gfits_scan   (&refhead, "PC002002", "%lf", 1, &tmp);
     50  gfits_modify (&header,  "PC002002", "%le", 1, tmp);
     51  gfits_scan   (&refhead, "NPLYTERM", "%d",  1, &itmp);
     52  gfits_modify (&header,  "NPLYTERM", "%d",  1, itmp);
     53  gfits_scan   (&refhead, "NASTRO",   "%d",  1, &itmp);
     54  gfits_modify (&header,  "NASTRO",   "%d",  1, itmp);
     55  gfits_scan   (&refhead, "CERROR",   "%lf", 1, &tmp);
     56  gfits_modify (&header,  "CERROR",   "%lf", 1, tmp);
     57  gfits_scan   (&refhead, "CPRECISE", "%lf", 1, &tmp);
     58  gfits_modify (&header,  "CPRECISE", "%lf", 1, tmp);
    5959
    60   fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
    61   fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
     60  gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");
     61  gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");
    6262
    6363  /* write to file */
    6464  sprintf (filename, "%s.tmp", argv[1]);
    65   if (!fits_write_header (filename, &header)) {
     65  if (!gfits_write_header (filename, &header)) {
    6666    fprintf (stderr, "ERROR: can't write header for %s\n", filename);
    6767    exit (1);
  • trunk/Ohana/src/misc/src/applyscat.c

    r5320 r7080  
    2020
    2121  /* read smp header */
    22   if (!fits_read_header (argv[1], &header)) {
     22  if (!gfits_read_header (argv[1], &header)) {
    2323    fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]);
    2424    exit (1);
     
    3434
    3535  /* find expected number of stars */
    36   fits_scan (&header, "NSTARS", "%d", 1, &Nstar);
     36  gfits_scan (&header, "NSTARS", "%d", 1, &Nstar);
    3737  if (Nstar == 0) {
    3838    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
     
    6060  }
    6161
    62   if (!fits_read_matrix (argv[2], &matrix)) {
     62  if (!gfits_read_matrix (argv[2], &matrix)) {
    6363    fprintf (stderr, "ERROR: can't open scatter image file %s\n", argv[2]);
    6464    exit (1);
     
    7979    x = stars[i].X;
    8080    y = stars[i].Y;
    81     ratio = fits_get_matrix_value (&matrix, x, y);
     81    ratio = gfits_get_matrix_value (&matrix, x, y);
    8282    dmag = -2.5*log10(ratio);
    8383    dmag = (dmag > +1.0) ? 0.0 : dmag;
     
    9393
    9494  /* write smp header */
    95   if (!fits_write_header (argv[3], &header)) {
     95  if (!gfits_write_header (argv[3], &header)) {
    9696    fprintf (stderr, "ERROR: can't write output file header %s\n", argv[3]);
    9797    exit (1);
  • trunk/Ohana/src/misc/src/ckfits.c

    r7039 r7080  
    1414  }
    1515
    16   status = fits_read_header (argv[1], &header);
     16  status = gfits_read_header (argv[1], &header);
    1717  if (!status) {
    1818    fprintf (stdout, "%s: header\n", argv[1]);
     
    2020  }
    2121
    22   Ntotal = fits_matrix_size (&header);
     22  Ntotal = gfits_matrix_size (&header);
    2323
    2424  Ndata = abs(header.bitpix / 8);
  • trunk/Ohana/src/misc/src/cubefilter.c

    r2417 r7080  
    4141
    4242  /* load a header, setup output header, matrix */
    43   fits_read_header (filename[0], &head);
    44   fits_create_matrix (&head, &out);
    45   fits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);
     43  gfits_read_header (filename[0], &head);
     44  gfits_create_matrix (&head, &out);
     45  gfits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);
    4646
    4747  /* find size of temporary images */
     
    7272    for (i = 0; i < Nfiles; i++) {
    7373      fprintf (stderr, ".");
    74       if (!fits_read_header  (filename[i], &tmphead[i])) {
     74      if (!gfits_read_header  (filename[i], &tmphead[i])) {
    7575        fprintf (stderr, "trouble reading file %s\n", filename[i]);
    7676        exit (1);
    7777      }
    78       fits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);
     78      gfits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);
    7979      tmphead[i].Naxis[0] = 1;
    8080      tmphead[i].Naxis[1] = Npixrd;
    81       fits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);
     81      gfits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);
    8282    }
    8383   
     
    9898    for (i = 0; i < Nfiles; i++) {
    9999      fprintf (stderr, ",");
    100       fits_free_header (&tmphead[i]);
    101       fits_free_matrix (&tmpmatr[i]);
     100      gfits_free_header (&tmphead[i]);
     101      gfits_free_matrix (&tmpmatr[i]);
    102102    }
    103103   
    104104  }
    105105
    106   fits_write_header (argv[1], &head);
    107   fits_write_matrix (argv[1], &out);
     106  gfits_write_header (argv[1], &head);
     107  gfits_write_matrix (argv[1], &out);
    108108
    109109  return (0);
  • trunk/Ohana/src/misc/src/dastro.c

    r2417 r7080  
    2424  while (fscanf (stdin, "%s", filename) != EOF) {
    2525   
    26     status = fits_read_header (filename, &header);
     26    status = gfits_read_header (filename, &header);
    2727    if (!status) {
    2828      fprintf (stderr, "error opening file %s\n", filename);
    2929      continue;
    3030    }
    31     status = fits_scan (&header, "rREF", "%s", 1, reffile);
    32     status &= fits_scan (&header, "X_O", "%lf", 1, &X_O);
    33     status &= fits_scan (&header, "X_X", "%lf", 1, &X_X);
    34     status &= fits_scan (&header, "X_Y", "%lf", 1, &X_Y);
    35     status &= fits_scan (&header, "Y_O", "%lf", 1, &Y_O);
    36     status &= fits_scan (&header, "Y_X", "%lf", 1, &Y_X);
    37     status &= fits_scan (&header, "Y_Y", "%lf", 1, &Y_Y);
    38     status &= fits_scan (&header, "dX", "%lf", 1, &dX);
    39     status &= fits_scan (&header, "dY", "%lf", 1, &dY);
     31    status = gfits_scan (&header, "rREF", "%s", 1, reffile);
     32    status &= gfits_scan (&header, "X_O", "%lf", 1, &X_O);
     33    status &= gfits_scan (&header, "X_X", "%lf", 1, &X_X);
     34    status &= gfits_scan (&header, "X_Y", "%lf", 1, &X_Y);
     35    status &= gfits_scan (&header, "Y_O", "%lf", 1, &Y_O);
     36    status &= gfits_scan (&header, "Y_X", "%lf", 1, &Y_X);
     37    status &= gfits_scan (&header, "Y_Y", "%lf", 1, &Y_Y);
     38    status &= gfits_scan (&header, "dX", "%lf", 1, &dX);
     39    status &= gfits_scan (&header, "dY", "%lf", 1, &dY);
    4040    if (!status) {
    4141      fprintf (stderr, "file missing rastro info: %s\n", filename);
    42       fits_free_header (&header);
     42      gfits_free_header (&header);
    4343      continue;
    4444    }
     
    5858    }
    5959
    60     status  = fits_read_header (reffile, &refhead);
     60    status  = gfits_read_header (reffile, &refhead);
    6161    if (!status) {
    6262      fprintf (stderr, "error opening file %s\n", reffile);
    6363      continue;
    6464    }
    65     status &= fits_scan (&refhead, "RA_O", "%lf", 1, &RA_O);
    66     status &= fits_scan (&refhead, "RA_X", "%lf", 1, &RA_X);
    67     status &= fits_scan (&refhead, "RA_Y", "%lf", 1, &RA_Y);
    68     status &= fits_scan (&refhead, "DEC_O", "%lf", 1, &DEC_O);
    69     status &= fits_scan (&refhead, "DEC_X", "%lf", 1, &DEC_X);
    70     status &= fits_scan (&refhead, "DEC_Y", "%lf", 1, &DEC_Y);
    71     status &= fits_scan (&refhead, "dRA",   "%lf", 1, &dRA);
    72     status &= fits_scan (&refhead, "dDEC",  "%lf", 1, &dDEC);
     65    status &= gfits_scan (&refhead, "RA_O", "%lf", 1, &RA_O);
     66    status &= gfits_scan (&refhead, "RA_X", "%lf", 1, &RA_X);
     67    status &= gfits_scan (&refhead, "RA_Y", "%lf", 1, &RA_Y);
     68    status &= gfits_scan (&refhead, "DEC_O", "%lf", 1, &DEC_O);
     69    status &= gfits_scan (&refhead, "DEC_X", "%lf", 1, &DEC_X);
     70    status &= gfits_scan (&refhead, "DEC_Y", "%lf", 1, &DEC_Y);
     71    status &= gfits_scan (&refhead, "dRA",   "%lf", 1, &dRA);
     72    status &= gfits_scan (&refhead, "dDEC",  "%lf", 1, &dDEC);
    7373    if (!status) {
    7474      fprintf (stderr, "file missing rastro info: %s\n", reffile);
    75       fits_free_header (&header);
    76       fits_free_header (&refhead);
     75      gfits_free_header (&header);
     76      gfits_free_header (&refhead);
    7777      continue;
    7878    }
     
    9494    ddec = sqrt(dDEC*dDEC + SQ(3600*dX*DEC_X) + SQ(3600*dY*DEC_Y));
    9595                           
    96     status &= fits_modify (&header, "RA_O", "%lf", 1, ra_o);
    97     status &= fits_modify (&header, "RA_X", "%le", 1, ra_x);
    98     status &= fits_modify (&header, "RA_Y", "%le", 1, ra_y);
    99     status &= fits_modify (&header, "DEC_O", "%lf", 1, dec_o);
    100     status &= fits_modify (&header, "DEC_X", "%le", 1, dec_x);
    101     status &= fits_modify (&header, "DEC_Y", "%le", 1, dec_y);
    102     status &= fits_modify (&header, "dRA",   "%lf", 1, dra);
    103     status &= fits_modify (&header, "dDEC",  "%lf", 1, ddec);
     96    status &= gfits_modify (&header, "RA_O", "%lf", 1, ra_o);
     97    status &= gfits_modify (&header, "RA_X", "%le", 1, ra_x);
     98    status &= gfits_modify (&header, "RA_Y", "%le", 1, ra_y);
     99    status &= gfits_modify (&header, "DEC_O", "%lf", 1, dec_o);
     100    status &= gfits_modify (&header, "DEC_X", "%le", 1, dec_x);
     101    status &= gfits_modify (&header, "DEC_Y", "%le", 1, dec_y);
     102    status &= gfits_modify (&header, "dRA",   "%lf", 1, dra);
     103    status &= gfits_modify (&header, "dDEC",  "%lf", 1, ddec);
    104104   
    105     fits_write_header (filename, &header);
    106     fits_free_header (&header);
    107     fits_free_header (&refhead);
     105    gfits_write_header (filename, &header);
     106    gfits_free_header (&header);
     107    gfits_free_header (&refhead);
    108108   
    109109  }
  • trunk/Ohana/src/misc/src/fakecmp.c

    r2417 r7080  
    1111
    1212  if (argc != 4) {
    13     fprintf (stderr, "USAGE: fits_insert (input) (template) (output)\n");
     13    fprintf (stderr, "USAGE: gfits_insert (input) (template) (output)\n");
    1414    exit (2);
    1515  }
     
    6565
    6666  /* load header from image file */
    67   if (!fits_read_header (argv[1], &header)) {
     67  if (!gfits_read_header (argv[1], &header)) {
    6868    fprintf (stderr, "can't open fits file %s\n", argv[1]);
    6969    exit (1);
     
    8484    /* replace existing keywords, unless this is a COMMENT or HISTORY field */
    8585    if (strncmp (keyword, "COMMENT ", 8) && strncmp (keyword, "HISTORY ", 8)) {
    86       p = fits_header_field (&header, keyword, 1);
     86      p = gfits_header_field (&header, keyword, 1);
    8787      if (p != (char *) NULL) {
    8888        strncpy (p, line, 80);
  • trunk/Ohana/src/misc/src/fakedist.c

    r2417 r7080  
    4949  read_datafiles ();
    5050
    51   fits_modify (&header, "SFR", "%s", 1, "Star Formation Rate (Mo / Myr)");
     51  gfits_modify (&header, "SFR", "%s", 1, "Star Formation Rate (Mo / Myr)");
    5252  for (i = 0; i < N_Av; i++) {
    5353    for (j = 0; j < N_dist; j++) {
     
    7171          /* mass is the total mass generated between 1 and 120 Mo for the NSTARS points in this matrix */
    7272          sprintf (line, "SFR_%0d\0", n);
    73           fits_modify (&header, line, "%lf", 1, mass / (age[n+1] - age[n]));
     73          gfits_modify (&header, line, "%lf", 1, mass / (age[n+1] - age[n]));
    7474          add_to_outmatrix (i, j, m, n, N_age, 0, mass);
    7575          add_to_outmatrix (i, j, m, n, N_age, 1, Av[i]);
     
    9595  */
    9696
    97   fits_write_header (fakefile, &header);
    98   fits_write_matrix (fakefile, &matrix);
     97  gfits_write_header (fakefile, &header);
     98  gfits_write_matrix (fakefile, &matrix);
    9999}
    100100
     
    279279  header.extend = FALSE;
    280280
    281   fits_create_header (&header);
    282   fits_create_matrix (&header, &matrix);
    283 
    284   fits_modify (&header, "PAR_1", "%s", 1, "mass (Mo)");
     281  gfits_create_header (&header);
     282  gfits_create_matrix (&header, &matrix);
     283
     284  gfits_modify (&header, "PAR_1", "%s", 1, "mass (Mo)");
    285285  for (i = 0; i < NMASS + 1; i++) {
    286286    sprintf (line, "PAR_1_%0d\0", i);
    287287    value = 10.0 / SQ(4.5 - DMASS*i);
    288     fits_modify (&header, line, "%lf", 1, value);
    289   }
    290  
    291   fits_modify (&header, "PAR_2", "%s", 1, "age out (Myr)");
     288    gfits_modify (&header, line, "%lf", 1, value);
     289  }
     290 
     291  gfits_modify (&header, "PAR_2", "%s", 1, "age out (Myr)");
    292292  for (i = 0; i < N_age + 1; i++) {
    293293    sprintf (line, "PAR_2_%0d\0", i);
    294     fits_modify (&header, line, "%lf", 1, age[i]);
    295   }
    296 
    297   fits_modify (&header, "PAR_3", "%s", 1, "age in (Myr)");
     294    gfits_modify (&header, line, "%lf", 1, age[i]);
     295  }
     296
     297  gfits_modify (&header, "PAR_3", "%s", 1, "age in (Myr)");
    298298  for (i = 0; i < N_age + 1; i++) {
    299299    sprintf (line, "PAR_3_%0d\0", i);
    300     fits_modify (&header, line, "%lf", 1, age[i]);
    301   }
    302  
    303   fits_modify (&header, "PAR_4", "%s", 1, "alpha");
     300    gfits_modify (&header, line, "%lf", 1, age[i]);
     301  }
     302 
     303  gfits_modify (&header, "PAR_4", "%s", 1, "alpha");
    304304  for (i = 0; i < N_alpha; i++) {
    305305    sprintf (line, "PAR_4_%0d\0", i);
    306     fits_modify (&header, line, "%lf", 1, alpha[i]);
    307   }
    308 
    309   fits_modify (&header, "PAR_5", "%s", 1, "dist (mag)");
     306    gfits_modify (&header, line, "%lf", 1, alpha[i]);
     307  }
     308
     309  gfits_modify (&header, "PAR_5", "%s", 1, "dist (mag)");
    310310  for (i = 0; i < N_dist; i++) {
    311311    sprintf (line, "PAR_5_%0d\0", i);
    312     fits_modify (&header, line, "%lf", 1, dist[i]);
    313   }
    314 
    315   fits_modify (&header, "PAR_6", "%s", 1, "A_V (mag)");
     312    gfits_modify (&header, line, "%lf", 1, dist[i]);
     313  }
     314
     315  gfits_modify (&header, "PAR_6", "%s", 1, "A_V (mag)");
    316316  for (i = 0; i < N_Av; i++) {
    317317    sprintf (line, "PAR_6_%0d\0", i);
    318     fits_modify (&header, line, "%lf", 1, Av[i]);
     318    gfits_modify (&header, line, "%lf", 1, Av[i]);
    319319  }
    320320
     
    383383{
    384384
    385   fits_read_header (colorfile, &UV_h);
    386   fits_read_matrix (colorfile, &UV_i);
    387   fits_read_header (magfile, &V_h);
    388   fits_read_matrix (magfile, &V_i);
     385  gfits_read_header (colorfile, &UV_h);
     386  gfits_read_matrix (colorfile, &UV_i);
     387  gfits_read_header (magfile, &V_h);
     388  gfits_read_matrix (magfile, &V_i);
    389389  UV_NX = UV_h.Naxis[0];
    390390  UV_NY = UV_h.Naxis[1];
     
    392392  Vbuffer = (float *)V_i.buffer;
    393393
    394   fits_scan (&UV_h, "RA_O",  "%lf", 1, &lAo);
    395   fits_scan (&UV_h, "RA_X",  "%lf", 1, &ldA);
    396   fits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);
    397   fits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);
    398 
    399   fits_read_header (massfile, &mass_h);
    400   fits_read_matrix (massfile, &mass_i);
    401   fits_read_header (agefile, &age_h);
    402   fits_read_matrix (agefile, &age_i);
     394  gfits_scan (&UV_h, "RA_O",  "%lf", 1, &lAo);
     395  gfits_scan (&UV_h, "RA_X",  "%lf", 1, &ldA);
     396  gfits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);
     397  gfits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);
     398
     399  gfits_read_header (massfile, &mass_h);
     400  gfits_read_matrix (massfile, &mass_i);
     401  gfits_read_header (agefile, &age_h);
     402  gfits_read_matrix (agefile, &age_i);
    403403  MS_NX = mass_h.Naxis[0];
    404404  MS_NY = mass_h.Naxis[1];
     
    406406  Abuffer = (float *)age_i.buffer;
    407407
    408   fits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
    409   fits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
    410   fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
    411   fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
     408  gfits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
     409  gfits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
     410  gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
     411  gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
    412412}
    413413
  • trunk/Ohana/src/misc/src/fakedump.c

    r2417 r7080  
    2121  NAv = atof(argv[6]);
    2222
    23   fits_read_header (argv[1], &in_h);
    24   fits_read_matrix (argv[1], &in_m);
     23  gfits_read_header (argv[1], &in_h);
     24  gfits_read_matrix (argv[1], &in_m);
    2525
    2626  if (Nage > in_h.Naxis[2] - 1) {
     
    5252  out_h.unsign = FALSE;
    5353  out_h.extend = FALSE;
    54   fits_create_header (&out_h);
    55   fits_create_matrix (&out_h, &out_m);
     54  gfits_create_header (&out_h);
     55  gfits_create_matrix (&out_h, &out_m);
    5656 
    5757  in = (float *)in_m.buffer;
     
    6565  }
    6666 
    67   fits_write_header (argv[2], &out_h);
    68   fits_write_matrix (argv[2], &out_m);
     67  gfits_write_header (argv[2], &out_h);
     68  gfits_write_matrix (argv[2], &out_m);
    6969}
  • trunk/Ohana/src/misc/src/fakepop.c

    r2417 r7080  
    3737  term = (pow((MMAX/MMIN), -alpha) - 1.0);
    3838 
    39   fits_read_header (colorfile, &UV_h);
    40   fits_read_matrix (colorfile, &UV_i);
    41   fits_read_header (magfile, &V_h);
    42   fits_read_matrix (magfile, &V_i);
    43 
    44   fits_scan (&UV_h, "RA_O",  "%lf", 1, &lAo);
    45   fits_scan (&UV_h, "RA_X",  "%lf", 1, &ldA);
    46   fits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);
    47   fits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);
     39  gfits_read_header (colorfile, &UV_h);
     40  gfits_read_matrix (colorfile, &UV_i);
     41  gfits_read_header (magfile, &V_h);
     42  gfits_read_matrix (magfile, &V_i);
     43
     44  gfits_scan (&UV_h, "RA_O",  "%lf", 1, &lAo);
     45  gfits_scan (&UV_h, "RA_X",  "%lf", 1, &ldA);
     46  gfits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);
     47  gfits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);
    4848 
    4949  gauss_init ();
     
    6363    if ((X >= 0) && (X < UV_h.Naxis[0]) &&
    6464        (Y >= 0) && (Y < UV_h.Naxis[1])) {
    65       uv = fits_get_matrix_value (&UV_i, X, Y);
     65      uv = gfits_get_matrix_value (&UV_i, X, Y);
    6666      if (uv != 100.0) {
    6767        uv += 0.7*Av;
    68         v = fits_get_matrix_value (&V_i, X, Y) + d + Av;
     68        v = gfits_get_matrix_value (&V_i, X, Y) + d + Av;
    6969        noise = dVo*sqrt(1.0 + pow (10.0, (0.4*(v - dVref))));
    7070        V = rnd_gauss (v, noise);
  • trunk/Ohana/src/misc/src/fakestars.c

    r4844 r7080  
    4848
    4949  /* load header, open file */
    50   if (!fits_read_header (input, &header)) {
     50  if (!gfits_read_header (input, &header)) {
    5151    fprintf (stderr, "ERROR: can't read header for %s\n", input);
    5252    exit (1);
     
    6060
    6161  /* find expected number of stars */
    62   fits_scan (&header, "NSTARS", "%d", 1, &Nstar);
     62  gfits_scan (&header, "NSTARS", "%d", 1, &Nstar);
    6363  if (Nstar == 0) {
    6464    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
     
    102102  }
    103103
    104   fits_write_header (output, &header);
     104  gfits_write_header (output, &header);
    105105  f = fopen (output, "a");
    106106  if (f == NULL) {
  • trunk/Ohana/src/misc/src/fhead.c

    r7039 r7080  
    2222   
    2323    if (Extend) {
    24       status = fits_read_Xheader (argv[i], &head, Nextend);
     24      status = gfits_read_Xheader (argv[i], &head, Nextend);
    2525    } else {
    26       status = fits_read_header (argv[i], &head);
     26      status = gfits_read_header (argv[i], &head);
    2727    }     
    2828
     
    3333    }
    3434
    35     p = fits_header_field (&head, "END", 1);
     35    p = gfits_header_field (&head, "END", 1);
    3636    nbytes = p - head.buffer;
    3737    fwrite (head.buffer, nbytes, 1, stdout);
    38     fits_free_header (&head);
     38    gfits_free_header (&head);
    3939
    4040  }
  • trunk/Ohana/src/misc/src/fields.c

    r7039 r7080  
    2222  while (fscanf (stdin, "%s", filename) != EOF) {
    2323    if (Extend) {
    24       status = fits_read_Xheader (filename, &header, Nextend);
     24      status = gfits_read_Xheader (filename, &header, Nextend);
    2525    } else {
    26       status = fits_read_header (filename, &header);
     26      status = gfits_read_header (filename, &header);
    2727    }
    2828    if (!status) {
     
    3434    for (i = 1; i < argc; i++) {
    3535      bzero (buffer, 1000);
    36       status = fits_scan (&header, argv[i], "%s", 1, buffer);
     36      status = gfits_scan (&header, argv[i], "%s", 1, buffer);
    3737      if (!status) {
    3838        GotField = FALSE;
     
    4343    fprintf (stdout, "\n");
    4444
    45     fits_free_header (&header);
     45    gfits_free_header (&header);
    4646  }
    4747
  • trunk/Ohana/src/misc/src/fitdist.c

    r2417 r7080  
    306306  char line[1024];
    307307
    308   fits_read_header (massfile, &mass_h);
    309   fits_read_matrix (massfile, &mass_i);
    310   fits_read_header (agefile, &age_h);
    311   fits_read_matrix (agefile, &age_i);
     308  gfits_read_header (massfile, &mass_h);
     309  gfits_read_matrix (massfile, &mass_i);
     310  gfits_read_header (agefile, &age_h);
     311  gfits_read_matrix (agefile, &age_i);
    312312  MS_NX = mass_h.Naxis[0];
    313313  MS_NY = mass_h.Naxis[1];
     
    315315  Abuffer = (float *)age_i.buffer;
    316316
    317   fits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
    318   fits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
    319   fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
    320   fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
    321 
    322   fits_read_header (fakefile, &fake_h);
    323   fits_read_matrix (fakefile, &fake_m);
     317  gfits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
     318  gfits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
     319  gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
     320  gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
     321
     322  gfits_read_header (fakefile, &fake_h);
     323  gfits_read_matrix (fakefile, &fake_m);
    324324  Nmass = fake_h.Naxis[0];
    325325  ALLOCATE (Mass, double, Nmass + 1);
    326326  for (i = 0; i < Nmass + 1; i++) {
    327327    sprintf (line, "PAR_1_%0d\0", i);
    328     fits_scan (&fake_h, line, "%lf", 1, &Mass[i]);
     328    gfits_scan (&fake_h, line, "%lf", 1, &Mass[i]);
    329329  }
    330330 
     
    332332  for (i = 0; i < N_age + 1; i++) {
    333333    sprintf (line, "PAR_2_%0d\0", i);
    334     fits_scan (&fake_h, line, "%lf", 1, &age[i]);
     334    gfits_scan (&fake_h, line, "%lf", 1, &age[i]);
    335335  }
    336336
     
    338338  for (i = 0; i < N_alpha; i++) {
    339339    sprintf (line, "PAR_4_%0d\0", i);
    340     fits_scan (&fake_h, line, "%lf", 1, &alpha[i]);
     340    gfits_scan (&fake_h, line, "%lf", 1, &alpha[i]);
    341341  }
    342342
     
    344344  for (i = 0; i < N_dist; i++) {
    345345    sprintf (line, "PAR_5_%0d\0", i);
    346     fits_scan (&fake_h, line, "%lf", 1, &dist[i]);
     346    gfits_scan (&fake_h, line, "%lf", 1, &dist[i]);
    347347  }
    348348
     
    350350  for (i = 0; i < N_Av; i++) {
    351351    sprintf (line, "PAR_6_%0d\0", i);
    352     fits_scan (&fake_h, line, "%lf", 1, &Av[i]);
     352    gfits_scan (&fake_h, line, "%lf", 1, &Av[i]);
    353353  }
    354354
  • trunk/Ohana/src/misc/src/fits_insert.c

    r7039 r7080  
    3535
    3636  if (argc != 3) {
    37     fprintf (stderr, "USAGE: fits_insert (image.fits) (header.hdx) [-X N] [-comment N line]\n");
     37    fprintf (stderr, "USAGE: gfits_insert (image.fits) (header.hdx) [-X N] [-comment N line]\n");
    3838    exit (2);
    3939  }
    4040 
    4141  /* load header from image file */
    42   Nbytes = fits_read_Xheader (argv[1], &header, EXTNUM);
     42  Nbytes = gfits_read_Xheader (argv[1], &header, EXTNUM);
    4343  if (!Nbytes) {
    4444    fprintf (stderr, "can't open fits file %s\n", argv[1]);
     
    6161    snprintf (line, 81, "COMMENT  %-71s", Cline);
    6262
    63     p = fits_header_field (&header, "COMMENT", Cnumber);
     63    p = gfits_header_field (&header, "COMMENT", Cnumber);
    6464    if (p != (char *) NULL) {
    6565      strncpy (p, line, 80);
     
    8080    /* replace existing keywords, unless this is a COMMENT or HISTORY field */
    8181    if (strncmp (keyword, "COMMENT ", 8) && strncmp (keyword, "HISTORY ", 8)) {
    82       p = fits_header_field (&header, keyword, 1);
     82      p = gfits_header_field (&header, keyword, 1);
    8383      if (p != (char *) NULL) {
    8484        strncpy (p, line, 80);
     
    110110    if (p == (char *) NULL) {
    111111      fprintf (stdout, "no more reserved spaces, trying for extra space in block\n");
    112       p = fits_header_field (&header, "END", 1);
     112      p = gfits_header_field (&header, "END", 1);
    113113      if (p == (char *) NULL) {
    114114        fprintf (stderr, "header is missing END\n");
  • trunk/Ohana/src/misc/src/fiximg.c

    r7039 r7080  
    1515
    1616  /* read catalog header */
    17   if (!fits_read_header (argv[1], &header)) {
     17  if (!gfits_read_header (argv[1], &header)) {
    1818    fprintf (stderr, "error loading file %s\n", argv[1]);
    1919    exit (1);
    2020  }
    21   if (!fits_read_matrix (argv[1], &matrix)) {
     21  if (!gfits_read_matrix (argv[1], &matrix)) {
    2222    fprintf (stderr, "error loading file %s\n", argv[1]);
    2323    exit (1);
     
    2525
    2626  N = 0;
    27   while (fits_header_field (&header, "COMMENT", 1) != (char *) NULL) {
     27  while (gfits_header_field (&header, "COMMENT", 1) != (char *) NULL) {
    2828    N++;
    29     fits_delete (&header, "COMMENT", 1);
     29    gfits_delete (&header, "COMMENT", 1);
    3030  }
    3131  fprintf (stderr, "deleted %d comments\n", N);
    32   p = fits_header_field (&header, "END", 1);
     32  p = gfits_header_field (&header, "END", 1);
    3333  for (i = 3; i < header.size - (int) (p - header.buffer); i++) {
    3434    p[i] = ' ';
     
    3636
    3737  /* read catalog header */
    38   if (!fits_write_header (argv[2], &header)) {
     38  if (!gfits_write_header (argv[2], &header)) {
    3939    fprintf (stderr, "error writing file %s\n", argv[2]);
    4040    exit (1);
    4141  }
    42   if (!fits_write_matrix (argv[2], &matrix)) {
     42  if (!gfits_write_matrix (argv[2], &matrix)) {
    4343    fprintf (stderr, "error writing file %s\n", argv[2]);
    4444    exit (1);
  • trunk/Ohana/src/misc/src/fixsimple.c

    r3466 r7080  
    1414
    1515  /* read header */
    16   if (!fits_read_header (argv[1], &header)) {
     16  if (!gfits_read_header (argv[1], &header)) {
    1717    fprintf (stderr, "error loading file %s\n", argv[1]);
    1818    exit (1);
     
    2020
    2121  N = 0;
    22   while (fits_header_field (&header, "COMMENT", 1) != (char *) NULL) {
     22  while (gfits_header_field (&header, "COMMENT", 1) != (char *) NULL) {
    2323    N++;
    24     fits_delete (&header, "COMMENT", 1);
     24    gfits_delete (&header, "COMMENT", 1);
    2525  }
    2626  fprintf (stderr, "deleted %d comments\n", N);
    27   p = fits_header_field (&header, "END", 1);
     27  p = gfits_header_field (&header, "END", 1);
    2828  for (i = 3; i < header.size - (int) (p - header.buffer); i++) {
    2929    p[i] = ' ';
     
    3131
    3232  /* read catalog header */
    33   if (!fits_write_header (argv[2], &header)) {
     33  if (!gfits_write_header (argv[2], &header)) {
    3434    fprintf (stderr, "error writing file %s\n", argv[2]);
    3535    exit (1);
    3636  }
    37   if (!fits_write_matrix (argv[2], &matrix)) {
     37  if (!gfits_write_matrix (argv[2], &matrix)) {
    3838    fprintf (stderr, "error writing file %s\n", argv[2]);
    3939    exit (1);
  • trunk/Ohana/src/misc/src/ftable.c

    r7039 r7080  
    8383
    8484  Binary = FALSE;
    85   fits_scan (table.header, "XTENSION", "%s", 1, ttype);
     85  gfits_scan (table.header, "XTENSION", "%s", 1, ttype);
    8686  if (!strcmp (ttype, "BINTABLE")) Binary = TRUE;
    8787
    8888  /* load table data array */
    89   Nbytes = fits_matrix_size (table.header);
     89  Nbytes = gfits_matrix_size (table.header);
    9090  ALLOCATE (table.buffer, char, Nbytes);
    9191  Nread = fread (table.buffer, sizeof (char), Nbytes, f);
     
    9696  table.size = Nbytes;
    9797
    98   fits_scan (table.header, "NAXIS1",  "%d", 1, &Nx);
    99   fits_scan (table.header, "NAXIS2",  "%d", 1, &Ny);
     98  gfits_scan (table.header, "NAXIS1",  "%d", 1, &Nx);
     99  gfits_scan (table.header, "NAXIS2",  "%d", 1, &Ny);
    100100
    101101  /* print a column */
     
    125125  char field[16], type[16], format[16], *line;
    126126
    127   fits_scan (header, "NAXIS1",  "%d", 1, &Nx);
    128   fits_scan (header, "TFIELDS", "%d", 1, &Nfields);
     127  gfits_scan (header, "NAXIS1",  "%d", 1, &Nx);
     128  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    129129
    130130  /* assume we have one space per byte column */
     
    134134  for (i = 1; i <= Nfields; i++) {
    135135    sprintf (field, "TFORM%d", i);
    136     fits_scan (header, field, "%s", 1, format); /* get field format */
    137     fits_table_format (format, type, &Nvals, &Nbytes);    /* convert to c-style */
     136    gfits_scan (header, field, "%s", 1, format); /* get field format */
     137    gfits_table_format (format, type, &Nvals, &Nbytes);    /* convert to c-style */
    138138    memcpy (&line[Oout], &row[Oin], Nvals*Nbytes);
    139139    for (j = 0; j < Nvals*Nbytes; j++) if (line[Oout+j] == 0) line[Oout+j] = ' ';
     
    170170  }
    171171
    172   if (!fits_fread_header (f, &header)) {
     172  if (!gfits_fread_header (f, &header)) {
    173173    fprintf (stderr, "can't read header from %s\n", file);
    174174    exit (1);
     
    176176
    177177  extend = FALSE;
    178   fits_scan (&header, "EXTEND", "%t", 1, &extend);
     178  gfits_scan (&header, "EXTEND", "%t", 1, &extend);
    179179  if (!extend) {
    180180    fprintf (stderr, "no extensions listed in file\n");
    181181  }
    182182
    183   Nbytes = fits_matrix_size (&header);
     183  Nbytes = gfits_matrix_size (&header);
    184184  fseek (f, Nbytes, SEEK_CUR);
    185185
    186   while (fits_fread_header (f, &header)) {
    187     fits_scan (&header, "EXTNAME", "%s", 1, extname);
    188     fits_scan (&header, "NAXIS1",  "%d", 1, &Nx);
    189     fits_scan (&header, "NAXIS2",  "%d", 1, &Ny);
     186  while (gfits_fread_header (f, &header)) {
     187    gfits_scan (&header, "EXTNAME", "%s", 1, extname);
     188    gfits_scan (&header, "NAXIS1",  "%d", 1, &Nx);
     189    gfits_scan (&header, "NAXIS2",  "%d", 1, &Ny);
    190190    fprintf (stdout, "%-30s %6d %6d\n", extname, Nx, Ny);
    191191
    192     Nbytes = fits_matrix_size (&header);
     192    Nbytes = gfits_matrix_size (&header);
    193193    fseek (f, Nbytes, SEEK_CUR);
    194194  }
     
    211211
    212212  /* read PHU */
    213   if (!fits_fread_header (f, header)) {
     213  if (!gfits_fread_header (f, header)) {
    214214    fprintf (stderr, "can't read header from %s\n", file);
    215215    exit (1);
     
    218218  /* check for existence of extensions */
    219219  extend = FALSE;
    220   fits_scan (header, "EXTEND", "%t", 1, &extend);
     220  gfits_scan (header, "EXTEND", "%t", 1, &extend);
    221221  if (!extend) {
    222222    fprintf (stderr, "no extensions listed in file\n");
     
    224224
    225225  /* skip first data array */
    226   Nbytes = fits_matrix_size (header);
     226  Nbytes = gfits_matrix_size (header);
    227227  fseek (f, Nbytes, SEEK_CUR);
    228228
    229229  /* search for extension of interest */
    230   for (i = 0; fits_fread_Theader (f, header); i++) {
     230  for (i = 0; gfits_fread_Theader (f, header); i++) {
    231231    if ((Extname == NULL) && (Nextend == i)) return (f);
    232232
    233     fits_scan (header, "EXTNAME", "%s", 1, extname);
     233    gfits_scan (header, "EXTNAME", "%s", 1, extname);
    234234    if ((Extname != NULL) && (!strcmp (Extname, extname))) return (f);
    235235
    236     Nbytes = fits_matrix_size (header);
     236    Nbytes = gfits_matrix_size (header);
    237237    fseek (f, Nbytes, SEEK_CUR);
    238     fits_free_header (header);
     238    gfits_free_header (header);
    239239  }
    240240  fclose (f);
     
    255255  data   =  table[0].buffer;
    256256
    257   fits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    258   fits_scan (header, "NAXIS1",  "%d", 1, &Nx);
    259   fits_scan (header, "NAXIS2",  "%d", 1, &Ny);
     257  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
     258  gfits_scan (header, "NAXIS1",  "%d", 1, &Nx);
     259  gfits_scan (header, "NAXIS2",  "%d", 1, &Ny);
    260260
    261261  if (Colname != (char *) NULL) {
     
    263263    for (i = 1; i <= Nfields; i++) {
    264264      sprintf (field, "TTYPE%d", i);
    265       fits_scan (header, field, "%s", 1, type);
     265      gfits_scan (header, field, "%s", 1, type);
    266266      if (!strcmp (type, Colname)) {
    267267        Column = i;
     
    285285  for (i = 1; i < Column; i++) {
    286286    sprintf (field, "TFORM%d", i);
    287     fits_scan (header, field, "%s", 1, format);
     287    gfits_scan (header, field, "%s", 1, format);
    288288    if (Binary)
    289       fits_table_format (format, type, &Nv, &Nb);
     289      gfits_table_format (format, type, &Nv, &Nb);
    290290    else
    291       fits_bintable_format (format, type, &Nv, &Nb);
     291      gfits_bintable_format (format, type, &Nv, &Nb);
    292292    Nstart += Nv*Nb;
    293293  }
    294294
    295295  sprintf (field, "TFORM%d", Column);
    296   fits_scan (header, field, "%s", 1, format);
     296  gfits_scan (header, field, "%s", 1, format);
    297297  if (Binary)
    298     fits_bintable_format (format, type, &Nv, &Nb);    /* convert to c-style */
     298    gfits_bintable_format (format, type, &Nv, &Nb);    /* convert to c-style */
    299299  else
    300     fits_table_format (format, type, &Nv, &Nb);    /* convert to c-style */
     300    gfits_table_format (format, type, &Nv, &Nb);    /* convert to c-style */
    301301
    302302  ALLOCATE (line, char, Nv*Nb + 1);
    303303
    304304  if (Binary) {
    305     if (!fits_get_bintable_column_type (header, Colname, type, &Nv)) return;
     305    if (!gfits_get_bintable_column_type (header, Colname, type, &Nv)) return;
    306306    if (!strcmp (type, "char")) return;
    307     if (!fits_get_bintable_column (header, table, Colname, (void **)&data)) return;
     307    if (!gfits_get_bintable_column (header, table, Colname, (void **)&data)) return;
    308308
    309309    for (i = 0; i < Ny; i++) {
     
    344344  char field[16], type[80], comment[80], format[80], unit[80], null[80], nval[80];
    345345
    346   fits_scan (header, "TFIELDS", "%d", 1, &Nfields);
     346  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    347347
    348348  for (i = 1; i <= Nfields; i++) {
    349349    sprintf (field, "TTYPE%d", i);
    350     fits_scan (header, field, "%s", 1, type);
    351     fits_scan (header, field, "%C", 1, comment);
     350    gfits_scan (header, field, "%s", 1, type);
     351    gfits_scan (header, field, "%C", 1, comment);
    352352    sprintf (field, "TFORM%d", i);
    353     fits_scan (header, field, "%s", 1, format);
     353    gfits_scan (header, field, "%s", 1, format);
    354354    sprintf (field, "TUNIT%d", i);
    355     fits_scan (header, field, "%s", 1, unit);
     355    gfits_scan (header, field, "%s", 1, unit);
    356356    sprintf (field, "TNULL%d", i);
    357     if (!fits_scan (header, field, "%s", 1, null)) strcpy (null, "none");
     357    if (!gfits_scan (header, field, "%s", 1, null)) strcpy (null, "none");
    358358    sprintf (field, "TNVAL%d", i);
    359     if (!fits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none");
     359    if (!gfits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none");
    360360
    361361    fprintf (stdout, "%-18s %-32s %-18s %-6s %-8s %-8s\n",
  • trunk/Ohana/src/misc/src/gtfringetable.c

    r7039 r7080  
    22# include <gfitsio.h>
    33
    4 static char *version = "gtfringetable $Revision: 1.4 $";
     4static char *version = "gtfringetable $Revision: 1.5 $";
    55
    66void get_version (int argc, char **argv, char *version);
     
    3030  }
    3131  table.header = &header;
    32   if (!fits_fread_ftable (f, &table, argv[2])) {
     32  if (!gfits_fread_ftable (f, &table, argv[2])) {
    3333    fprintf (stderr, "error reading table %s\n", argv[2]);
    3434    exit (1);
     
    3636  fclose (f);
    3737
    38   fits_get_table_column (&header, &table, "X_MIN", (void **) &xmin);
    39   fits_get_table_column (&header, &table, "X_MAX", (void **) &xmax);
    40   fits_get_table_column (&header, &table, "Y_MIN", (void **) &ymin);
    41   fits_get_table_column (&header, &table, "Y_MAX", (void **) &ymax);
     38  gfits_get_table_column (&header, &table, "X_MIN", (void **) &xmin);
     39  gfits_get_table_column (&header, &table, "X_MAX", (void **) &xmax);
     40  gfits_get_table_column (&header, &table, "Y_MIN", (void **) &ymin);
     41  gfits_get_table_column (&header, &table, "Y_MAX", (void **) &ymax);
    4242
    4343  for (i = 0; i < header.Naxis[1]; i++) {
  • trunk/Ohana/src/misc/src/magtoage.c

    r2417 r7080  
    5757  */
    5858 
    59   fits_read_header (argv[1], &mass_h);
    60   fits_read_matrix (argv[1], &mass_i);
    61   fits_read_header (argv[2], &age_h);
    62   fits_read_matrix (argv[2], &age_i);
    63 
    64   fits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
    65   fits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
    66   fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
    67   fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
     59  gfits_read_header (argv[1], &mass_h);
     60  gfits_read_matrix (argv[1], &mass_i);
     61  gfits_read_header (argv[2], &age_h);
     62  gfits_read_matrix (argv[2], &age_i);
     63
     64  gfits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
     65  gfits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
     66  gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
     67  gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
    6868
    6969  ALLOCATE (Ages, double *, (Ntry+2));
     
    8686  for (x = 0; x < age_h.Naxis[0]; x++) {
    8787    for (y = 0; y < age_h.Naxis[1]; y++) {
    88       mass = fits_get_matrix_value (&mass_i, x, y);
     88      mass = gfits_get_matrix_value (&mass_i, x, y);
    8989      if (mass == 0.0) continue;
    90       age  = fits_get_matrix_value (&age_i, x, y);
     90      age  = gfits_get_matrix_value (&age_i, x, y);
    9191      uv = x*DUV + UV0 + 0.7*Av;
    9292      v  = y*DV + V0 + Av + d;
     
    125125      if ((x > 0) && (x < mass_h.Naxis[0]) &&
    126126          (y > 0) && (y < mass_h.Naxis[1])) {
    127         mass = fits_get_matrix_value (&mass_i, x, y);
     127        mass = gfits_get_matrix_value (&mass_i, x, y);
    128128        if (mass > 0.0) {
    129           age = fits_get_matrix_value (&age_i, x, y);
     129          age = gfits_get_matrix_value (&age_i, x, y);
    130130          j = (age - lAo) / ldA;
    131131          if ((j >= 0) && (j < NAGE))
  • trunk/Ohana/src/misc/src/magtomass.c

    r2417 r7080  
    8585  Ntry = atof (argv[5]);
    8686
    87   fits_read_header (argv[1], &mass_h);
    88   fits_read_matrix (argv[1], &mass_i);
    89   fits_read_header (argv[2], &age_h);
    90   fits_read_matrix (argv[2], &age_i);
    91 
    92   fits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
    93   fits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
    94   fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
    95   fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
     87  gfits_read_header (argv[1], &mass_h);
     88  gfits_read_matrix (argv[1], &mass_i);
     89  gfits_read_header (argv[2], &age_h);
     90  gfits_read_matrix (argv[2], &age_i);
     91
     92  gfits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
     93  gfits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
     94  gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
     95  gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
    9696  Mbuffer = (float *)mass_i.buffer;
    9797  Abuffer = (float *)age_i.buffer;
     
    125125    if ((x > 0) && (x < mass_h.Naxis[0]) && (y > 0) && (y < mass_h.Naxis[1])) {
    126126      mass = Mbuffer[x + NX*y];
    127       /*      mass = fits_get_matrix_value (&mass_i, x, y); */
     127      /*      mass = gfits_get_matrix_value (&mass_i, x, y); */
    128128      if (mass > 0.0) {
    129129        age = Abuffer[x + NX*y];
     
    138138/*
    139139
    140         **      age = fits_get_matrix_value (&age_i, x, y);  **
     140        **      age = gfits_get_matrix_value (&age_i, x, y);  **
    141141        I = MAX (MIN ((log10(age) - lAo) / ldA, NAGE - 1), 0);
    142142        if (NEWWAY) {
     
    153153          if ((x > 0) && (x < mass_h.Naxis[0]) && (y > 0) && (y < mass_h.Naxis[1])) {
    154154            mass = Mbuffer[x + NX*y];
    155             **      mass = fits_get_matrix_value (&mass_i, x, y); **
     155            **      mass = gfits_get_matrix_value (&mass_i, x, y); **
    156156            if (mass > 0.0) {
    157157              age = Abuffer[x + NX*y];
    158               ** age = fits_get_matrix_value (&age_i, x, y);  **
     158              ** age = gfits_get_matrix_value (&age_i, x, y);  **
    159159              i = MAX (MIN ((log10(age) - lAo) / ldA, NAGE - 1), 0);
    160160              if (NEWWAY) {
  • trunk/Ohana/src/misc/src/medianfilter.c

    r7039 r7080  
    4545
    4646  /* load a header, setup output header, matrix */
    47   fits_read_header (filename[0], &head);
    48   fits_create_matrix (&head, &out);
    49   fits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);
     47  gfits_read_header (filename[0], &head);
     48  gfits_create_matrix (&head, &out);
     49  gfits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);
    5050
    5151  /* find size of temporary images */
     
    7676    for (i = 0; i < Nfiles; i++) {
    7777      fprintf (stderr, ".");
    78       if (!fits_read_header  (filename[i], &tmphead[i])) {
     78      if (!gfits_read_header  (filename[i], &tmphead[i])) {
    7979        fprintf (stderr, "trouble reading file %s\n", filename[i]);
    8080        exit (1);
    8181      }
    82       fits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);
     82      gfits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);
    8383      tmphead[i].Naxis[0] = 1;
    8484      tmphead[i].Naxis[1] = Npixrd;
    85       fits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);
     85      gfits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);
    8686    }
    8787   
     
    102102    for (i = 0; i < Nfiles; i++) {
    103103      fprintf (stderr, ",");
    104       fits_free_header (&tmphead[i]);
    105       fits_free_matrix (&tmpmatr[i]);
     104      gfits_free_header (&tmphead[i]);
     105      gfits_free_matrix (&tmpmatr[i]);
    106106    }
    107107   
    108108  }
    109109
    110   fits_write_header (argv[1], &head);
    111   fits_write_matrix (argv[1], &out);
     110  gfits_write_header (argv[1], &head);
     111  gfits_write_matrix (argv[1], &out);
    112112
    113113  return (0);
  • trunk/Ohana/src/misc/src/mefhead.c

    r7039 r7080  
    3636
    3737  /* read PHU */
    38   status = fits_fread_header (g, &header);
     38  status = gfits_fread_header (g, &header);
    3939  if (!status) {
    4040    fprintf (stderr, "error: can't read primary header unit\n");
     
    4242  }
    4343  /* skip matrix */
    44   Nmatrix = fits_matrix_size (&header);
     44  Nmatrix = gfits_matrix_size (&header);
    4545  fseek (g, Nmatrix, SEEK_CUR);
    4646
    4747  /* write PHU */
    48   fits_modify (&header, "NAXIS", "%d", 1, 0);
    49   status = fits_fwrite_header (f, &header);
     48  gfits_modify (&header, "NAXIS", "%d", 1, 0);
     49  status = gfits_fwrite_header (f, &header);
    5050  if (!status) {
    5151    fprintf (stderr, "error: can't write primary header unit\n");
     
    5454
    5555  /* check if NEXTEND is accurate */
    56   fits_scan (&header, "NEXTEND", "%d", 1, &NEXTEND);
     56  gfits_scan (&header, "NEXTEND", "%d", 1, &NEXTEND);
    5757
    5858  Nextend = 0;
     
    6060   
    6161    /* read header */
    62     status = fits_fread_header (g, &header);
     62    status = gfits_fread_header (g, &header);
    6363    if (!status) break;
    6464
    6565    /* skip matrix */
    66     Nmatrix = fits_matrix_size (&header);
     66    Nmatrix = gfits_matrix_size (&header);
    6767    fseek (g, Nmatrix, SEEK_CUR);
    6868   
    6969    /* write header */
    70     fits_modify (&header, "NAXIS", "%d", 1, 0);
    71     status = fits_fwrite_header (f, &header);
     70    gfits_modify (&header, "NAXIS", "%d", 1, 0);
     71    status = gfits_fwrite_header (f, &header);
    7272    if (!status) {
    7373      fprintf (stderr, "error: can't write header unit %d\n", Nextend);
     
    7575    }
    7676    Nextend ++;
    77     fits_free_header (&header);
     77    gfits_free_header (&header);
    7878  }
    7979
  • trunk/Ohana/src/misc/src/mkfringetable.c

    r7039 r7080  
    22# include <gfitsio.h>
    33
    4 static char *version = "mkfringetable $Revision: 1.7 $";
     4static char *version = "mkfringetable $Revision: 1.8 $";
    55
    66void get_version (int argc, char **argv, char *version);
     
    7777
    7878  /* make phu header (no matrix needed) */
    79   fits_init_header (&header);   
     79  gfits_init_header (&header);   
    8080  header.extend = TRUE;
    81   fits_create_header (&header);
    82   fits_create_matrix (&header, &matrix);
     81  gfits_create_header (&header);
     82  gfits_create_matrix (&header, &matrix);
    8383 
    84   fits_modify (&header, "NEXTEND",        "%d", 1, Nccd);
    85   fits_modify (&header, "DATE",           "%s", 1, datestr);
    86   fits_modify (&header, "TVSTART",        "%s", 1, start);
    87   fits_modify (&header, "TVSTOP",         "%s", 1, stop);
    88   fits_modify (&header, "VERSION",        "%s", 1, version);
    89   fits_modify (&header, CameraKeyword,    "%s", 1, camera);
    90   fits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");
    91   fits_modify (&header, FilterKeyword,    "%s", 1, filter);
    92    
    93   fits_fwrite_header  (g, &header);
    94   fits_fwrite_matrix  (g, &matrix);
     84  gfits_modify (&header, "NEXTEND",        "%d", 1, Nccd);
     85  gfits_modify (&header, "DATE",           "%s", 1, datestr);
     86  gfits_modify (&header, "TVSTART",        "%s", 1, start);
     87  gfits_modify (&header, "TVSTOP",         "%s", 1, stop);
     88  gfits_modify (&header, "VERSION",        "%s", 1, version);
     89  gfits_modify (&header, CameraKeyword,    "%s", 1, camera);
     90  gfits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");
     91  gfits_modify (&header, FilterKeyword,    "%s", 1, filter);
     92   
     93  gfits_fwrite_header  (g, &header);
     94  gfits_fwrite_matrix  (g, &matrix);
    9595
    9696  ALLOCATE (xmin, double, 1);
     
    144144
    145145    /* create table header */
    146     fits_create_table_header (&theader, "TABLE", extname);
     146    gfits_create_table_header (&theader, "TABLE", extname);
    147147     
    148148    /* add current date/time to header */
    149     fits_modify (&theader, "DATE",          "%s", 1, datestr);
    150     fits_modify (&theader, "TVSTART",       "%s", 1, start);
    151     fits_modify (&theader, "TVSTOP",        "%s", 1, stop);
    152     fits_modify (&header, CameraKeyword,    "%s", 1, camera);
    153     fits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");
    154     fits_modify (&header, FilterKeyword,    "%s", 1, filter);
    155     fits_modify (&header, CCDnumKeyword,    "%s", 1, extname);
     149    gfits_modify (&theader, "DATE",          "%s", 1, datestr);
     150    gfits_modify (&theader, "TVSTART",       "%s", 1, start);
     151    gfits_modify (&theader, "TVSTOP",        "%s", 1, stop);
     152    gfits_modify (&header, CameraKeyword,    "%s", 1, camera);
     153    gfits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");
     154    gfits_modify (&header, FilterKeyword,    "%s", 1, filter);
     155    gfits_modify (&header, CCDnumKeyword,    "%s", 1, extname);
    156156   
    157157   
    158158    /* define table layout */
    159     fits_define_table_column (&theader, "F6.1", "X_MIN", "min couple x", "pixels");
    160     fits_define_table_column (&theader, "F6.1", "Y_MIN", "min couple y", "pixels");
    161     fits_define_table_column (&theader, "F6.1", "X_MAX", "max couple x", "pixels");
    162     fits_define_table_column (&theader, "F6.1", "Y_MAX", "max couple y", "pixels");
     159    gfits_define_table_column (&theader, "F6.1", "X_MIN", "min couple x", "pixels");
     160    gfits_define_table_column (&theader, "F6.1", "Y_MIN", "min couple y", "pixels");
     161    gfits_define_table_column (&theader, "F6.1", "X_MAX", "max couple x", "pixels");
     162    gfits_define_table_column (&theader, "F6.1", "Y_MAX", "max couple y", "pixels");
    163163   
    164164    /* create table, add data values */
    165     fits_create_table (&theader, &table);
     165    gfits_create_table (&theader, &table);
    166166 
    167167    for (j = 0; j < Npts; j++) {
    168       row = fits_table_print (&table, xmin[j], ymin[j], xmax[j], ymax[j]);
    169       fits_add_rows (&table, row, 1, strlen (row));
    170     }
    171 
    172     fits_fwrite_Theader (g, &theader);
    173     fits_fwrite_table   (g, &table);
     168      row = gfits_table_print (&table, xmin[j], ymin[j], xmax[j], ymax[j]);
     169      gfits_add_rows (&table, row, 1, strlen (row));
     170    }
     171
     172    gfits_fwrite_Theader (g, &theader);
     173    gfits_fwrite_table   (g, &table);
    174174  }
    175175  exit (0);
  • trunk/Ohana/src/misc/src/posscontour.c

    r7039 r7080  
    5454  }
    5555
    56   status = fits_read_header (argv[1], &header);
     56  status = gfits_read_header (argv[1], &header);
    5757  if (!status) {
    5858    fprintf (stderr, "error opening file %s\n", argv[1]);
     
    6060  }
    6161
    62   fits_scan (&header, "NAXIS1", "%lf", 1, &NX);
    63   fits_scan (&header, "NAXIS2", "%lf", 1, &NY);
    64   fits_scan (&header, "PLTRAH", "%lf", 1, &PLTRAH);
    65   fits_scan (&header, "PLTRAM", "%lf", 1, &PLTRAM);
    66   fits_scan (&header, "PLTRAS", "%lf", 1, &PLTRAS);
    67   fits_scan (&header, "PLTDECD", "%lf", 1, &PLTDECD);
    68   fits_scan (&header, "PLTDECM", "%lf", 1, &PLTDECM);
    69   fits_scan (&header, "PLTDECS", "%lf", 1, &PLTDECS);
    70   fits_scan (&header, "PLTDECSN", "%s", 1, &PLTDECSN);
    71   fits_scan (&header, "CNPIX1", "%lf", 1, &CNPIX1);
    72   fits_scan (&header, "CNPIX2", "%lf", 1, &CNPIX2);
    73   fits_scan (&header, "XPIXELSZ", "%lf", 1, &XPIXELSZ);
    74   fits_scan (&header, "YPIXELSZ", "%lf", 1, &YPIXELSZ);
    75   fits_scan (&header, "PPO1", "%lf", 1, &PPO1);
    76   fits_scan (&header, "PPO2", "%lf", 1, &PPO2);
    77   fits_scan (&header, "PPO3", "%lf", 1, &PPO3);
    78   fits_scan (&header, "PPO4", "%lf", 1, &PPO4);
    79   fits_scan (&header, "PPO5", "%lf", 1, &PPO5);
    80   fits_scan (&header, "PPO6", "%lf", 1, &PPO6);
    81   fits_scan (&header, "AMDX1", "%lf", 1, &AMDX1);
    82   fits_scan (&header, "AMDX2", "%lf", 1, &AMDX2);
    83   fits_scan (&header, "AMDX3", "%lf", 1, &AMDX3);
    84   fits_scan (&header, "AMDX4", "%lf", 1, &AMDX4);
    85   fits_scan (&header, "AMDX5", "%lf", 1, &AMDX5);
    86   fits_scan (&header, "AMDX6", "%lf", 1, &AMDX6);
    87   fits_scan (&header, "AMDX7", "%lf", 1, &AMDX7);
    88   fits_scan (&header, "AMDX8", "%lf", 1, &AMDX8);
    89   fits_scan (&header, "AMDX9", "%lf", 1, &AMDX9);
    90   fits_scan (&header, "AMDX10", "%lf", 1, &AMDX10);
    91   fits_scan (&header, "AMDX11", "%lf", 1, &AMDX11);
    92   fits_scan (&header, "AMDX12", "%lf", 1, &AMDX12);
    93   fits_scan (&header, "AMDX13", "%lf", 1, &AMDX13);
    94   fits_scan (&header, "AMDY1", "%lf", 1, &AMDY1);
    95   fits_scan (&header, "AMDY2", "%lf", 1, &AMDY2);
    96   fits_scan (&header, "AMDY3", "%lf", 1, &AMDY3);
    97   fits_scan (&header, "AMDY4", "%lf", 1, &AMDY4);
    98   fits_scan (&header, "AMDY5", "%lf", 1, &AMDY5);
    99   fits_scan (&header, "AMDY6", "%lf", 1, &AMDY6);
    100   fits_scan (&header, "AMDY7", "%lf", 1, &AMDY7);
    101   fits_scan (&header, "AMDY8", "%lf", 1, &AMDY8);
    102   fits_scan (&header, "AMDY9", "%lf", 1, &AMDY9);
    103   fits_scan (&header, "AMDY10", "%lf", 1, &AMDY10);
    104   fits_scan (&header, "AMDY11", "%lf", 1, &AMDY11);
    105   fits_scan (&header, "AMDY12", "%lf", 1, &AMDY12);
    106   fits_scan (&header, "AMDY13", "%lf", 1, &AMDY13);
     62  gfits_scan (&header, "NAXIS1", "%lf", 1, &NX);
     63  gfits_scan (&header, "NAXIS2", "%lf", 1, &NY);
     64  gfits_scan (&header, "PLTRAH", "%lf", 1, &PLTRAH);
     65  gfits_scan (&header, "PLTRAM", "%lf", 1, &PLTRAM);
     66  gfits_scan (&header, "PLTRAS", "%lf", 1, &PLTRAS);
     67  gfits_scan (&header, "PLTDECD", "%lf", 1, &PLTDECD);
     68  gfits_scan (&header, "PLTDECM", "%lf", 1, &PLTDECM);
     69  gfits_scan (&header, "PLTDECS", "%lf", 1, &PLTDECS);
     70  gfits_scan (&header, "PLTDECSN", "%s", 1, &PLTDECSN);
     71  gfits_scan (&header, "CNPIX1", "%lf", 1, &CNPIX1);
     72  gfits_scan (&header, "CNPIX2", "%lf", 1, &CNPIX2);
     73  gfits_scan (&header, "XPIXELSZ", "%lf", 1, &XPIXELSZ);
     74  gfits_scan (&header, "YPIXELSZ", "%lf", 1, &YPIXELSZ);
     75  gfits_scan (&header, "PPO1", "%lf", 1, &PPO1);
     76  gfits_scan (&header, "PPO2", "%lf", 1, &PPO2);
     77  gfits_scan (&header, "PPO3", "%lf", 1, &PPO3);
     78  gfits_scan (&header, "PPO4", "%lf", 1, &PPO4);
     79  gfits_scan (&header, "PPO5", "%lf", 1, &PPO5);
     80  gfits_scan (&header, "PPO6", "%lf", 1, &PPO6);
     81  gfits_scan (&header, "AMDX1", "%lf", 1, &AMDX1);
     82  gfits_scan (&header, "AMDX2", "%lf", 1, &AMDX2);
     83  gfits_scan (&header, "AMDX3", "%lf", 1, &AMDX3);
     84  gfits_scan (&header, "AMDX4", "%lf", 1, &AMDX4);
     85  gfits_scan (&header, "AMDX5", "%lf", 1, &AMDX5);
     86  gfits_scan (&header, "AMDX6", "%lf", 1, &AMDX6);
     87  gfits_scan (&header, "AMDX7", "%lf", 1, &AMDX7);
     88  gfits_scan (&header, "AMDX8", "%lf", 1, &AMDX8);
     89  gfits_scan (&header, "AMDX9", "%lf", 1, &AMDX9);
     90  gfits_scan (&header, "AMDX10", "%lf", 1, &AMDX10);
     91  gfits_scan (&header, "AMDX11", "%lf", 1, &AMDX11);
     92  gfits_scan (&header, "AMDX12", "%lf", 1, &AMDX12);
     93  gfits_scan (&header, "AMDX13", "%lf", 1, &AMDX13);
     94  gfits_scan (&header, "AMDY1", "%lf", 1, &AMDY1);
     95  gfits_scan (&header, "AMDY2", "%lf", 1, &AMDY2);
     96  gfits_scan (&header, "AMDY3", "%lf", 1, &AMDY3);
     97  gfits_scan (&header, "AMDY4", "%lf", 1, &AMDY4);
     98  gfits_scan (&header, "AMDY5", "%lf", 1, &AMDY5);
     99  gfits_scan (&header, "AMDY6", "%lf", 1, &AMDY6);
     100  gfits_scan (&header, "AMDY7", "%lf", 1, &AMDY7);
     101  gfits_scan (&header, "AMDY8", "%lf", 1, &AMDY8);
     102  gfits_scan (&header, "AMDY9", "%lf", 1, &AMDY9);
     103  gfits_scan (&header, "AMDY10", "%lf", 1, &AMDY10);
     104  gfits_scan (&header, "AMDY11", "%lf", 1, &AMDY11);
     105  gfits_scan (&header, "AMDY12", "%lf", 1, &AMDY12);
     106  gfits_scan (&header, "AMDY13", "%lf", 1, &AMDY13);
    107107  Ro = 15.0*(PLTRAH + PLTRAM/60.0 + PLTRAS/3600.0);
    108108  Do = (PLTDECD + PLTDECM/60.0 + PLTDECS/3600.0);
     
    119119  }
    120120 
    121   fits_free_header (&header);
     121  gfits_free_header (&header);
    122122 
    123123}
  • trunk/Ohana/src/misc/src/smaeder.c

    r2417 r7080  
    318318  age_h.extend = FALSE;
    319319
    320   fits_create_header (&mass_h);
    321   fits_create_matrix (&mass_h, &mass_i);
    322   fits_create_header (&age_h);
    323   fits_create_matrix (&age_h, &age_i);
     320  gfits_create_header (&mass_h);
     321  gfits_create_matrix (&mass_h, &mass_i);
     322  gfits_create_header (&age_h);
     323  gfits_create_matrix (&age_h, &age_i);
    324324  fprintf (stderr, "created FITS buffers\n");
    325325
     
    358358            m = (v - Vs) * dM / DV + Ms;
    359359            a = (v - Vs) * dA / DV + As;
    360             fits_set_matrix_value (&mass_i, Sx, k, m);
    361             fits_set_matrix_value (&age_i, Sx, k, a);
     360            gfits_set_matrix_value (&mass_i, Sx, k, m);
     361            gfits_set_matrix_value (&age_i, Sx, k, a);
    362362          }
    363363        }
     
    408408            a = d * (a2 - a1) / (d + tmp) + a1;
    409409            m = d * (m2 - m1) / (d + tmp) + m1;
    410             fits_set_matrix_value (&mass_i, Sx, k, m);
    411             fits_set_matrix_value (&age_i, Sx, k, a);
     410            gfits_set_matrix_value (&mass_i, Sx, k, m);
     411            gfits_set_matrix_value (&age_i, Sx, k, a);
    412412          }
    413413        }
     
    425425        Sx = (newtrack[i].model[j].UV  - UV0) / dUV;
    426426        Sy = (newtrack[i].model[j].V   -  V0) / dV;
    427         fits_set_matrix_value (&age_i, Sx, Sy, 1000.0);
    428         fits_set_matrix_value (&mass_i, Sx, Sy, 1000.0);
     427        gfits_set_matrix_value (&age_i, Sx, Sy, 1000.0);
     428        gfits_set_matrix_value (&mass_i, Sx, Sy, 1000.0);
    429429      }
    430430    }
     
    432432  */
    433433
    434   fits_modify (&mass_h, "RA_O", "%lf", 1, UV0);
    435   fits_modify (&mass_h, "RA_X", "%lf", 1, dUV);
    436   fits_modify (&mass_h, "RA_Y", "%lf", 1, 0.0);
    437   fits_modify (&mass_h, "DEC_O", "%lf", 1, V0);
    438   fits_modify (&mass_h, "DEC_Y", "%lf", 1, dV);
    439   fits_modify (&mass_h, "DEC_X", "%lf", 1, 0.0);
    440 
    441   fits_write_header (massfile, &mass_h);
    442   fits_write_matrix (massfile, &mass_i);
    443 
    444   fits_modify (&age_h, "RA_O",  "%lf", 1, UV0);
    445   fits_modify (&age_h, "RA_X",  "%lf", 1, dUV);
    446   fits_modify (&age_h, "RA_Y",  "%lf", 1, 0.0);
    447   fits_modify (&age_h, "DEC_O", "%lf", 1, V0);
    448   fits_modify (&age_h, "DEC_Y", "%lf", 1, dV);
    449   fits_modify (&age_h, "DEC_X", "%lf", 1, 0.0);
    450 
    451   fits_write_header (agefile, &age_h);
    452   fits_write_matrix (agefile, &age_i);
     434  gfits_modify (&mass_h, "RA_O", "%lf", 1, UV0);
     435  gfits_modify (&mass_h, "RA_X", "%lf", 1, dUV);
     436  gfits_modify (&mass_h, "RA_Y", "%lf", 1, 0.0);
     437  gfits_modify (&mass_h, "DEC_O", "%lf", 1, V0);
     438  gfits_modify (&mass_h, "DEC_Y", "%lf", 1, dV);
     439  gfits_modify (&mass_h, "DEC_X", "%lf", 1, 0.0);
     440
     441  gfits_write_header (massfile, &mass_h);
     442  gfits_write_matrix (massfile, &mass_i);
     443
     444  gfits_modify (&age_h, "RA_O",  "%lf", 1, UV0);
     445  gfits_modify (&age_h, "RA_X",  "%lf", 1, dUV);
     446  gfits_modify (&age_h, "RA_Y",  "%lf", 1, 0.0);
     447  gfits_modify (&age_h, "DEC_O", "%lf", 1, V0);
     448  gfits_modify (&age_h, "DEC_Y", "%lf", 1, dV);
     449  gfits_modify (&age_h, "DEC_X", "%lf", 1, 0.0);
     450
     451  gfits_write_header (agefile, &age_h);
     452  gfits_write_matrix (agefile, &age_i);
    453453
    454454}
     
    503503          v = k*dV + V0;
    504504          m = (v - Vs) * dM / DV + Ms;
    505           fits_set_matrix_value (&mass_i, Sx, k, m);
     505          gfits_set_matrix_value (&mass_i, Sx, k, m);
    506506          a = (v - Vs) * dA / DV + As;
    507           fits_set_matrix_value (&age_i, Sx, k, a);
     507          gfits_set_matrix_value (&age_i, Sx, k, a);
    508508        }
    509509      }
  • trunk/Ohana/src/misc/src/striphead.c

    r2417 r7080  
    4646    }
    4747   
    48     if (!fits_read_header (argv[i], &header)) {
     48    if (!gfits_read_header (argv[i], &header)) {
    4949      fprintf (stderr, "failed to open file %s\n", argv[i]);
    5050      continue;
     
    5555    }
    5656
    57     if (!fits_write_header (head, &header)) {
     57    if (!gfits_write_header (head, &header)) {
    5858      fprintf (stderr, "failed to write file %s\n", head);
    5959      continue;
    6060    }
    6161   
    62     fits_free_header (&header);
     62    gfits_free_header (&header);
    6363  }
    6464}
  • trunk/Ohana/src/misc/src/test.c

    r7039 r7080  
    5656  /* fprintf (stderr, "starting\n"); */
    5757  while (fscanf (stdin, "%s", filename) != EOF) {
    58     if (!fits_read_header (filename, &header)) continue;
     58    if (!gfits_read_header (filename, &header)) continue;
    5959    fprintf (stdout, "%s  ", filename);
    6060    for (i = 1; i < argc; i++) {
    6161      bzero (buffer, 1000);
    62       fits_scan (&header, argv[i], "%s", 1, buffer);
     62      gfits_scan (&header, argv[i], "%s", 1, buffer);
    6363      stripwhite (buffer);
    6464      fprintf (stdout, "%s  ", buffer);
     
    6666    fprintf (stdout, "\n");
    6767
    68     fits_free_header (&header);
     68    gfits_free_header (&header);
    6969
    7070  }
  • trunk/Ohana/src/misc/src/usmaeder.c

    r2417 r7080  
    4747  }
    4848
    49   fits_read_header (argv[1], &mass_h);
    50   fits_read_matrix (argv[1], &mass_i);
    51   fits_read_header (argv[2], &age_h);
    52   fits_read_matrix (argv[2], &age_i);
     49  gfits_read_header (argv[1], &mass_h);
     50  gfits_read_matrix (argv[1], &mass_i);
     51  gfits_read_header (argv[2], &age_h);
     52  gfits_read_matrix (argv[2], &age_i);
    5353
    54   fits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
    55   fits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
    56   fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
    57   fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
     54  gfits_scan (&mass_h, "RA_O",  "%lf", 1, &UV0);
     55  gfits_scan (&mass_h, "RA_X",  "%lf", 1, &DUV);
     56  gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);
     57  gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);
    5858
    5959  V_h.bitpix = -32;
     
    7575  UV_h.extend = FALSE;
    7676
    77   fits_create_header (&V_h);
    78   fits_create_matrix (&V_h, &V_i);
    79   fits_create_header (&UV_h);
    80   fits_create_matrix (&UV_h, &UV_i);
     77  gfits_create_header (&V_h);
     78  gfits_create_matrix (&V_h, &V_i);
     79  gfits_create_header (&UV_h);
     80  gfits_create_matrix (&UV_h, &UV_i);
    8181  fprintf (stderr, "created FITS buffers\n");
    8282
    83   fits_modify (&V_h, "RA_O", "%lf", 1, lAo);
    84   fits_modify (&V_h, "RA_X", "%lf", 1, ldA);
    85   fits_modify (&V_h, "RA_Y", "%lf", 1, 0.0);
    86   fits_modify (&V_h, "DEC_O", "%lf", 1, lMo);
    87   fits_modify (&V_h, "DEC_Y", "%lf", 1, ldM);
    88   fits_modify (&V_h, "DEC_X", "%lf", 1, 0.0);
     83  gfits_modify (&V_h, "RA_O", "%lf", 1, lAo);
     84  gfits_modify (&V_h, "RA_X", "%lf", 1, ldA);
     85  gfits_modify (&V_h, "RA_Y", "%lf", 1, 0.0);
     86  gfits_modify (&V_h, "DEC_O", "%lf", 1, lMo);
     87  gfits_modify (&V_h, "DEC_Y", "%lf", 1, ldM);
     88  gfits_modify (&V_h, "DEC_X", "%lf", 1, 0.0);
    8989
    90   fits_modify (&UV_h, "RA_O",  "%lf", 1, lAo);
    91   fits_modify (&UV_h, "RA_X",  "%lf", 1, ldA);
    92   fits_modify (&UV_h, "RA_Y",  "%lf", 1, 0.0);
    93   fits_modify (&UV_h, "DEC_O", "%lf", 1, lMo);
    94   fits_modify (&UV_h, "DEC_Y", "%lf", 1, ldM);
    95   fits_modify (&UV_h, "DEC_X", "%lf", 1, 0.0);
     90  gfits_modify (&UV_h, "RA_O",  "%lf", 1, lAo);
     91  gfits_modify (&UV_h, "RA_X",  "%lf", 1, ldA);
     92  gfits_modify (&UV_h, "RA_Y",  "%lf", 1, 0.0);
     93  gfits_modify (&UV_h, "DEC_O", "%lf", 1, lMo);
     94  gfits_modify (&UV_h, "DEC_Y", "%lf", 1, ldM);
     95  gfits_modify (&UV_h, "DEC_X", "%lf", 1, 0.0);
    9696
    9797  /* the value of 100 is hard wired in this and the others as a bad color */
     
    9999  for (x = 0; x < NAGE; x++) {
    100100    for (y = 0; y < NMASS; y++) {
    101       fits_set_matrix_value (&UV_i, x, y, 100.0);
    102       fits_set_matrix_value (&V_i, x, y, 100.0);
     101      gfits_set_matrix_value (&UV_i, x, y, 100.0);
     102      gfits_set_matrix_value (&V_i, x, y, 100.0);
    103103    }
    104104  }
     
    107107    fprintf (stderr, ".");
    108108    for (y = 0; y < mass_h.Naxis[1]; y++) {
    109       mass = fits_get_matrix_value (&mass_i, x, y);
    110       age = fits_get_matrix_value (&age_i, x, y);
     109      mass = gfits_get_matrix_value (&mass_i, x, y);
     110      age = gfits_get_matrix_value (&age_i, x, y);
    111111      if (mass > 0) {
    112112        X = (log10(age) - lAo) / ldA;
     
    116116          uv = x*DUV + UV0;
    117117          v  = y*DV + V0;
    118           fits_set_matrix_value (&UV_i, X, Y, uv);
    119           fits_set_matrix_value (&V_i, X, Y, v);
     118          gfits_set_matrix_value (&UV_i, X, Y, uv);
     119          gfits_set_matrix_value (&V_i, X, Y, v);
    120120        }
    121121      }
     
    127127  for (x = 0; x < NAGE; x++) {
    128128    for (y = 0; y < NMASS; y++) {
    129       uv = fits_get_matrix_value (&UV_i, x, y);
     129      uv = gfits_get_matrix_value (&UV_i, x, y);
    130130      if (uv == 100.0) {
    131131        /* find neighbors up and down */
     
    133133        X0 = Y0 = -1;
    134134        for (X = x + 1; X < NAGE; X++) {
    135           if ((fits_get_matrix_value (&UV_i, X, y)) != 100.0) {
     135          if ((gfits_get_matrix_value (&UV_i, X, y)) != 100.0) {
    136136            X1 = X;
    137137            break;
     
    139139        }
    140140        for (X = x - 1; X >= 0; X--) {
    141           if ((fits_get_matrix_value (&UV_i, X, y)) != 100.0) {
     141          if ((gfits_get_matrix_value (&UV_i, X, y)) != 100.0) {
    142142            X0 = X;
    143143            break;
     
    145145        }
    146146        for (Y = y + 1; Y < NMASS; Y++) {
    147           if ((fits_get_matrix_value (&UV_i, x, Y)) != 100.0) {
     147          if ((gfits_get_matrix_value (&UV_i, x, Y)) != 100.0) {
    148148            Y1 = Y;
    149149            break;
     
    151151        }
    152152        for (Y = y - 1; Y >= 0; Y--) {
    153           if ((fits_get_matrix_value (&UV_i, x, Y)) != 100.0) {
     153          if ((gfits_get_matrix_value (&UV_i, x, Y)) != 100.0) {
    154154            Y0 = Y;
    155155            break;
     
    158158        slope_x = slope_y = 100000.0;
    159159        if ((X1 < NAGE) && (X0 > -1)) {
    160           slope_x = (fits_get_matrix_value (&UV_i, X1, y) - fits_get_matrix_value (&UV_i, X0, y)) / (X1 - X0);
     160          slope_x = (gfits_get_matrix_value (&UV_i, X1, y) - gfits_get_matrix_value (&UV_i, X0, y)) / (X1 - X0);
    161161        }
    162162        if ((Y1 < NMASS) && (Y0 > -1)) {
    163           slope_y = (fits_get_matrix_value (&UV_i, x, Y1) - fits_get_matrix_value (&UV_i, x, Y0)) / (Y1 - Y0);
     163          slope_y = (gfits_get_matrix_value (&UV_i, x, Y1) - gfits_get_matrix_value (&UV_i, x, Y0)) / (Y1 - Y0);
    164164        }
    165165        if ((fabs(slope_x) < fabs(slope_y)) && (slope_x != 100000.0)) {
    166           uv = (x - X0) * slope_x + fits_get_matrix_value (&UV_i, X0, y);
    167           tmp = (fits_get_matrix_value (&V_i, X1, y) - fits_get_matrix_value (&V_i, X0, y)) / (X1 - X0);
    168           v  = (x - X0) * tmp + fits_get_matrix_value (&V_i, X0, y);
    169           fits_set_matrix_value (&UV_i, x, y, uv);
    170           fits_set_matrix_value (&V_i, x, y, v);
     166          uv = (x - X0) * slope_x + gfits_get_matrix_value (&UV_i, X0, y);
     167          tmp = (gfits_get_matrix_value (&V_i, X1, y) - gfits_get_matrix_value (&V_i, X0, y)) / (X1 - X0);
     168          v  = (x - X0) * tmp + gfits_get_matrix_value (&V_i, X0, y);
     169          gfits_set_matrix_value (&UV_i, x, y, uv);
     170          gfits_set_matrix_value (&V_i, x, y, v);
    171171        }         
    172172        if ((fabs(slope_x) >= fabs(slope_y)) && (slope_y != 100000.0)) {
    173           uv = (y - Y0) * slope_y + fits_get_matrix_value (&UV_i, x, Y0);
    174           tmp = (fits_get_matrix_value (&V_i, x, Y1) - fits_get_matrix_value (&V_i, x, Y0)) / (Y1 - Y0);
    175           v  = (y - Y0) * tmp + fits_get_matrix_value (&V_i, x, Y0);
    176           fits_set_matrix_value (&UV_i, x, y, uv);
    177           fits_set_matrix_value (&V_i, x, y, v);
     173          uv = (y - Y0) * slope_y + gfits_get_matrix_value (&UV_i, x, Y0);
     174          tmp = (gfits_get_matrix_value (&V_i, x, Y1) - gfits_get_matrix_value (&V_i, x, Y0)) / (Y1 - Y0);
     175          v  = (y - Y0) * tmp + gfits_get_matrix_value (&V_i, x, Y0);
     176          gfits_set_matrix_value (&UV_i, x, y, uv);
     177          gfits_set_matrix_value (&V_i, x, y, v);
    178178        }         
    179179      }
     
    183183
    184184
    185   fits_write_header (argv[3], &V_h);
    186   fits_write_matrix (argv[3], &V_i);
    187   fits_write_header (argv[4], &UV_h);
    188   fits_write_matrix (argv[4], &UV_i);
     185  gfits_write_header (argv[3], &V_h);
     186  gfits_write_matrix (argv[3], &V_i);
     187  gfits_write_header (argv[4], &UV_h);
     188  gfits_write_matrix (argv[4], &UV_i);
    189189
    190190}
  • trunk/Ohana/src/mosastro/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- mosastro 1.3
     3  * converted to gfits APIs (forces libfits 1.6)
    14
    25- mosastro 1.2
  • trunk/Ohana/src/mosastro/src/LoadStars.c

    r3466 r7080  
    1616
    1717    /* load header */
    18     if (!fits_read_header (chip[Nchip].file, &chip[Nchip].header)) {
     18    if (!gfits_read_header (chip[Nchip].file, &chip[Nchip].header)) {
    1919      fprintf (stderr, "ERROR: can't read header for %s\n", file[i]);
    2020      free (chip[Nchip].file);
     
    2323
    2424    /* get image dimensions */
    25     fits_scan (&chip[Nchip].header, "NAXIS1",   "%d", 1, &chip[Nchip].NX);
    26     fits_scan (&chip[Nchip].header, "NAXIS2",   "%d", 1, &chip[Nchip].NY);
     25    gfits_scan (&chip[Nchip].header, "NAXIS1",   "%d", 1, &chip[Nchip].NX);
     26    gfits_scan (&chip[Nchip].header, "NAXIS2",   "%d", 1, &chip[Nchip].NY);
    2727
    2828    /* get astrometry information */
     
    3030      fprintf (stderr, "ERROR: no astrometric solution in header\n");
    3131      free (chip[Nchip].file);
    32       fits_free_header (&chip[Nchip].header);
     32      gfits_free_header (&chip[Nchip].header);
    3333      continue;
    3434    }
     
    3737
    3838    itmp = 0;
    39     fits_scan (&chip[Nchip].header, "NASTRO",   "%d", 1, &itmp);
     39    gfits_scan (&chip[Nchip].header, "NASTRO",   "%d", 1, &itmp);
    4040    if (itmp == 0) {
    4141      fprintf (stderr, "ERROR: bad astrometric solution in header %s\n", file[i]);
    4242      free (chip[Nchip].file);
    43       fits_free_header (&chip[Nchip].header);
     43      gfits_free_header (&chip[Nchip].header);
    4444      continue;
    4545    }
     
    5151
    5252    extend = FALSE;
    53     fits_scan (&chip[Nchip].header, "EXTEND",  "%t", 1, &extend);
     53    gfits_scan (&chip[Nchip].header, "EXTEND",  "%t", 1, &extend);
    5454    if (extend) {
    5555      status = rfits (&chip[Nchip]);
     
    6060      /* skip on failure */
    6161      free (chip[Nchip].file);
    62       fits_free_header (&chip[Nchip].header);
     62      gfits_free_header (&chip[Nchip].header);
    6363      continue;
    6464    }
  • trunk/Ohana/src/mosastro/src/SaveResiduals.c

    r3473 r7080  
    1111  header[0].extend = TRUE;
    1212  header[0].Naxes = 0;
    13   fits_modify (header, "NAXIS",   "%d", 1, 0);
    14   fits_modify (header, "EXTEND",  "%t", 1, TRUE);
    15   fits_modify (header, "NEXTEND", "%d", 1, 1);
     13  gfits_modify (header, "NAXIS",   "%d", 1, 0);
     14  gfits_modify (header, "EXTEND",  "%t", 1, TRUE);
     15  gfits_modify (header, "NEXTEND", "%d", 1, 1);
    1616
    1717  /* add in some keywords to specify the datatype & software version? */
    1818
    1919  /* create (empty) data matrix */
    20   fits_create_matrix (header, &matrix);
     20  gfits_create_matrix (header, &matrix);
    2121   
    2222  /* create bintable header */
    23   fits_create_table_header (&theader, "BINTABLE", "MOSASTRO_RESIDUALS");
     23  gfits_create_table_header (&theader, "BINTABLE", "MOSASTRO_RESIDUALS");
    2424
    2525  /* define bintable layout */
    26   fits_define_bintable_column (&theader, "D",    "R_RAW",      "ra (raw)",             "degrees",                        1.0, 0.0);
    27   fits_define_bintable_column (&theader, "D",    "D_RAW",      "dec (raw)",            "degrees",                        1.0, 0.0);
    28   fits_define_bintable_column (&theader, "E",    "P_RAW",      "P coord (raw)",        "pixels",                         1.0, 0.0);
    29   fits_define_bintable_column (&theader, "E",    "Q_RAW",      "Q coord (raw)",        "pixels",                         1.0, 0.0);
    30   fits_define_bintable_column (&theader, "E",    "L_RAW",      "L coord (raw)",        "pixels",                         1.0, 0.0);
    31   fits_define_bintable_column (&theader, "E",    "M_RAW",      "M coord (raw)",        "pixels",                         1.0, 0.0);
    32   fits_define_bintable_column (&theader, "E",    "X_RAW",      "X coord (raw)",        "pixels",                         1.0, 0.0);
    33   fits_define_bintable_column (&theader, "E",    "Y_RAW",      "Y coord (raw)",        "pixels",                         1.0, 0.0);
     26  gfits_define_bintable_column (&theader, "D",    "R_RAW",      "ra (raw)",             "degrees",                        1.0, 0.0);
     27  gfits_define_bintable_column (&theader, "D",    "D_RAW",      "dec (raw)",            "degrees",                        1.0, 0.0);
     28  gfits_define_bintable_column (&theader, "E",    "P_RAW",      "P coord (raw)",        "pixels",                         1.0, 0.0);
     29  gfits_define_bintable_column (&theader, "E",    "Q_RAW",      "Q coord (raw)",        "pixels",                         1.0, 0.0);
     30  gfits_define_bintable_column (&theader, "E",    "L_RAW",      "L coord (raw)",        "pixels",                         1.0, 0.0);
     31  gfits_define_bintable_column (&theader, "E",    "M_RAW",      "M coord (raw)",        "pixels",                         1.0, 0.0);
     32  gfits_define_bintable_column (&theader, "E",    "X_RAW",      "X coord (raw)",        "pixels",                         1.0, 0.0);
     33  gfits_define_bintable_column (&theader, "E",    "Y_RAW",      "Y coord (raw)",        "pixels",                         1.0, 0.0);
    3434
    35   fits_define_bintable_column (&theader, "D",    "R_REF",      "ra (ref)",             "degrees",                        1.0, 0.0);
    36   fits_define_bintable_column (&theader, "D",    "D_REF",      "dec (ref)",            "degrees",                        1.0, 0.0);
    37   fits_define_bintable_column (&theader, "E",    "P_REF",      "P coord (ref)",        "pixels",                         1.0, 0.0);
    38   fits_define_bintable_column (&theader, "E",    "Q_REF",      "Q coord (ref)",        "pixels",                         1.0, 0.0);
    39   fits_define_bintable_column (&theader, "E",    "L_REF",      "L coord (ref)",        "pixels",                         1.0, 0.0);
    40   fits_define_bintable_column (&theader, "E",    "M_REF",      "M coord (ref)",        "pixels",                         1.0, 0.0);
    41   fits_define_bintable_column (&theader, "E",    "X_REF",      "X coord (ref)",        "pixels",                         1.0, 0.0);
    42   fits_define_bintable_column (&theader, "E",    "Y_REF",      "Y coord (ref)",        "pixels",                         1.0, 0.0);
     35  gfits_define_bintable_column (&theader, "D",    "R_REF",      "ra (ref)",             "degrees",                        1.0, 0.0);
     36  gfits_define_bintable_column (&theader, "D",    "D_REF",      "dec (ref)",            "degrees",                        1.0, 0.0);
     37  gfits_define_bintable_column (&theader, "E",    "P_REF",      "P coord (ref)",        "pixels",                         1.0, 0.0);
     38  gfits_define_bintable_column (&theader, "E",    "Q_REF",      "Q coord (ref)",        "pixels",                         1.0, 0.0);
     39  gfits_define_bintable_column (&theader, "E",    "L_REF",      "L coord (ref)",        "pixels",                         1.0, 0.0);
     40  gfits_define_bintable_column (&theader, "E",    "M_REF",      "M coord (ref)",        "pixels",                         1.0, 0.0);
     41  gfits_define_bintable_column (&theader, "E",    "X_REF",      "X coord (ref)",        "pixels",                         1.0, 0.0);
     42  gfits_define_bintable_column (&theader, "E",    "Y_REF",      "Y coord (ref)",        "pixels",                         1.0, 0.0);
    4343
    44   fits_define_bintable_column (&theader, "E",    "MAG_REF",    "catalog mag",          "pixels",                         1.0, 0.0);
    45   fits_define_bintable_column (&theader, "E",    "DMAG_REF",   "catalog mag err",      "pixels",                         1.0, 0.0);
    46   fits_define_bintable_column (&theader, "E",    "MAG_RAW",    "instrum mag",          "pixels",                         1.0, 0.0);
    47   fits_define_bintable_column (&theader, "E",    "DMAG_RAW",   "instrum mag err",      "pixels",                         1.0, 0.0);
    48   fits_define_bintable_column (&theader, "B",    "MASK",       "excluded from fit?",   "",                               1.0, 0.0);
    49   fits_define_bintable_column (&theader, "7A",   "DUMMY",      "padding",              "",                               1.0, 0.0);
     44  gfits_define_bintable_column (&theader, "E",    "MAG_REF",    "catalog mag",          "pixels",                         1.0, 0.0);
     45  gfits_define_bintable_column (&theader, "E",    "DMAG_REF",   "catalog mag err",      "pixels",                         1.0, 0.0);
     46  gfits_define_bintable_column (&theader, "E",    "MAG_RAW",    "instrum mag",          "pixels",                         1.0, 0.0);
     47  gfits_define_bintable_column (&theader, "E",    "DMAG_RAW",   "instrum mag err",      "pixels",                         1.0, 0.0);
     48  gfits_define_bintable_column (&theader, "B",    "MASK",       "excluded from fit?",   "",                               1.0, 0.0);
     49  gfits_define_bintable_column (&theader, "7A",   "DUMMY",      "padding",              "",                               1.0, 0.0);
    5050
    5151  /* create table, add data values */
    52   fits_create_table (&theader, &table);
     52  gfits_create_table (&theader, &table);
    5353
    5454  /* create output data block and assign */
     
    8787  /* fix byte order issues */
    8888  ConvertMatch (match, sizeof (MatchData), Nmatch);
    89   fits_add_rows (&table, (char *) match, Nmatch, sizeof (MatchData));
     89  gfits_add_rows (&table, (char *) match, Nmatch, sizeof (MatchData));
    9090
    91   fits_fwrite_header  (f, header);
    92   fits_fwrite_matrix  (f, &matrix);
    93   fits_fwrite_Theader (f, &theader);
    94   fits_fwrite_table   (f, &table);
     91  gfits_fwrite_header  (f, header);
     92  gfits_fwrite_matrix  (f, &matrix);
     93  gfits_fwrite_Theader (f, &theader);
     94  gfits_fwrite_table   (f, &table);
    9595  fclose (f);
    9696  return;
  • trunk/Ohana/src/mosastro/src/field.c

    r3401 r7080  
    125125
    126126  /* load header */
    127   if (!fits_read_header (filename, &header)) {
     127  if (!gfits_read_header (filename, &header)) {
    128128    fprintf (stderr, "ERROR: can't read header for %s\n", filename);
    129129    exit (1);
  • trunk/Ohana/src/mosastro/src/mkheader.c

    r3323 r7080  
    1616  header[0].Naxis[1] = Ny;
    1717
    18   fits_create_header (header);
     18  gfits_create_header (header);
    1919
    20   fits_modify (header, "NSTARS",   "%d", 1, Nstars);
    21   fits_modify (header, "PHOTCODE", "%s", 1, "STD.R");
    22   fits_modify (header, "DATE-OBS", "%s", 1, "2004-04-22");
    23   fits_modify (header, "UTC-OBS",  "%s", 1, "14:27:45.30");
    24   fits_modify (header, "ZERO_PT", "%lf", 1, 25.0);
    25   fits_modify (header, "EXPTIME", "%lf", 1, 2.0);
     20  gfits_modify (header, "NSTARS",   "%d", 1, Nstars);
     21  gfits_modify (header, "PHOTCODE", "%s", 1, "STD.R");
     22  gfits_modify (header, "DATE-OBS", "%s", 1, "2004-04-22");
     23  gfits_modify (header, "UTC-OBS",  "%s", 1, "14:27:45.30");
     24  gfits_modify (header, "ZERO_PT", "%lf", 1, 25.0);
     25  gfits_modify (header, "EXPTIME", "%lf", 1, 2.0);
    2626
    2727  PutCoords (coords, header);
    2828
    29   fits_modify (header, "NASTRO",   "%d", 1, 1);
     29  gfits_modify (header, "NASTRO",   "%d", 1, 1);
    3030
    3131  return (header);
  • trunk/Ohana/src/mosastro/src/mkmosaic.c

    r3466 r7080  
    2424  header[0].Naxis[1] = Ymax - Ymin;
    2525
    26   fits_create_header (header);
     26  gfits_create_header (header);
    2727
    2828  /* calculate image-wide astrometry scatter */
    2929  Cerror   = GetScatter (&Nastro, &DL, &DM, FALSE);
    3030  Cprecise = Cerror / sqrt (Nastro);
    31   fits_modify (header, "CERROR",   "%lf", 1, Cerror);
    32   fits_modify (header, "CERR_L",   "%lf", 1, DL*3600.0 * field.project.cdelt1);
    33   fits_modify (header, "CERR_M",   "%lf", 1, DM*3600.0 * field.project.cdelt1);
     31  gfits_modify (header, "CERROR",   "%lf", 1, Cerror);
     32  gfits_modify (header, "CERR_L",   "%lf", 1, DL*3600.0 * field.project.cdelt1);
     33  gfits_modify (header, "CERR_M",   "%lf", 1, DM*3600.0 * field.project.cdelt1);
    3434
    35   fits_modify (header, "CPRECISE", "%lf", 1, Cprecise);
    36   fits_modify (header, "NSTARS",   "%d",  1, 0);  /*** modify addstar to allow NSTARS = 0 ***/
    37   fits_modify (header, "NASTRO",   "%d",  1, Nastro);
     35  gfits_modify (header, "CPRECISE", "%lf", 1, Cprecise);
     36  gfits_modify (header, "NSTARS",   "%d",  1, 0);  /*** modify addstar to allow NSTARS = 0 ***/
     37  gfits_modify (header, "NASTRO",   "%d",  1, Nastro);
    3838
    3939  GetScatter (&Nastro, &DL, &DM, TRUE);
    40   fits_modify (header, "CERR_LB",  "%lf", 1, DL*3600.0 * field.project.cdelt1);
    41   fits_modify (header, "CERR_MB",  "%lf", 1, DM*3600.0 * field.project.cdelt1);
    42   fits_modify (header, "NBRIGHT",  "%d",  1, Nastro);
     40  gfits_modify (header, "CERR_LB",  "%lf", 1, DL*3600.0 * field.project.cdelt1);
     41  gfits_modify (header, "CERR_MB",  "%lf", 1, DM*3600.0 * field.project.cdelt1);
     42  gfits_modify (header, "NBRIGHT",  "%d",  1, Nastro);
    4343
    4444  fprintf (stderr, "bright: %f %f %d\n", DL*3600.0 * field.project.cdelt1, DM*3600.0 * field.project.cdelt1, Nastro);
    4545
    4646  /* make a better selection for the mosaic photcode? */
    47   fits_scan (&chip[0].header, "PHOTCODE", "%s", 1, line);
    48   fits_modify (header, "PHOTCODE", "%s", 1, line);
     47  gfits_scan (&chip[0].header, "PHOTCODE", "%s", 1, line);
     48  gfits_modify (header, "PHOTCODE", "%s", 1, line);
    4949
    50   fits_scan (&chip[0].header, "ZERO_PT", "%lf", 1, &tmp);
    51   fits_modify (header, "ZERO_PT", "%lf", 1, tmp);
     50  gfits_scan (&chip[0].header, "ZERO_PT", "%lf", 1, &tmp);
     51  gfits_modify (header, "ZERO_PT", "%lf", 1, tmp);
    5252
    53   fits_scan (&chip[0].header, ExptimeKeyword,  "%lf", 1, &tmp);
    54   fits_modify (header, ExptimeKeyword,  "%lf", 1, tmp);
     53  gfits_scan (&chip[0].header, ExptimeKeyword,  "%lf", 1, &tmp);
     54  gfits_modify (header, ExptimeKeyword,  "%lf", 1, tmp);
    5555
    5656  /* insert time data from chip[0] */
     
    5858  if (strcasecmp (JDKeyword, "NONE")) {
    5959    uppercase (JDKeyword);
    60     fits_scan (&chip[0].header, JDKeyword, "%lf", 1, &tmp);
    61     fits_modify (header, JDKeyword, "%lf", 1, tmp);
     60    gfits_scan (&chip[0].header, JDKeyword, "%lf", 1, &tmp);
     61    gfits_modify (header, JDKeyword, "%lf", 1, tmp);
    6262    goto got_time;
    6363  }
     
    6666  if (strcasecmp (MJDKeyword, "NONE")) {
    6767    uppercase (MJDKeyword);
    68     fits_scan (&chip[0].header, MJDKeyword, "%lf", 1, &tmp);
    69     fits_modify (header, MJDKeyword, "%lf", 1, tmp);
     68    gfits_scan (&chip[0].header, MJDKeyword, "%lf", 1, &tmp);
     69    gfits_modify (header, MJDKeyword, "%lf", 1, tmp);
    7070    goto got_time;
    7171  }
     
    7474  if (strcasecmp (UTKeyword, "NONE") && strcasecmp (DateKeyword, "NONE")) {
    7575    uppercase (UTKeyword);
    76     fits_scan (&chip[0].header, UTKeyword, "%s", 1, line);
    77     fits_modify (header, UTKeyword, "%s", 1, line);
     76    gfits_scan (&chip[0].header, UTKeyword, "%s", 1, line);
     77    gfits_modify (header, UTKeyword, "%s", 1, line);
    7878    uppercase (DateKeyword);
    79     fits_scan (&chip[0].header, DateKeyword, "%s",  1, line);
    80     fits_modify (header, DateKeyword, "%s", 1, line);
     79    gfits_scan (&chip[0].header, DateKeyword, "%s",  1, line);
     80    gfits_modify (header, DateKeyword, "%s", 1, line);
    8181    goto got_time;
    8282  }
  • trunk/Ohana/src/mosastro/src/mkobs.c

    r3520 r7080  
    134134      sprintf (filename, "%s.%02d.fits", OUTPUT, Nchip);
    135135      wstars (filename, stars, Nstars, header);
    136       fits_free_header (header);
     136      gfits_free_header (header);
    137137      free (stars);
    138138      Nchip ++;
  • trunk/Ohana/src/mosastro/src/mkstandards.c

    r5418 r7080  
    9494  header = mkheader (2*dX, 2*dY, Nstars, &coords);
    9595  wstars (argv[4], stars, Nstars, header);
    96   fits_free_header (header);
     96  gfits_free_header (header);
    9797
    9898  exit (0);
  • trunk/Ohana/src/mosastro/src/parse_time.c

    r3517 r7080  
    1515  if (strcasecmp (JDKeyword, "NONE")) {
    1616    uppercase (JDKeyword);
    17     fits_scan (header, JDKeyword, "%lf", 1, &jd);
     17    gfits_scan (header, JDKeyword, "%lf", 1, &jd);
    1818    Nsec = (jd - 2440587.5)*86400;
    1919    return (Nsec);
     
    2323  if (strcasecmp (MJDKeyword, "NONE")) {
    2424    uppercase (MJDKeyword);
    25     fits_scan (header, MJDKeyword, "%lf", 1, &jd);
     25    gfits_scan (header, MJDKeyword, "%lf", 1, &jd);
    2626    Nsec = (jd - 40587.0)*86400;
    2727    return (Nsec);
     
    3030  /* get UT and DATE */
    3131  uppercase (UTKeyword);
    32   fits_scan (header, UTKeyword, "%s", 1, line);
     32  gfits_scan (header, UTKeyword, "%s", 1, line);
    3333  /* remove ':' characters */
    3434  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
     
    6969  /* parse date entry */
    7070  uppercase (DateKeyword);
    71   fits_scan (header, DateKeyword, "%s",  1, line);
     71  gfits_scan (header, DateKeyword, "%s",  1, line);
    7272  /* remove possible separators: ':', '/' '.', '-' */
    7373  for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; }
  • trunk/Ohana/src/mosastro/src/rfits.c

    r4864 r7080  
    1818  /* init & load in table data */
    1919  table.header   = &mychip[0].theader;
    20   if (!fits_fread_matrix (f, &mychip[0].matrix, &mychip[0].header)) {
     20  if (!gfits_fread_matrix (f, &mychip[0].matrix, &mychip[0].header)) {
    2121    fprintf (stderr, "error reading file\n");
    2222    fclose (f);
    2323    return (FALSE);
    2424  }
    25   if (!fits_fread_ftable (f, &table, "SMPFILE")) {
     25  if (!gfits_fread_ftable (f, &table, "SMPFILE")) {
    2626    fprintf (stderr, "error reading file\n");
    27     fits_free_matrix (&mychip[0].matrix);
     27    gfits_free_matrix (&mychip[0].matrix);
    2828    fclose (f);
    2929    return (FALSE);
    3030  }
    3131
    32   stars = fits_table_get_SMPData (&table, &mychip[0].Nstars, NULL);
    33   fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
     32  stars = gfits_table_get_SMPData (&table, &mychip[0].Nstars, NULL);
     33  gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx);
    3434
    3535  /* save raw data for output */
     
    4040  if (mychip[0].Nstars < 5) {
    4141    fprintf (stderr, "Too few stars for reliable solution, only %d\n", mychip[0].Nstars);
    42     fits_free_matrix (&mychip[0].matrix);
    43     fits_free_table (&table);
     42    gfits_free_matrix (&mychip[0].matrix);
     43    gfits_free_table (&table);
    4444    fclose (f);
    4545    return (FALSE);
  • trunk/Ohana/src/mosastro/src/rtext.c

    r4844 r7080  
    1515
    1616  /* find expected number of stars */
    17   fits_scan (&mychip[0].header, "NSTARS", "%d", 1, &mychip[0].Nstars);
     17  gfits_scan (&mychip[0].header, "NSTARS", "%d", 1, &mychip[0].Nstars);
    1818  if (mychip[0].Nstars == 0) {
    1919    fprintf (stderr, "ERROR: can't get NSTARS from header for %s\n", mychip[0].file);
  • trunk/Ohana/src/mosastro/src/wfits.c

    r3520 r7080  
    99  header[0].extend = TRUE;
    1010  header[0].Naxes = 0;
    11   fits_modify (header, "NAXIS",   "%d", 1, 0);
    12   fits_modify (header, "EXTEND",  "%t", 1, TRUE);
    13   fits_modify (header, "NEXTEND", "%d", 1, 1);
     11  gfits_modify (header, "NAXIS",   "%d", 1, 0);
     12  gfits_modify (header, "EXTEND",  "%t", 1, TRUE);
     13  gfits_modify (header, "NEXTEND", "%d", 1, 1);
    1414
    1515  /* add in some keywords to specify the datatype & software version? */
    1616
    1717  /* create (empty) data matrix */
    18   fits_create_matrix (header, &matrix);
     18  gfits_create_matrix (header, &matrix);
    1919   
    2020  table.header = &theader;
    21   fits_table_set_SMPData (&table, stars, Nstars);
     21  gfits_table_set_SMPData (&table, stars, Nstars);
    2222
    23   fits_write_header  (filename, header);
    24   fits_write_matrix  (filename, &matrix);
    25   fits_write_Theader (filename, &theader);
    26   fits_write_table   (filename, &table);
     23  gfits_write_header  (filename, header);
     24  gfits_write_matrix  (filename, &matrix);
     25  gfits_write_Theader (filename, &theader);
     26  gfits_write_table   (filename, &table);
    2727  return;
    2828}
  • trunk/Ohana/src/opihi/cmd.astro/cgrid.c

    r2598 r7080  
    1616  int NorthPole, SouthPole, N, OnPic, LOnPic, status, NELEMENTS, First;
    1717  Graphdata graphmode;
    18   int Ngraph;
    19 
    20   Ngraph = 0;
    21   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     18
     19  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
    2220
    2321  if (argc != 1) {
    24     fprintf (stderr, "USAGE: cgrid\n");
     22    fprintf (stderr, "USAGE: cgrid [style]\n");
    2523    return (FALSE);
    2624  }
     25  SetGraph (graphmode);
    2726
    2827  /* are we plotting one of the poles? */
  • trunk/Ohana/src/opihi/cmd.astro/cplot.c

    r2598 r7080  
    33int cplot (int argc, char **argv) {
    44 
    5   int i, Npts, Ngraph;
     5  int i, Npts;
    66  float *x, *y, *r, *d, Rmin, Rmax;
    77  Vector Xvec, Yvec, *xvec, *yvec;
    88  Graphdata graphmode;
    99
     10  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
     11
    1012  if (argc != 3) {
    11     fprintf (stderr, "USAGE: cplot <ra> <dec>\n");
     13    fprintf (stderr, "USAGE: cplot <ra> <dec> [style]\n");
    1214    return (FALSE);
    1315  }
    14  
    15   Ngraph = 0;
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     16  SetGraph (graphmode);
    1717
    1818  Rmin = graphmode.coords.crval1 - 182.0;
     
    4545  }
    4646 
    47  
    4847  Npts = Xvec.Nelements;
    4948  graphmode.etype = 0;
     
    5655   
    5756  return (TRUE);
    58 
    5957}
    6058
  • trunk/Ohana/src/opihi/cmd.astro/czplot.c

    r2843 r7080  
    33int czplot (int argc, char **argv) {
    44 
    5   int i, N, Npts, Ngraph;
     5  int i, Npts;
    66  double min, range, Rmin, Rmax;
    77  float *in, *out, *r, *d, *x, *y;
     
    99  Graphdata graphmode;
    1010
    11   Ngraph = -1;
    12   if ((N = get_argument (argc, argv, "-n"))) {
    13     remove_argument (N, &argc, argv);
    14     Ngraph = atof (argv[N]);
    15     remove_argument (N, &argc, argv);
    16   }
    17   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     11  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
    1812
    1913  if (argc != 6) {
     
    2115    return (FALSE);
    2216  }
     17  SetGraph (graphmode);
    2318
    2419  min = atof(argv[4]);
  • trunk/Ohana/src/opihi/cmd.astro/getvel.c

    r4689 r7080  
    3333
    3434  /* we expect the input image to have units of velocity, lattitude, and longitude */
    35   fits_scan (&buf[0].header, "CRVAL1", "%lf", 1, &Vo);
    36   fits_scan (&buf[0].header, "CDELT1", "%lf", 1, &dV);
    37   fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &xo);
    38   fits_scan (&buf[0].header, "CRVAL2", "%lf", 1, &Bo);
    39   fits_scan (&buf[0].header, "CDELT2", "%lf", 1, &dB);
    40   fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &yo);
    41   fits_scan (&buf[0].header, "CRVAL3", "%lf", 1, &L);
     35  gfits_scan (&buf[0].header, "CRVAL1", "%lf", 1, &Vo);
     36  gfits_scan (&buf[0].header, "CDELT1", "%lf", 1, &dV);
     37  gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &xo);
     38  gfits_scan (&buf[0].header, "CRVAL2", "%lf", 1, &Bo);
     39  gfits_scan (&buf[0].header, "CDELT2", "%lf", 1, &dB);
     40  gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &yo);
     41  gfits_scan (&buf[0].header, "CRVAL3", "%lf", 1, &L);
    4242  Vo *= 0.001;
    4343  dV *= 0.001;
  • trunk/Ohana/src/opihi/cmd.astro/medianmap.c

    r4689 r7080  
    4747  /* duplicate the (in) buffer to the (out), with different size */
    4848  /* this should probably be a function in misc */
    49   fits_free_matrix (&out[0].matrix);
    50   fits_free_header (&out[0].header);
     49  gfits_free_matrix (&out[0].matrix);
     50  gfits_free_header (&out[0].header);
    5151  out[0].bitpix = in[0].bitpix;
    5252  out[0].unsign = in[0].unsign;
    5353  out[0].bscale = in[0].bscale;
    5454  out[0].bzero  = in[0].bzero;
    55   fits_copy_header (&in[0].header, &out[0].header);
    56   fits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);
    57   fits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);
     55  gfits_copy_header (&in[0].header, &out[0].header);
     56  gfits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);
     57  gfits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);
    5858  out[0].header.Naxis[0] = Nx;
    5959  out[0].header.Naxis[1] = Ny;
    60   fits_create_matrix (&out[0].header, &out[0].matrix);
     60  gfits_create_matrix (&out[0].header, &out[0].matrix);
    6161
    6262  In = (float *) in[0].matrix.buffer;
  • trunk/Ohana/src/opihi/cmd.astro/polar.c

    r2598 r7080  
    3232
    3333  /* we expect the output image to have units of longitude and distance */
    34   fits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Lo);
    35   fits_scan (&in[0].header, "CDELT1", "%lf", 1, &dL);
    36   fits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);
    37   fits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Do);
    38   fits_scan (&in[0].header, "CDELT2", "%lf", 1, &dD);
    39   fits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);
     34  gfits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Lo);
     35  gfits_scan (&in[0].header, "CDELT1", "%lf", 1, &dL);
     36  gfits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);
     37  gfits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Do);
     38  gfits_scan (&in[0].header, "CDELT2", "%lf", 1, &dD);
     39  gfits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);
    4040
    4141  /* we expect the input image to have units of distance X and Y */
    42   fits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Mo);
    43   fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dM);
    44   fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);
    45   fits_scan (&out[0].header, "CRVAL2", "%lf", 1, &No);
    46   fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dN);
    47   fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);
     42  gfits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Mo);
     43  gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dM);
     44  gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);
     45  gfits_scan (&out[0].header, "CRVAL2", "%lf", 1, &No);
     46  gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dN);
     47  gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);
    4848
    4949  Vin  = (float *)in[0].matrix.buffer;
  • trunk/Ohana/src/opihi/cmd.astro/rotcurve.c

    r2843 r7080  
    5252
    5353  /* we expect the input image to have units of velocity, lattitude, and longitude */
    54   fits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Vo);
    55   fits_scan (&in[0].header, "CDELT1", "%lf", 1, &dV);
    56   fits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);
    57   fits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Bo);
    58   fits_scan (&in[0].header, "CDELT2", "%lf", 1, &dB);
    59   fits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);
    60   fits_scan (&in[0].header, "CRVAL3", "%lf", 1, &L);
     54  gfits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Vo);
     55  gfits_scan (&in[0].header, "CDELT1", "%lf", 1, &dV);
     56  gfits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);
     57  gfits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Bo);
     58  gfits_scan (&in[0].header, "CDELT2", "%lf", 1, &dB);
     59  gfits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);
     60  gfits_scan (&in[0].header, "CRVAL3", "%lf", 1, &L);
    6161  Vo *= 0.001;
    6262  dV *= 0.001;
    6363
    6464  /* we expect the output image to have units of longitude and distance */
    65   fits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Lo);
    66   fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dL);
    67   fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);
    68   fits_scan (&out[0].header, "CRVAL2", "%lf", 1, &Do);
    69   fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dD);
    70   fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);
     65  gfits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Lo);
     66  gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dL);
     67  gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);
     68  gfits_scan (&out[0].header, "CRVAL2", "%lf", 1, &Do);
     69  gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dD);
     70  gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);
    7171
    7272  while (L >= 360) {L -= 360.0;}
  • trunk/Ohana/src/opihi/cmd.data/create.c

    r2843 r7080  
    5555
    5656  if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    57   fits_free_matrix (&buf[0].matrix);
    58   fits_free_header (&buf[0].header);
     57  gfits_free_matrix (&buf[0].matrix);
     58  gfits_free_header (&buf[0].header);
    5959
    6060  buf[0].bitpix = 16;
     
    7272  buf[0].header.Naxis[1] = atoi (argv[3]);
    7373
    74   fits_create_header (&buf[0].header);
    75   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     74  gfits_create_header (&buf[0].header);
     75  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    7676
    7777  return (TRUE);
  • trunk/Ohana/src/opihi/cmd.data/cursor.c

    r5846 r7080  
    5858    if (IsImage) {
    5959      if (buf != NULL) {
    60         Z = fits_get_matrix_value (&buf[0].matrix, (int) X, (int) Y);
     60        Z = gfits_get_matrix_value (&buf[0].matrix, (int) X, (int) Y);
    6161      }
    6262      fprintf (GetOutfile(), "%s %f %f  %f\n", key, X, Y, Z);
  • trunk/Ohana/src/opihi/cmd.data/dimenup.c

    r2598 r7080  
    2828
    2929  /* I should encapsulate this in a create_default_buffer */
    30   fits_free_matrix (&buf[0].matrix);
    31   fits_free_header (&buf[0].header);
     30  gfits_free_matrix (&buf[0].matrix);
     31  gfits_free_header (&buf[0].header);
    3232  buf[0].header.bitpix = buf[0].bitpix = -32;
    3333  buf[0].header.unsign = buf[0].unsign = FALSE;
     
    3737  buf[0].header.Naxis[0] = Nx;
    3838  buf[0].header.Naxis[1] = Ny;
    39   fits_create_header (&buf[0].header);
    40   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     39  gfits_create_header (&buf[0].header);
     40  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    4141
    4242  out = (float *) buf[0].matrix.buffer;
  • trunk/Ohana/src/opihi/cmd.data/dot.c

    r5850 r7080  
    33int dot (int argc, char **argv) {
    44 
    5   int N, Ngraph;
    65  Graphdata graphmode;
    76  float x, y;
    87
    9   /* choose the appropriate graphing window */
    10   Ngraph = -1;
    11   if ((N = get_argument (argc, argv, "-n"))) {
    12     remove_argument (N, &argc, argv);
    13     Ngraph = atof (argv[N]);
    14     remove_argument (N, &argc, argv);
    15   }
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
    17 
    18   /* evaluate various plotting options */
    19   if ((N = get_argument (argc, argv, "-lt"))) {
    20     remove_argument (N, &argc, argv);
    21     graphmode.ltype = atof(argv[N]);
    22     remove_argument (N, &argc, argv);
    23   }
    24   if ((N = get_argument (argc, argv, "-lw"))) {
    25     remove_argument (N, &argc, argv);
    26     graphmode.lweight = atof(argv[N]);
    27     remove_argument (N, &argc, argv);
    28   }
    29   if ((N = get_argument (argc, argv, "-pt"))) {
    30     remove_argument (N, &argc, argv);
    31     graphmode.ptype = atof(argv[N]);
    32     remove_argument (N, &argc, argv);
    33   }
    34   if ((N = get_argument (argc, argv, "+eb"))) {
    35     remove_argument (N, &argc, argv);
    36     graphmode.ebar = TRUE;
    37   }
    38   if ((N = get_argument (argc, argv, "-eb"))) {
    39     remove_argument (N, &argc, argv);
    40     graphmode.ebar = FALSE;
    41   }
    42   if ((N = get_argument (argc, argv, "-sz"))) {
    43     remove_argument (N, &argc, argv);
    44     graphmode.size = atof(argv[N]);
    45     remove_argument (N, &argc, argv);
    46   }
    47   if ((N = get_argument (argc, argv, "-c"))) {
    48     remove_argument (N, &argc, argv);
    49     graphmode.color = KapaColorByName (argv[N]);
    50     if (graphmode.color == -1) return (FALSE);
    51     remove_argument (N, &argc, argv);
    52   }
    53   graphmode.style = 2;
     8  if (!style_args (&graphmode, &argc, argv, -1)) return FALSE;
    549
    5510  if (argc != 3) {
     
    6318  SetGraph (graphmode);
    6419
    65   /* set errorbar mode (these are NOT sticky) */
     20  /* set point style and errorbar mode (these are NOT sticky) */
     21  graphmode.style = 2;
    6622  graphmode.etype = 0;
    6723
  • trunk/Ohana/src/opihi/cmd.data/extract.c

    r2628 r7080  
    5353  if ((out = SelectBuffer (argv[2], OLDBUFFER, FALSE)) == NULL) {
    5454    if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    55     fits_free_matrix (&out[0].matrix);
    56     fits_free_header (&out[0].header);
     55    gfits_free_matrix (&out[0].matrix);
     56    gfits_free_header (&out[0].header);
    5757
    5858    out[0].bitpix = in[0].bitpix;
     
    6060    out[0].bscale = in[0].bscale;
    6161    out[0].bzero  = in[0].bzero;
    62     fits_copy_header (&in[0].header, &out[0].header);
    63     fits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);
    64     fits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);
     62    gfits_copy_header (&in[0].header, &out[0].header);
     63    gfits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);
     64    gfits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);
    6565    out[0].header.Naxis[0] = Nx;
    6666    out[0].header.Naxis[1] = Ny;
    67     fits_create_matrix (&out[0].header, &out[0].matrix);
     67    gfits_create_matrix (&out[0].header, &out[0].matrix);
    6868  } else {
    6969    if ((out[0].header.Naxis[1] != Ny) || (out[0].header.Naxis[0] != Nx)) {
  • trunk/Ohana/src/opihi/cmd.data/fft2d.c

    r4689 r7080  
    3232
    3333  /* free up output space */
    34   fits_free_matrix (&Ore[0].matrix);
    35   fits_free_header (&Ore[0].header);
    36   fits_free_matrix (&Oim[0].matrix);
    37   fits_free_header (&Oim[0].header);
     34  gfits_free_matrix (&Ore[0].matrix);
     35  gfits_free_header (&Ore[0].header);
     36  gfits_free_matrix (&Oim[0].matrix);
     37  gfits_free_header (&Oim[0].header);
    3838
    3939  /* get image dimensions, check value */
     
    7474
    7575  /* fix up output headers (real) */
    76   fits_copy_header (&Ire[0].header, &Ore[0].header);
    77   fits_modify (&Ore[0].header, "NAXIS1", "%d", 1, Nx);
    78   fits_modify (&Ore[0].header, "NAXIS2", "%d", 1, Ny);
     76  gfits_copy_header (&Ire[0].header, &Ore[0].header);
     77  gfits_modify (&Ore[0].header, "NAXIS1", "%d", 1, Nx);
     78  gfits_modify (&Ore[0].header, "NAXIS2", "%d", 1, Ny);
    7979  Ore[0].header.Naxis[0] = Nx;
    8080  Ore[0].header.Naxis[1] = Ny;
     
    8383  Ore[0].bscale = Ire[0].bscale;
    8484  Ore[0].bzero  = Ire[0].bzero;
    85   fits_create_matrix (&Ore[0].header, &Ore[0].matrix);
     85  gfits_create_matrix (&Ore[0].header, &Ore[0].matrix);
    8686
    8787  /* fix up output headers (imaginary) */
    88   fits_copy_header (&Ire[0].header, &Oim[0].header);
    89   fits_modify (&Oim[0].header, "NAXIS1", "%d", 1, Nx);
    90   fits_modify (&Oim[0].header, "NAXIS2", "%d", 1, Ny);
     88  gfits_copy_header (&Ire[0].header, &Oim[0].header);
     89  gfits_modify (&Oim[0].header, "NAXIS1", "%d", 1, Nx);
     90  gfits_modify (&Oim[0].header, "NAXIS2", "%d", 1, Ny);
    9191  Oim[0].header.Naxis[0] = Nx;
    9292  Oim[0].header.Naxis[1] = Ny;
     
    9595  Oim[0].bscale = Ire[0].bscale;
    9696  Oim[0].bzero  = Ire[0].bzero;
    97   fits_create_matrix (&Oim[0].header, &Oim[0].matrix);
     97  gfits_create_matrix (&Oim[0].header, &Oim[0].matrix);
    9898
    9999  /* move data from working space to output buffers */
  • trunk/Ohana/src/opihi/cmd.data/gridify.c

    r2938 r7080  
    5656  free (bf[0].header.buffer);  /* ALLOCATEd in SelectBuffer */
    5757  free (bf[0].matrix.buffer);  /* ALLOCATEd in SelectBuffer */
    58   fits_create_header (&bf[0].header);
    59   fits_create_matrix (&bf[0].header, &bf[0].matrix);
     58  gfits_create_header (&bf[0].header);
     59  gfits_create_matrix (&bf[0].header, &bf[0].matrix);
    6060
    6161  ALLOCATE (val, float, Nx*Ny);
  • trunk/Ohana/src/opihi/cmd.data/keyword.c

    r2843 r7080  
    9292    switch (Wmode) {
    9393    case STRING:
    94       fits_modify (&buf[0].header, argv[2], "%s", 1, line);
     94      gfits_modify (&buf[0].header, argv[2], "%s", 1, line);
    9595      return (TRUE);
    9696    case FLOAT:
    9797      value = atof(line);
    98       fits_modify (&buf[0].header, argv[2], "%lf", 1, value);
     98      gfits_modify (&buf[0].header, argv[2], "%lf", 1, value);
    9999      return (TRUE);
    100100    case INT:
    101       fits_modify (&buf[0].header, argv[2], "%d", 1, atoi(line));
     101      gfits_modify (&buf[0].header, argv[2], "%d", 1, atoi(line));
    102102      return (TRUE);
    103103    case BOOLEAN:
     
    107107      }
    108108      ivalue = !strcasecmp (line, "T");
    109       fits_modify (&buf[0].header, argv[2], "%t", 1, ivalue);
     109      gfits_modify (&buf[0].header, argv[2], "%t", 1, ivalue);
    110110      return (TRUE);
    111111    case KEYCOMMENT:
    112       fits_modify (&buf[0].header, argv[2], "%C", 1, line);
     112      gfits_modify (&buf[0].header, argv[2], "%C", 1, line);
    113113      return (TRUE);
    114114    case COMMENT:
    115       fits_modify (&buf[0].header, argv[2], "%S", 0, line);
     115      gfits_modify (&buf[0].header, argv[2], "%S", 0, line);
    116116      return (TRUE);
    117117    }
     
    119119 
    120120  if (delete) {
    121     fits_delete (&buf[0].header, argv[2], -1);
     121    gfits_delete (&buf[0].header, argv[2], -1);
    122122    return (TRUE);
    123123  }
     
    125125  /* grab the value in the given format, either a string or a digit */
    126126  if (asfloat) {
    127     status = fits_scan (&buf[0].header, argv[2], "%lf", 1, &value);
     127    status = gfits_scan (&buf[0].header, argv[2], "%lf", 1, &value);
    128128    if (!status) goto failure;
    129129    if (argc == 4)
     
    135135
    136136  if (ascomment) {
    137     status = fits_scan (&buf[0].header, argv[2], "%C", 1, line);
     137    status = gfits_scan (&buf[0].header, argv[2], "%C", 1, line);
    138138    if (!status) goto failure;
    139139    if (argc == 4)
     
    145145
    146146  /* not-specified */
    147   status = fits_scan (&buf[0].header, argv[2], "%s", 1, line);
     147  status = gfits_scan (&buf[0].header, argv[2], "%s", 1, line);
    148148  if (!status) goto failure;
    149149  if (argc == 4)
  • trunk/Ohana/src/opihi/cmd.data/line.c

    r5850 r7080  
    33int line (int argc, char **argv) {
    44 
    5   int N, Npts, Ngraph;
     5  int N, Npts;
    66  Graphdata graphmode;
    77  Vector *vecx, *vecy, *dxm, *dxp, *dym, *dyp;
    88
    9   /* choose the appropriate graphing window */
    10   Ngraph = -1;
    11   if ((N = get_argument (argc, argv, "-n"))) {
    12     remove_argument (N, &argc, argv);
    13     Ngraph = atof (argv[N]);
    14     remove_argument (N, &argc, argv);
    15   }
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
    17 
    18   /* evaluate various plotting options */
    19   if ((N = get_argument (argc, argv, "-lt"))) {
    20     remove_argument (N, &argc, argv);
    21     graphmode.ltype = atof(argv[N]);
    22     remove_argument (N, &argc, argv);
    23   }
    24   if ((N = get_argument (argc, argv, "-lw"))) {
    25     remove_argument (N, &argc, argv);
    26     graphmode.lweight = atof(argv[N]);
    27     remove_argument (N, &argc, argv);
    28   }
    29   if ((N = get_argument (argc, argv, "-pt"))) {
    30     remove_argument (N, &argc, argv);
    31     graphmode.ptype = atof(argv[N]);
    32     remove_argument (N, &argc, argv);
    33   }
    34   if ((N = get_argument (argc, argv, "+eb"))) {
    35     remove_argument (N, &argc, argv);
    36     graphmode.ebar = TRUE;
    37   }
    38   if ((N = get_argument (argc, argv, "-eb"))) {
    39     remove_argument (N, &argc, argv);
    40     graphmode.ebar = FALSE;
    41   }
    42   if ((N = get_argument (argc, argv, "-sz"))) {
    43     remove_argument (N, &argc, argv);
    44     graphmode.size = atof(argv[N]);
    45     remove_argument (N, &argc, argv);
    46   }
    47   if ((N = get_argument (argc, argv, "-c"))) {
    48     remove_argument (N, &argc, argv);
    49     graphmode.color = KapaColorByName (argv[N]);
    50     if (graphmode.color == -1) return (FALSE);
    51     remove_argument (N, &argc, argv);
    52   }
    53   if ((N = get_argument (argc, argv, "-x"))) {
    54     remove_argument (N, &argc, argv);
    55     graphmode.style = atof(argv[N]);
    56     remove_argument (N, &argc, argv);
    57   }
     9  if (!style_args (&graphmode, &argc, argv, -1)) return FALSE;
    5810
    5911  /* decide on error bars */
     
    8436    return (FALSE);
    8537  }
    86 
    87   /* set plotting options (these are sticky) */
    8838  SetGraph (graphmode);
    8939
  • trunk/Ohana/src/opihi/cmd.data/list_header.c

    r2843 r7080  
    3636    bscale = buf[0].header.bscale;
    3737    unsign = buf[0].header.unsign;
    38     fits_free_header (&buf[0].header);
     38    gfits_free_header (&buf[0].header);
    3939   
    4040    strcpy (filename, buf[0].file);
    4141    strcpy (buf[0].file, "*");
    4242    strcat (buf[0].file, filename);
    43     status = fits_read_header (argv[2], &buf[0].header);
     43    status = gfits_read_header (argv[2], &buf[0].header);
    4444    buf[0].header.bitpix = bitpix;     
    4545    buf[0].header.bzero  = bzero;     
    4646    buf[0].header.bscale = bscale;     
    4747    buf[0].header.unsign = unsign;     
    48     fits_modify (&buf[0].header, "BITPIX", "%d",  1, bitpix);
    49     fits_modify (&buf[0].header, "BSCALE", "%lf", 1, bscale);
    50     fits_modify (&buf[0].header, "BZERO",  "%lf", 1, bzero);
    51     fits_modify (&buf[0].header, "UNSIGN", "%t",  1, unsign);
     48    gfits_modify (&buf[0].header, "BITPIX", "%d",  1, bitpix);
     49    gfits_modify (&buf[0].header, "BSCALE", "%lf", 1, bscale);
     50    gfits_modify (&buf[0].header, "BZERO",  "%lf", 1, bzero);
     51    gfits_modify (&buf[0].header, "UNSIGN", "%t",  1, unsign);
    5252   
    5353  } else {
     
    5555    f = popen ("more", "w");
    5656   
    57     p = fits_header_field (&buf[0].header, "END", 1);
     57    p = gfits_header_field (&buf[0].header, "END", 1);
    5858    nlines = (p - buf[0].header.buffer) / 80;
    5959    nbytes = 81*nlines;
  • trunk/Ohana/src/opihi/cmd.data/mcreate.c

    r4702 r7080  
    1919
    2020  /* I should encapsulate this in a create_default_buffer */
    21   fits_free_matrix (&buf[0].matrix);
    22   fits_free_header (&buf[0].header);
     21  gfits_free_matrix (&buf[0].matrix);
     22  gfits_free_header (&buf[0].header);
    2323  buf[0].header.bitpix = buf[0].bitpix = -32;
    2424  buf[0].header.unsign = buf[0].unsign = FALSE;
     
    2828  buf[0].header.Naxis[0] = Nx;
    2929  buf[0].header.Naxis[1] = Ny;
    30   fits_create_header (&buf[0].header);
    31   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     30  gfits_create_header (&buf[0].header);
     31  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    3232  return (TRUE);
    3333
  • trunk/Ohana/src/opihi/cmd.data/minterpolate.c

    r3674 r7080  
    2626  if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    2727
    28   fits_free_matrix (&out[0].matrix);
    29   fits_free_header (&out[0].header);
     28  gfits_free_matrix (&out[0].matrix);
     29  gfits_free_header (&out[0].header);
    3030
    3131  scale  = atof (argv[3]);
     
    4141  out[0].bscale = in[0].bscale;
    4242  out[0].bzero  = in[0].bzero;
    43   fits_copy_header (&in[0].header, &out[0].header);
     43  gfits_copy_header (&in[0].header, &out[0].header);
    4444
    45   fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
    46   fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
     45  gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
     46  gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
    4747  out[0].header.Naxis[0] = nx;
    4848  out[0].header.Naxis[1] = ny;
    49   fits_create_matrix (&out[0].header, &out[0].matrix);
     49  gfits_create_matrix (&out[0].header, &out[0].matrix);
    5050
    5151  /* fix astrometric terms */
    52   status =  fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);
    53   status &= fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);
     52  status =  gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);
     53  status &= gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);
    5454  dX /= scale;
    5555  dY /= scale;
    5656  if (status) {
    57     fits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);
    58     fits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);
     57    gfits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);
     58    gfits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);
    5959  }
    60   status =  fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);
    61   status &= fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);
     60  status =  gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);
     61  status &= gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);
    6262  dX *= scale;
    6363  dY *= scale;
    6464  if (status) {
    65     fits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);
    66     fits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);
     65    gfits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);
     66    gfits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);
    6767  }
    6868
  • trunk/Ohana/src/opihi/cmd.data/plot.c

    r5850 r7080  
    33int plot (int argc, char **argv) {
    44 
    5   int N, Npts, Ngraph;
     5  int N, Npts;
    66  Graphdata graphmode;
    77  Vector *xvec, *yvec, *dxmvec, *dxpvec, *dymvec, *dypvec;
    88
    9   /* choose the appropriate graphing window */
    10   Ngraph = -1;
    11   if ((N = get_argument (argc, argv, "-n"))) {
    12     remove_argument (N, &argc, argv);
    13     Ngraph = atof (argv[N]);
    14     remove_argument (N, &argc, argv);
    15   }
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
    17 
    18   /* evaluate various plotting options */
    19   if ((N = get_argument (argc, argv, "-lt"))) {
    20     remove_argument (N, &argc, argv);
    21     graphmode.ltype = atof(argv[N]);
    22     remove_argument (N, &argc, argv);
    23   }
    24   if ((N = get_argument (argc, argv, "-lw"))) {
    25     remove_argument (N, &argc, argv);
    26     graphmode.lweight = atof(argv[N]);
    27     remove_argument (N, &argc, argv);
    28   }
    29   if ((N = get_argument (argc, argv, "-pt"))) {
    30     remove_argument (N, &argc, argv);
    31     graphmode.ptype = atof(argv[N]);
    32     remove_argument (N, &argc, argv);
    33   }
    34   if ((N = get_argument (argc, argv, "+eb"))) {
    35     remove_argument (N, &argc, argv);
    36     graphmode.ebar = TRUE;
    37   }
    38   if ((N = get_argument (argc, argv, "-eb"))) {
    39     remove_argument (N, &argc, argv);
    40     graphmode.ebar = FALSE;
    41   }
    42   if ((N = get_argument (argc, argv, "-sz"))) {
    43     remove_argument (N, &argc, argv);
    44     graphmode.size = atof(argv[N]);
    45     remove_argument (N, &argc, argv);
    46   }
    47   if ((N = get_argument (argc, argv, "-c"))) {
    48     remove_argument (N, &argc, argv);
    49     graphmode.color = KapaColorByName (argv[N]);
    50     if (graphmode.color == -1) return (FALSE);
    51     remove_argument (N, &argc, argv);
    52   }
    53   if ((N = get_argument (argc, argv, "-x"))) {
    54     remove_argument (N, &argc, argv);
    55     graphmode.style = atof(argv[N]);
    56     remove_argument (N, &argc, argv);
    57   }
     9  if (!style_args (&graphmode, &argc, argv, -1)) return FALSE;
    5810
    5911  /* decide on error bars */
     
    8133
    8234  if (argc != 3) {
    83     fprintf (stderr, "USAGE: plot <x> <y>\n");
     35    fprintf (stderr, "USAGE: plot <x> <y> [style]\n");
    8436    return (FALSE);
    8537  }
    86 
    87   /* set plotting options (these are sticky) */
    8838  SetGraph (graphmode);
    8939
     
    9242  if ((dymvec != NULL) && (dypvec == NULL)) dypvec = dymvec;
    9343  if ((dypvec != NULL) && (dymvec == NULL)) dymvec = dypvec;
    94   if (dypvec != NULL) graphmode.etype |= 0x01;
     44  if ((dypvec != NULL) || (dymvec != NULL)) graphmode.etype |= 0x01;
    9545  if ((dxmvec != NULL) && (dxpvec == NULL)) dxpvec = dxmvec;
    9646  if ((dxpvec != NULL) && (dxmvec == NULL)) dxmvec = dxpvec;
    97   if (dxpvec != NULL) graphmode.etype |= 0x02;
     47  if ((dxpvec != NULL) || (dxmvec != NULL)) graphmode.etype |= 0x02;
    9848 
    9949  /* find vectors */
  • trunk/Ohana/src/opihi/cmd.data/rd.c

    r4689 r7080  
    6161  /* find matrix, free old data */
    6262  if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    63   fits_free_matrix (&buf[0].matrix);
    64   fits_free_header (&buf[0].header);
     63  gfits_free_matrix (&buf[0].matrix);
     64  gfits_free_header (&buf[0].header);
    6565
    6666  /* save file name */
     
    7373  if (extend) {
    7474    /* load in appropriate header */
    75     Nskip = fits_read_Xheader (argv[2], &buf[0].header, Nextend);
     75    Nskip = gfits_read_Xheader (argv[2], &buf[0].header, Nextend);
    7676    if (!Nskip) {
    7777      fprintf (stderr, "entry in %s not found\n", argv[2]);
     
    113113    }
    114114    fseek (f, Nskip, SEEK_SET);
    115     status = fits_load_matrix (f, &buf[0].matrix, &buf[0].header);
     115    status = gfits_load_matrix (f, &buf[0].matrix, &buf[0].header);
    116116    fclose (f);
    117117  }
     
    128128    done = FALSE;
    129129    for (i = 0; !done; i++) {
    130       Nskip = fits_read_Xheader (argv[2], &buf[0].header, i);
     130      Nskip = gfits_read_Xheader (argv[2], &buf[0].header, i);
    131131      if (!Nskip) {
    132132        fprintf (stderr, "extension %s in %s not found\n", ccdid, argv[2]);
     
    135135        return (FALSE);
    136136      }
    137       if (!fits_scan (&buf[0].header, CCDKeyword, "%s", 1, ID)) {
     137      if (!gfits_scan (&buf[0].header, CCDKeyword, "%s", 1, ID)) {
    138138        fprintf (stderr, "%s not in header\n", CCDKeyword);
    139139        DeleteBuffer (buf);
     
    145145      done = strnumcmp (ccdid, ID);
    146146
    147       if (!done) fits_free_header (&buf[0].header);
     147      if (!done) gfits_free_header (&buf[0].header);
    148148    }
    149149    free (CCDKeyword);
     
    182182    }
    183183    fseek (f, Nskip, SEEK_SET);
    184     status = fits_load_matrix (f, &buf[0].matrix, &buf[0].header);
     184    status = gfits_load_matrix (f, &buf[0].matrix, &buf[0].header);
    185185    fclose (f);
    186186  }
    187187
    188188  if (!ccdsel && !extend) {
    189     status = fits_read_header (argv[2], &buf[0].header);
     189    status = gfits_read_header (argv[2], &buf[0].header);
    190190    if (JustHead) {
    191191      buf[0].header.Naxes = 0;
     
    209209      buf[0].header.Naxis[2] = 0;
    210210      buf[0].header.Naxes = 2;
    211       fits_modify (&buf[0].header, "NAXIS", "%d", 1, 2);
    212       fits_delete (&buf[0].header, "NAXIS3", 1);
     211      gfits_modify (&buf[0].header, "NAXIS", "%d", 1, 2);
     212      gfits_delete (&buf[0].header, "NAXIS3", 1);
    213213    }
    214214    sprintf (region, "-1 -1 -1 -1 %d %d", (plane - 1), plane);
    215     status = fits_read_segment (argv[2], &buf[0].matrix, region);
     215    status = gfits_read_segment (argv[2], &buf[0].matrix, region);
    216216  }
    217217
     
    236236
    237237  /** now - convert the matrix values to floats for internal use **/
    238   fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
     238  gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
    239239 
    240240  return (TRUE);
  • trunk/Ohana/src/opihi/cmd.data/rdseg.c

    r2598 r7080  
    2828  /* find matrix, free old data */
    2929  if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    30   fits_free_matrix (&buf[0].matrix);
    31   fits_free_header (&buf[0].header);
     30  gfits_free_matrix (&buf[0].matrix);
     31  gfits_free_header (&buf[0].header);
    3232
    3333  /* save file name */
     
    3636  free (filename);
    3737
    38   status = fits_read_header (argv[2], &buf[0].header);
     38  status = gfits_read_header (argv[2], &buf[0].header);
    3939  sprintf (region, "%d %d %d %d 0 1", x, nx + x, y, ny + y);
    40   status = fits_read_segment (argv[2], &buf[0].matrix, region);
    41   fits_modify (&buf[0].header, "NAXIS1", "%d", 1, nx);
    42   fits_modify (&buf[0].header, "NAXIS2", "%d", 1, ny);
     40  status = gfits_read_segment (argv[2], &buf[0].matrix, region);
     41  gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, nx);
     42  gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, ny);
    4343  buf[0].header.Naxis[0] = nx;
    4444  buf[0].header.Naxis[1] = ny;
     
    6666
    6767  /** now - convert the matrix values to floats for internal use **/
    68   fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
     68  gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
    6969 
    7070  return (TRUE);
  • trunk/Ohana/src/opihi/cmd.data/read_vectors.c

    r3459 r7080  
    171171
    172172    for (i = 0; i <= Nextend; i++) {
    173       if (!fits_load_header (f, &header)) return (FALSE);
    174       Nbytes = fits_matrix_size (&header);
     173      if (!gfits_load_header (f, &header)) return (FALSE);
     174      Nbytes = gfits_matrix_size (&header);
    175175      /* skip the prior data buffers */
    176176      if (i < Nextend) {
    177177        fseek (f, Nbytes, SEEK_CUR);
    178         fits_free_header (&header);
     178        gfits_free_header (&header);
    179179        continue;
    180180      }
     
    183183      Nread = fread (table.buffer, sizeof (char), Nbytes, f);
    184184      if (Nread != Nbytes) {
    185         fits_free_table  (&table);
    186         fits_free_header (&header);
     185        gfits_free_table  (&table);
     186        gfits_free_header (&header);
    187187        return (FALSE);
    188188      }
     
    190190    }
    191191  } else {
    192     if (!fits_fread_ftable (f, &table, extname)) return (FALSE);
     192    if (!gfits_fread_ftable (f, &table, extname)) return (FALSE);
    193193  }
    194194
    195195  /* identify table type (ascii / binary) */
    196196  Binary = FALSE;
    197   fits_scan (&header, "XTENSION", "%s", 1, type);
     197  gfits_scan (&header, "XTENSION", "%s", 1, type);
    198198  if (!strcmp (type, "BINTABLE")) {
    199199    Binary = TRUE;
     
    214214    Nval = 0;
    215215    if (Binary) {
    216       if (!fits_get_bintable_column_type (&header, argv[i], type, &Nval)) return (FALSE);
    217       if (!fits_get_bintable_column (&header, &table, argv[i], &data)) return (FALSE);
     216      if (!gfits_get_bintable_column_type (&header, argv[i], type, &Nval)) return (FALSE);
     217      if (!gfits_get_bintable_column (&header, &table, argv[i], &data)) return (FALSE);
    218218    } else {
    219       if (!fits_get_table_column_type (&header, argv[i], type)) return (FALSE);
    220       if (!fits_get_table_column (&header, &table, argv[i], &data)) return (FALSE);
     219      if (!gfits_get_table_column_type (&header, argv[i], type)) return (FALSE);
     220      if (!gfits_get_table_column (&header, &table, argv[i], &data)) return (FALSE);
    221221    }
    222222    if (Nval == 0) return (FALSE);
     
    276276    free (vec);
    277277  }
    278   fits_free_table (&table);
    279   fits_free_header (&header);
     278  gfits_free_table (&table);
     279  gfits_free_header (&header);
    280280  return (TRUE);
    281281}
  • trunk/Ohana/src/opihi/cmd.data/rebin.c

    r4689 r7080  
    4040  if ((in  = SelectBuffer (argv[1], OLDBUFFER, TRUE)) == NULL) return (FALSE);
    4141  if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    42   fits_free_matrix (&out[0].matrix);
    43   fits_free_header (&out[0].header);
     42  gfits_free_matrix (&out[0].matrix);
     43  gfits_free_header (&out[0].header);
    4444
    4545  scale  = atof (argv[3]);
     
    7171  out[0].bscale = in[0].bscale;
    7272  out[0].bzero  = in[0].bzero;
    73   fits_copy_header (&in[0].header, &out[0].header);
    74   fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
    75   fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
    76 
    77   status =  fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);
    78   status &= fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);
     73  gfits_copy_header (&in[0].header, &out[0].header);
     74  gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
     75  gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
     76
     77  status =  gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);
     78  status &= gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);
    7979  if (scale > 0) {
    8080    dX *= scale;
     
    8585  }   
    8686  if (status) {
    87     fits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);
    88     fits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);
    89   }
    90 
    91   status =  fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);
    92   status &= fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);
     87    gfits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);
     88    gfits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);
     89  }
     90
     91  status =  gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);
     92  status &= gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);
    9393  if (scale > 0) {
    9494    dX /= scale;
     
    9999  }   
    100100  if (status) {
    101     fits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);
    102     fits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);
     101    gfits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);
     102    gfits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);
    103103  }
    104104
    105105  out[0].header.Naxis[0] = nx;
    106106  out[0].header.Naxis[1] = ny;
    107   fits_create_matrix (&out[0].header, &out[0].matrix);
     107  gfits_create_matrix (&out[0].header, &out[0].matrix);
    108108  temp[0] = 0;
    109109  if ((in[0].file[0] != '*') && (in[0].file[0] != '(')) {
  • trunk/Ohana/src/opihi/cmd.data/rotate.c

    r2843 r7080  
    4141    buf[0].header.Naxis[0] = NY;
    4242    buf[0].header.Naxis[1] = NX;
    43     fits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);
    44     fits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);
    45     fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    46     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     43    gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);
     44    gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);
     45    gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     46    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    4747    out_buff = (float *)buf[0].matrix.buffer;
    4848    for (i = NX - 1; i > -1; i--) {
     
    5252    }
    5353    /* fix reference pixel */
    54     fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    55     fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     54    gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     55    gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    5656    X1 = Yo;
    5757    Y1 = NX - Xo;
    58     fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    59     fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    60    
    61     /* fix rotate matrix */
    62     fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    63     fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    64     fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    65     fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     58    gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     59    gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     60   
     61    /* fix rotate matrix */
     62    gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     63    gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     64    gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     65    gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    6666    PC11 = pc21;
    6767    PC12 = pc22;
    6868    PC21 = -pc11;
    6969    PC22 = -pc12;
    70     fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    71     fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    72     fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    73     fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     70    gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     71    gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     72    gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     73    gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    7474
    7575    free (in_buff);
     
    8080    buf[0].header.Naxis[0] = NY;
    8181    buf[0].header.Naxis[1] = NX;
    82     fits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);
    83     fits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);
    84     fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    85     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     82    gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);
     83    gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);
     84    gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     85    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    8686    out_buff = (float *)buf[0].matrix.buffer;
    8787    for (i = 0; i < NX; i++) {
     
    9191    }
    9292    /* fix reference pixel */
    93     fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    94     fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     93    gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     94    gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    9595    X1 = NY - Yo;
    9696    Y1 = Xo;
    9797    fprintf (stderr, "%f %f -> %f %f\n", Xo, Yo, X1, Y1);
    98     fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    99     fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    100    
    101     /* fix rotate matrix */
    102     fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    103     fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    104     fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    105     fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     98    gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     99    gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     100   
     101    /* fix rotate matrix */
     102    gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     103    gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     104    gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     105    gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    106106    PC11 = -pc21;
    107107    PC12 = -pc22;
     
    110110    fprintf (stderr, "%f %f  ->  %f %f\n", pc11, pc12, PC11, PC12);
    111111    fprintf (stderr, "%f %f  ->  %f %f\n", pc21, pc22, PC21, PC22);
    112     fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    113     fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    114     fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    115     fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     112    gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     113    gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     114    gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     115    gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    116116
    117117    free (in_buff);
     
    120120
    121121  if (!strcasecmp (argv[2], "UPSIDE") || (atof (argv[2]) == -180) || (atof (argv[2]) == 180)) {
    122     fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    123     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     122    gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     123    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    124124    out_buff = (float *)buf[0].matrix.buffer;
    125125    for (j = NY - 1; j > -1; j--) {
     
    129129    }
    130130    /* fix reference pixel */
    131     fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    132     fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     131    gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     132    gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    133133    X1 = NX - Xo;
    134134    Y1 = NY - Yo;
    135     fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    136     fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    137    
    138     /* fix rotate matrix */
    139     fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    140     fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    141     fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    142     fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     135    gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     136    gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     137   
     138    /* fix rotate matrix */
     139    gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     140    gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     141    gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     142    gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    143143    PC11 = -pc11;
    144144    PC12 = -pc12;
    145145    PC21 = -pc21;
    146146    PC22 = -pc22;
    147     fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    148     fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    149     fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    150     fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     147    gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     148    gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     149    gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     150    gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    151151
    152152    free (in_buff);
     
    155155
    156156  if (!strcasecmp (argv[2], "FLIPY")) {
    157     fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    158     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     157    gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     158    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    159159    out_buff = (float *)buf[0].matrix.buffer;
    160160    for (j = NY - 1; j > -1; j--) {
     
    164164    }
    165165    /* fix reference pixel */
    166     fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    167     fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     166    gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     167    gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    168168    X1 = Xo;
    169169    Y1 = NY - Yo;
    170     fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    171     fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    172    
    173     /* fix rotate matrix */
    174     fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    175     fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    176     fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    177     fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     170    gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     171    gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     172   
     173    /* fix rotate matrix */
     174    gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     175    gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     176    gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     177    gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    178178    PC11 = pc11;
    179179    PC12 = -pc12;
    180180    PC21 = pc21;
    181181    PC22 = -pc22;
    182     fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    183     fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    184     fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    185     fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     182    gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     183    gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     184    gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     185    gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    186186
    187187    free (in_buff);
     
    190190
    191191  if (!strcasecmp (argv[2], "FLIPX")) {
    192     fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    193     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     192    gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     193    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    194194    out_buff = (float *)buf[0].matrix.buffer;
    195195    for (j = 0; j < NY; j++) {
     
    199199    }
    200200    /* fix reference pixel */
    201     fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    202     fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     201    gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     202    gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    203203    X1 = NX - Xo;
    204204    Y1 = Yo;
    205     fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    206     fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    207    
    208     /* fix rotate matrix */
    209     fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    210     fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    211     fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    212     fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     205    gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     206    gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     207   
     208    /* fix rotate matrix */
     209    gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     210    gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     211    gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     212    gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    213213    PC11 = -pc11;
    214214    PC12 = pc12;
    215215    PC21 = -pc21;
    216216    PC22 = pc22;
    217     fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    218     fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    219     fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    220     fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     217    gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     218    gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     219    gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     220    gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    221221
    222222    free (in_buff);
     
    242242
    243243  /* fix reference pixel */
    244   fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
    245   fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
     244  gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);
     245  gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);
    246246  /*
    247247  X1 = (Xo - dX)*CosAngle - (Yo - dY)*SinAngle;
     
    250250  X1 = Xo*CosAngle - Yo*SinAngle + dX;
    251251  Y1 =  Xo*SinAngle + Yo*CosAngle + dY;
    252   fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
    253   fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
     252  gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);
     253  gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);
    254254
    255255  /* fix rotate matrix */
    256   fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
    257   fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
    258   fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
    259   fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
     256  gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);
     257  gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);
     258  gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);
     259  gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);
    260260  PC11 = pc11*CosAngle - pc21*SinAngle;
    261261  PC12 = pc12*CosAngle - pc22*SinAngle;
    262262  PC21 = pc21*CosAngle + pc11*SinAngle;
    263263  PC22 = pc22*CosAngle + pc12*SinAngle;
    264   fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
    265   fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
    266   fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
    267   fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
     264  gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);
     265  gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);
     266  gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);
     267  gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);
    268268
    269269  buf[0].header.Naxis[0] = Lx;
    270270  buf[0].header.Naxis[1] = Ly;
    271   fits_modify (&buf[0].header, "NAXIS1", "%d", 1, Lx);
    272   fits_modify (&buf[0].header, "NAXIS2", "%d", 1, Ly);
    273   fits_create_matrix (&buf[0].header, &buf[0].matrix);
    274   fits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
     271  gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, Lx);
     272  gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, Ly);
     273  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
     274  gfits_print  (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");
    275275  out_buff = (float *)buf[0].matrix.buffer;
    276276  for (j = 0; j < Ly; j++) {
  • trunk/Ohana/src/opihi/cmd.data/spline_apply.c

    r2598 r7080  
    3434
    3535  /* create an output matrix buffer with desired nx, ny */
    36   fits_free_matrix (&out[0].matrix);
    37   fits_free_header (&out[0].header);
     36  gfits_free_matrix (&out[0].matrix);
     37  gfits_free_header (&out[0].header);
    3838
    3939  out[0].bitpix = y1[0].bitpix;
     
    4141  out[0].bscale = y1[0].bscale;
    4242  out[0].bzero  = y1[0].bzero;
    43   fits_copy_header (&y1[0].header, &out[0].header);
    44   fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
    45   fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
     43  gfits_copy_header (&y1[0].header, &out[0].header);
     44  gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);
     45  gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);
    4646
    4747  out[0].header.Naxis[0] = nx;
    4848  out[0].header.Naxis[1] = ny;
    49   fits_create_matrix (&out[0].header, &out[0].matrix);
     49  gfits_create_matrix (&out[0].header, &out[0].matrix);
    5050  if ((y1[0].file[0] != '*') && (y1[0].file[0] != '(')) {
    5151    sprintf (out[0].file, "*%s", y1[0].file);
  • trunk/Ohana/src/opihi/cmd.data/spline_construct.c

    r2598 r7080  
    2626  out[0].bscale = in[0].bscale;
    2727  out[0].bzero  = in[0].bzero;
    28   fits_copy_matrix_info (&in[0].matrix, &out[0].matrix);
    29   fits_copy_header (&in[0].header, &out[0].header);
    30   fits_create_matrix (&out[0].header, &out[0].matrix);
     28  gfits_copy_matrix_info (&in[0].matrix, &out[0].matrix);
     29  gfits_copy_header (&in[0].header, &out[0].header);
     30  gfits_create_matrix (&out[0].header, &out[0].matrix);
    3131
    3232  xdir = FALSE;
  • trunk/Ohana/src/opihi/cmd.data/style.c

    r5850 r7080  
    11# include "data.h"
    2 # define NCOLORS 9
    3 static char colors[9][10] = {"black", "white", "red", "orange", "yellow", "green", "blue", "indigo", "violet"};
    42
    53int style (int argc, char **argv) {
    64 
    7   int N, Ngraph;
    85  Graphdata graphmode;
    96
    10   Ngraph = -1;
    11   if ((N = get_argument (argc, argv, "-n"))) {
    12     remove_argument (N, &argc, argv);
    13     Ngraph = atof (argv[N]);
    14     remove_argument (N, &argc, argv);
    15   }
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
    17 
    18   if (argc == 1) {
    19     fprintf (stderr, "current style (%d): -x %d -c %s -pt %d -lt %d -lw %f -sz %f\n", Ngraph,
    20              graphmode.style, colors[graphmode.color], graphmode.ptype,
    21              graphmode.ltype, graphmode.lweight,
    22              graphmode.size);
    23     return (TRUE);
    24   }
    25 
    26   if ((N = get_argument (argc, argv, "-lt"))) {
    27     remove_argument (N, &argc, argv);
    28     graphmode.ltype = atof(argv[N]);
    29     remove_argument (N, &argc, argv);
    30   }
    31   if ((N = get_argument (argc, argv, "-lw"))) {
    32     remove_argument (N, &argc, argv);
    33     graphmode.lweight = atof(argv[N]);
    34     remove_argument (N, &argc, argv);
    35   }
    36   if ((N = get_argument (argc, argv, "-pt"))) {
    37     remove_argument (N, &argc, argv);
    38     graphmode.ptype = atof(argv[N]);
    39     remove_argument (N, &argc, argv);
    40   }
    41   if ((N = get_argument (argc, argv, "+eb"))) {
    42     remove_argument (N, &argc, argv);
    43     graphmode.ebar = TRUE;
    44   }
    45   if ((N = get_argument (argc, argv, "-eb"))) {
    46     remove_argument (N, &argc, argv);
    47     graphmode.ebar = FALSE;
    48   }
    49   if ((N = get_argument (argc, argv, "-sz"))) {
    50     remove_argument (N, &argc, argv);
    51     graphmode.size = atof(argv[N]);
    52     remove_argument (N, &argc, argv);
    53   }
    54   if ((N = get_argument (argc, argv, "-c"))) {
    55     remove_argument (N, &argc, argv);
    56     graphmode.color = KapaColorByName (argv[N]);
    57     if (graphmode.color == -1) return (FALSE);
    58     remove_argument (N, &argc, argv);
    59   }
    60   if ((N = get_argument (argc, argv, "-x"))) {
    61     remove_argument (N, &argc, argv);
    62     graphmode.style = atof(argv[N]);
    63     remove_argument (N, &argc, argv);
    64   }
    65 
    66   SetGraph (graphmode);
     7  if (!style_args (&graphmode, &argc, argv, -1)) return FALSE;
    678
    689  if (argc > 1) {
     
    7011    return (FALSE);
    7112  }
     13  SetGraph (graphmode);
    7214
    7315  return (TRUE);
    74 
    7516}
    76 
  • trunk/Ohana/src/opihi/cmd.data/subraster.c

    r2598 r7080  
    5353
    5454  if ((obuf = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE);
    55   fits_free_matrix (&obuf[0].matrix);
    56   fits_free_header (&obuf[0].header);
     55  gfits_free_matrix (&obuf[0].matrix);
     56  gfits_free_header (&obuf[0].header);
    5757
    5858  obuf[0].bitpix = ibuf[0].bitpix;
     
    6262  /* strcpy (obuf[0].name, ibuf[0].name); */
    6363  strcpy (obuf[0].file, ibuf[0].file);
    64   fits_copy_header (&ibuf[0].header, &obuf[0].header);
    65   fits_modify (&obuf[0].header, "NAXIS1", "%d", 1, Nx);
    66   fits_modify (&obuf[0].header, "NAXIS2", "%d", 1, Ny);
     64  gfits_copy_header (&ibuf[0].header, &obuf[0].header);
     65  gfits_modify (&obuf[0].header, "NAXIS1", "%d", 1, Nx);
     66  gfits_modify (&obuf[0].header, "NAXIS2", "%d", 1, Ny);
    6767  obuf[0].header.Naxis[0] = Nx;
    6868  obuf[0].header.Naxis[1] = Ny;
    69   fits_create_matrix (&obuf[0].header, &obuf[0].matrix);
     69  gfits_create_matrix (&obuf[0].header, &obuf[0].matrix);
    7070
    7171  for (j = 0; j < ny; j++) {
  • trunk/Ohana/src/opihi/cmd.data/svd.c

    r2598 r7080  
    2020
    2121  /* U is Nx, Ny */
    22   fits_free_matrix (&Mu[0].matrix);
    23   fits_free_header (&Mu[0].header);
     22  gfits_free_matrix (&Mu[0].matrix);
     23  gfits_free_header (&Mu[0].header);
    2424  Mu[0].bitpix = Ma[0].bitpix;
    2525  Mu[0].unsign = Ma[0].unsign;
    2626  Mu[0].bscale = Ma[0].bscale;
    2727  Mu[0].bzero  = Ma[0].bzero;
    28   fits_copy_header (&Ma[0].header, &Mu[0].header);
    29   fits_create_matrix (&Mu[0].header, &Mu[0].matrix);
     28  gfits_copy_header (&Ma[0].header, &Mu[0].header);
     29  gfits_create_matrix (&Mu[0].header, &Mu[0].matrix);
    3030 
    3131  /* V is Nx, Nx */
    32   fits_free_matrix (&Mv[0].matrix);
    33   fits_free_header (&Mv[0].header);
     32  gfits_free_matrix (&Mv[0].matrix);
     33  gfits_free_header (&Mv[0].header);
    3434  Mv[0].bitpix = Ma[0].bitpix;
    3535  Mv[0].unsign = Ma[0].unsign;
    3636  Mv[0].bscale = Ma[0].bscale;
    3737  Mv[0].bzero  = Ma[0].bzero;
    38   fits_copy_header (&Ma[0].header, &Mv[0].header);
    39   fits_modify (&Mv[0].header, "NAXIS2", "%d", 1, Nx);
     38  gfits_copy_header (&Ma[0].header, &Mv[0].header);
     39  gfits_modify (&Mv[0].header, "NAXIS2", "%d", 1, Nx);
    4040  Mv[0].header.Naxis[1] = Nx;
    41   fits_create_matrix (&Mv[0].header, &Mv[0].matrix);
     41  gfits_create_matrix (&Mv[0].header, &Mv[0].matrix);
    4242
    4343  /* w is Nx */
  • trunk/Ohana/src/opihi/cmd.data/vgrid.c

    r2598 r7080  
    5050  free (bf[0].header.buffer);  /* ALLOCATEd in SelectBuffer */
    5151  free (bf[0].matrix.buffer);  /* ALLOCATEd in SelectBuffer */
    52   fits_create_header (&bf[0].header);
    53   fits_create_matrix (&bf[0].header, &bf[0].matrix);
     52  gfits_create_header (&bf[0].header);
     53  gfits_create_matrix (&bf[0].header, &bf[0].matrix);
    5454
    5555  ALLOCATE (val, float, Nx*Ny);
  • trunk/Ohana/src/opihi/cmd.data/wd.c

    r4689 r7080  
    8080  memcpy (temp_header.buffer, buf[0].header.buffer, temp_header.size);
    8181
    82   if (temp_header.Naxes) fits_convert_format (&temp_header, &temp_matrix, outBitpix, outScale, outZero, outUnsign);
     82  if (temp_header.Naxes) gfits_convert_format (&temp_header, &temp_matrix, outBitpix, outScale, outZero, outUnsign);
    8383
    8484  if (Extend) {
     
    8888
    8989    /* assume failure means non-existent file */
    90     if (!fits_read_header (argv[2], &Xhead)) {
     90    if (!gfits_read_header (argv[2], &Xhead)) {
    9191
    9292      Xhead.simple = TRUE;
     
    9999      Xhead.unsign = FALSE;
    100100     
    101       fits_create_header (&Xhead);
    102       fits_modify (&Xhead, "NEXTEND", "%d", 1, 0);
     101      gfits_create_header (&Xhead);
     102      gfits_modify (&Xhead, "NEXTEND", "%d", 1, 0);
    103103      f = fopen (argv[2], "w");
    104104      fclose (f);
    105105    }
    106106
    107     fits_modify (&Xhead, "EXTEND", "%t", 1, TRUE);
     107    gfits_modify (&Xhead, "EXTEND", "%t", 1, TRUE);
    108108
    109109    Nextend = 0;
    110     fits_scan (&Xhead, "NEXTEND", "%d", 1, &Nextend);
     110    gfits_scan (&Xhead, "NEXTEND", "%d", 1, &Nextend);
    111111    Nextend ++;
    112     fits_modify (&Xhead, "NEXTEND", "%d", 1, Nextend);
     112    gfits_modify (&Xhead, "NEXTEND", "%d", 1, Nextend);
    113113
    114114    /* write the main header to the start of the file */
     
    149149    }
    150150    /* write the matrix buffer (automatically goes to end of file */
    151     if (!fits_write_matrix (argv[2], &temp_matrix)) {
     151    if (!gfits_write_matrix (argv[2], &temp_matrix)) {
    152152      fprintf (stderr, "failed to write file\n");
    153153      status = FALSE;
     
    156156    status = TRUE;
    157157  done1:
    158     fits_free_header (&Xhead);
    159     fits_free_header (&temp_header);
    160     fits_free_matrix (&temp_matrix);
     158    gfits_free_header (&Xhead);
     159    gfits_free_header (&temp_header);
     160    gfits_free_matrix (&temp_matrix);
    161161    return (status);
    162162  }
    163163 
    164164  /* the actual write-to-disk goes here */
    165   if (!fits_write_header (argv[2], &temp_header)) {
     165  if (!gfits_write_header (argv[2], &temp_header)) {
    166166    fprintf (stderr, "failed to write header\n");
    167     fits_free_header (&temp_header);
    168     fits_free_matrix (&temp_matrix);
     167    gfits_free_header (&temp_header);
     168    gfits_free_matrix (&temp_matrix);
    169169    return (FALSE);
    170170  }
    171171 
    172   if (!fits_write_matrix (argv[2], &temp_matrix)) {
     172  if (!gfits_write_matrix (argv[2], &temp_matrix)) {
    173173    fprintf (stderr, "failed to write matrix\n");
    174     fits_free_header (&temp_header);
    175     fits_free_matrix (&temp_matrix);
     174    gfits_free_header (&temp_header);
     175    gfits_free_matrix (&temp_matrix);
    176176    return (FALSE);
    177177  }
    178178
    179   fits_free_header (&temp_header);
    180   fits_free_matrix (&temp_matrix);
     179  gfits_free_header (&temp_header);
     180  gfits_free_matrix (&temp_matrix);
    181181 
    182182  return (TRUE);
  • trunk/Ohana/src/opihi/dimm/Image.c

    r2598 r7080  
    6262  header.bscale = 1;
    6363
    64   fits_create_header (&header);
    65   fits_create_matrix (&header, &matrix);
     64  gfits_create_header (&header);
     65  gfits_create_matrix (&header, &matrix);
    6666  free (matrix.buffer);
    6767
     
    6969 
    7070  /* write meta-data to header */
    71   fits_print (&header, "RA", "%lf", 1, image[0].ra);
    72   fits_print (&header, "DEC", "%lf", 1, image[0].dec);
    73   fits_print (&header, "EQUINOX", "%lf", 1, 2000.0);
     71  gfits_print (&header, "RA", "%lf", 1, image[0].ra);
     72  gfits_print (&header, "DEC", "%lf", 1, image[0].dec);
     73  gfits_print (&header, "EQUINOX", "%lf", 1, 2000.0);
    7474
    75   fits_print (&header, "AIRMASS", "%lf", 1, image[0].airmass);
    76   fits_print (&header, "CCDTEMP", "%lf", 1, image[0].ccdtemp);
    77   fits_print (&header, "AIRTEMP", "%lf", 1, image[0].airtemp);
    78   fits_print (&header, "EXPTIME", "%lf", 1, image[0].exptime);
     75  gfits_print (&header, "AIRMASS", "%lf", 1, image[0].airmass);
     76  gfits_print (&header, "CCDTEMP", "%lf", 1, image[0].ccdtemp);
     77  gfits_print (&header, "AIRTEMP", "%lf", 1, image[0].airtemp);
     78  gfits_print (&header, "EXPTIME", "%lf", 1, image[0].exptime);
    7979
    80   fits_write_header (filename, &header);
    81   fits_write_matrix (filename, &matrix);
     80  gfits_write_header (filename, &header);
     81  gfits_write_matrix (filename, &matrix);
    8282 
    8383  return (TRUE);
  • trunk/Ohana/src/opihi/dimm/camera.c

    r2598 r7080  
    105105
    106106    /* generate a buffer to store the image */
    107     fits_free_matrix (&buf[0].matrix);
    108     fits_free_header (&buf[0].header);
     107    gfits_free_matrix (&buf[0].matrix);
     108    gfits_free_header (&buf[0].header);
    109109    buf[0].header.bitpix = buf[0].bitpix = 16;
    110110    buf[0].header.unsign = buf[0].unsign = FALSE;
     
    114114    buf[0].header.Naxis[0] = dx;
    115115    buf[0].header.Naxis[1] = dy;
    116     fits_create_header (&buf[0].header);
    117     fits_create_matrix (&buf[0].header, &buf[0].matrix);
     116    gfits_create_header (&buf[0].header);
     117    gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    118118
    119119    ReadOut (x, y, dx, dy, 1, buf[0].matrix.buffer);
    120120
    121     fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
     121    gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);
    122122
    123123    EXIT_STATUS (TRUE);
  • trunk/Ohana/src/opihi/dimm/version.c

    r4748 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/opihi/doc/ChangeLog.txt

    r6689 r7080  
     1
     22006.05.03:
     3
     4  opihi-2-7 : converted to gfits APIs (forces libfits 1.6)
     5              consolidated style argument parsing
     6              added style arguments to astro plotting
     7
     8  mana-1-5  : converted to gfits APIs (forces libfits 1.6)
     9  dvo-0-5   : converted to gfits APIs (forces libfits 1.6)
     10              consolidated style argument parsing
     11  pantasks-0-5 converted to gfits APIs (forces libfits 1.6)
     12  pcontrol-0-5 converted to gfits APIs (forces libfits 1.6)
     13  pclient-0-5  converted to gfits APIs (forces libfits 1.6)
     14  dimm-0-4     converted to gfits APIs (forces libfits 1.6)
     15
    116
    2172006.03.26:
  • trunk/Ohana/src/opihi/dvo/LoadImages.c

    r6684 r7080  
    1212  sprintf (filename, "%s/Images.dat", catdir);
    1313
    14   fits_db_init (&db);
     14  gfits_db_init (&db);
    1515  db.lockstate = LCK_SOFT;
    1616  db.timeout   = 120.0;
    1717
    18   if (!fits_db_lock (&db, filename)) {
     18  if (!gfits_db_lock (&db, filename)) {
    1919    fprintf (stderr, "error opening image catalog %s (1)\n", filename);
    2020    return (NULL);
     
    2929
    3030  dvo_image_load (&db, TRUE, FALSE);
    31   fits_db_close (&db);
     31  gfits_db_close (&db);
    3232
    33   image = fits_table_get_Image (&db.ftable, nimage, &db.swapped);
     33  image = gfits_table_get_Image (&db.ftable, nimage, &db.swapped);
    3434  return (image);
    3535}
  • trunk/Ohana/src/opihi/dvo/cmpRead.c

    r5145 r7080  
    1717  /* init & load in table data */
    1818  table.header   = &theader;
    19   if (!fits_fread_ftable (f, &table, "SMPFILE")) goto escape;
     19  if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape;
    2020
    21   smpdata = fits_table_get_SMPData (&table, &Nstars, NULL);
     21  smpdata = gfits_table_get_SMPData (&table, &Nstars, NULL);
    2222
    2323  ALLOCATE (stars, CMPstars, Nstars);
  • trunk/Ohana/src/opihi/dvo/cmpload.c

    r5850 r7080  
    3636  }
    3737
    38   if (!fits_read_header (argv[2], &header)) {
     38  if (!gfits_read_header (argv[2], &header)) {
    3939    fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]);
    4040    return (FALSE);
     
    4242
    4343  /* find expected number of stars */
    44   fits_scan (&header, "NSTARS", "%d", 1, &Nstar);
     44  gfits_scan (&header, "NSTARS", "%d", 1, &Nstar);
    4545  if (Nstar == 0) {
    4646    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
    47     fits_free_header (&header);
     47    gfits_free_header (&header);
    4848    return (FALSE);
    4949  }
     
    5252  if (f == NULL) {
    5353    fprintf (stderr, "ERROR: can't read data from %s\n", argv[2]);
    54     fits_free_header (&header);
     54    gfits_free_header (&header);
    5555    return (FALSE);
    5656  }
     
    134134  free (overlay);
    135135
    136   fits_free_header (&header);
     136  gfits_free_header (&header);
    137137  free (buffer);
    138138
  • trunk/Ohana/src/opihi/dvo/cmpread.c

    r5386 r7080  
    4141
    4242  /* load FITS header */
    43   if (!fits_read_header (argv[2], &header)) {
     43  if (!gfits_read_header (argv[2], &header)) {
    4444    fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]);
    4545    return (FALSE);
     
    4949    if (!GetCoords (&coords, &header)) {
    5050      fprintf (stderr, "can't get WCS info from header\n");
    51       fits_free_header (&header);
     51      gfits_free_header (&header);
    5252      return (FALSE);
    5353    }
     
    5858  if (f == NULL) {
    5959    fprintf (stderr, "ERROR: can't read data from %s\n", argv[2]);
    60     fits_free_header (&header);
     60    gfits_free_header (&header);
    6161    return (FALSE);
    6262  }
     
    6464
    6565  /* find expected number of stars */
    66   if (!fits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {
     66  if (!gfits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {
    6767    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
    68     fits_free_header (&header);
     68    gfits_free_header (&header);
    6969    return (FALSE);
    7070  }
     
    7272  /* read from FITS table or from text table */
    7373  extend = FALSE;
    74   fits_scan (&header, "EXTEND",  "%t", 1, &extend);
     74  gfits_scan (&header, "EXTEND",  "%t", 1, &extend);
    7575  if (extend) {
    7676    fprintf (stderr, "reading from FITS cmp file %s\n", argv[2]);
    77     Nbytes = fits_matrix_size (&header);
     77    Nbytes = gfits_matrix_size (&header);
    7878    fseek (f, Nbytes, SEEK_CUR);
    7979    stars = cmpReadFits (f, &Nstars);
     
    8181    /* allocate space for stars */
    8282    fprintf (stderr, "reading from TEXT cmp file %s\n", argv[2]);
    83     if (!fits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {
     83    if (!gfits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {
    8484      fprintf (stderr, "ERROR: failed to find NSTARS\n");
    8585      exit (1);
     
    138138  }     
    139139  free (stars);
    140   fits_free_header (&header);
     140  gfits_free_header (&header);
    141141  fprintf (stderr, "loaded %d objects\n", Nstars);
    142142  return (TRUE);
  • trunk/Ohana/src/opihi/dvo/ddmags.c

    r5945 r7080  
    2020  RegionName = NULL;
    2121  RegionList = NULL;
     22  skylist = NULL;
    2223
    2324  /* load photcode information */
     
    6667    }
    6768    catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF;
    68     if (!load_catalog (&catalog, FALSE)) {
     69    if (!load_catalog (&catalog, TRUE)) {
    6970      unlock_catalog (&catalog);
    7071      continue;
    7172    }
    7273    unlock_catalog (&catalog);
     74    // fprintf (stderr, "seaching %s with %d stars\n", catalog.filename, catalog.Naverage);
     75    // ListPhotSelections ();
    7376
    7477    /* get correct mags, convert to X,Y */
     
    109112      if (M2 != NULL) free (M2);
    110113    }
     114    // fprintf (stderr, "selected %d stars\n", Npts);
     115
    111116    if (catalog.average != NULL) free (catalog.average);
    112117    if (catalog.secfilt != NULL) free (catalog.secfilt);
  • trunk/Ohana/src/opihi/dvo/detrend.c

    r5850 r7080  
    122122
    123123  /* load in database header */
    124   if (!fits_read_header (DataBase, &header)) {
     124  if (!gfits_read_header (DataBase, &header)) {
    125125    fprintf (stderr, "ERROR: trouble reading database header\n");
    126126    return (FALSE);
     
    136136
    137137  /* load existing data from database */
    138   fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
     138  gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
    139139  ALLOCATE (pimage, RegImage, Nimage);
    140140  status = fread (pimage, sizeof(RegImage), Nimage, f);
     
    143143  if (status != Nimage) {
    144144    fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status);
    145     fits_free_header (&header);
     145    gfits_free_header (&header);
    146146    free (pimage);
    147147    return (FALSE);
    148148  }
    149   fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
     149  gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
    150150
    151151  N = 0;
     
    202202
    203203  free (pimage);
    204   fits_free_header (&header);
     204  gfits_free_header (&header);
    205205  return (TRUE);
    206206
  • trunk/Ohana/src/opihi/dvo/dmags.c

    r5945 r7080  
    2020  RegionName = NULL;
    2121  RegionList = NULL;
     22  skylist = NULL;
    2223
    2324  /* load photcode information */
  • trunk/Ohana/src/opihi/dvo/fitcolors.c

    r5945 r7080  
    1111 
    1212  int *list, Nlist;
    13   int i, k, m, NP1, NP2, NP, Np, Npts, NPTS;
     13  int i, k, m, N, NP1, NP2, NP, Np, Npts, NPTS;
    1414  int N1, N2, i1, i2, mode[4];
    1515  int Nsec, status;
     16  void *oldsignal;
    1617  char *RegionName, *RegionList;
    1718  char *cmd, *outcmd, *camera;
    1819  double *M1, *M2;
    1920  float *out;
     21  float minDelta, maxDelta, minColor, maxColor;
    2022
    2123  Catalog *catalog;
     
    2729  /* defaults */
    2830  catalog  = NULL;
     31  skylist  = NULL;
    2932  codelist = NULL;
    3033  xvec = yvec = NULL;
     34
     35  oldsignal = signal (SIGINT, handle_interrupt);
     36  interrupt = FALSE;
    3137
    3238  /* load photcode information */
     
    3642  /* interpret command-line options */
    3743  if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;
    38   if (!SetPhotSelections (&argc, argv, 1)) goto usage;
     44  if (!SetPhotSelections (&argc, argv, 4)) goto usage;
     45
     46  // range for valid data points (exclude extreme outliers)
     47  minDelta = -0.2;
     48  maxDelta = +0.2;
     49  minColor = -1.0;
     50  maxColor = +3.0;
     51  if ((N = get_argument (argc, argv, "-color-range"))) {
     52    remove_argument (N, &argc, argv);
     53    minColor = atof (argv[N]);
     54    remove_argument (N, &argc, argv);
     55    maxColor = atof (argv[N]);
     56    remove_argument (N, &argc, argv);
     57  }
     58  if ((N = get_argument (argc, argv, "-delta-range"))) {
     59    remove_argument (N, &argc, argv);
     60    minDelta = atof (argv[N]);
     61    remove_argument (N, &argc, argv);
     62    maxDelta = atof (argv[N]);
     63    remove_argument (N, &argc, argv);
     64  }
    3965
    4066  /* interpret command-line options */
     
    4470  if (!(Np = GetPhotcodeCodebyName (argv[2]))) {
    4571    fprintf (stderr, "ERROR: photcode not found in photcode table\n");
    46     return (FALSE);
     72    goto usage;
    4773  }
    4874  camera = argv[3];
     
    5985  mode[0] = mode[1] = MAG_REL;  /* we should be applying any relative photometry corrections here */
    6086  mode[2] = mode[3] = MAG_AVE;
     87
    6188  /* set the reference colors */
    6289  code[2] = GetPhotcodebyCode (codelist[0][0].c1);
    6390  code[3] = GetPhotcodebyCode (codelist[0][0].c2);
     91  if ((code[2] == NULL) || (code[3] == NULL)) goto color_missing;
     92
    6493  /* all codes must have the same colors (validate) */
    6594  for (i = 0; i < NP; i++) {
     
    7099
    71100  /* output is a named buffer */
    72   if ((buf = SelectBuffer (argv[1], ANYVECTOR, TRUE)) == NULL) return (FALSE);
     101  if ((buf = SelectBuffer (argv[1], ANYVECTOR, TRUE)) == NULL) goto usage;
    73102  buf[0].matrix.Naxis[0] = NP;
    74103  buf[0].matrix.Naxis[1] = NP;
    75104
    76105  /* I should encapsulate this in a create_default_buffer */
    77   fits_free_matrix (&buf[0].matrix);
    78   fits_free_header (&buf[0].header);
     106  gfits_free_matrix (&buf[0].matrix);
     107  gfits_free_header (&buf[0].header);
    79108  buf[0].header.bitpix = buf[0].bitpix = -32;
    80109  buf[0].header.unsign = buf[0].unsign = FALSE;
     
    84113  buf[0].header.Naxis[0] = NP;
    85114  buf[0].header.Naxis[1] = NP;
    86   fits_create_header (&buf[0].header);
    87   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     115  gfits_create_header (&buf[0].header);
     116  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    88117  out = (float *) buf[0].matrix.buffer;
    89118  /* we set a default flag value of -1 */
     
    114143    }
    115144    unlock_catalog (&catalog[k]);
    116   }
    117   fprintf (stderr, "using %d regions\n", skylist[0].Nregions);
     145    // XXX make a subset catalog consisting of only Average and Measure values which meet
     146    // the selection criteria
     147  }
     148  fprintf (stderr, "using %d possible regions\n", skylist[0].Nregions);
    118149
    119150  /* vectors to save data */
     
    124155
    125156  /*** generate the color-color vectors for the pairs ***/
     157  // XXXX this function also needs to check for interrupts
     158  // XXX exclude obvious outliers (eg, fabs(dM) > 0.2)
    126159  /* loop over chip photcode pairs */
    127160  for (NP1 = 0; NP1 < NP; NP1++) {
     
    135168        if (catalog[k].Naverage == 0) continue;
    136169
     170        // fprintf (stderr, "seaching %s with %d stars\n", catalog[k].filename, catalog[k].Naverage);
     171        // ListPhotSelections ();
     172
    137173        /* get correct mags, convert to X,Y */
    138174        for (i = 0; i < catalog[k].Naverage; i++) {
     175          if (interrupt) goto escape;
     176
    139177          M1 = M2 = NULL;
    140178          m = catalog[k].average[i].offset;
    141179
     180          SetSelectionParam (0);
    142181          M1 = ExtractDMag (&code[0], &mode[0], &catalog[k].average[i], &catalog[k].secfilt[i*Nsec], &catalog[k].measure[m], &N1);
    143182          if (N1 == 0) goto skip_star;
    144183
     184          SetSelectionParam (2);
    145185          M2 = ExtractDMag (&code[2], &mode[2], &catalog[k].average[i], &catalog[k].secfilt[i*Nsec], &catalog[k].measure[m], &N2);
    146186          if (N2 == 0) goto skip_star;
     
    148188          for (i1 = 0; i1 < N1; i1++) {
    149189            for (i2 = 0; i2 < N2; i2++) {
     190              if (M1[i1] < minDelta) continue;
     191              if (M1[i1] > maxDelta) continue;
     192              if (M2[i2] < minColor) continue;
     193              if (M2[i2] > maxColor) continue;
    150194              yvec[0].elements[Npts] = M1[i1];
    151195              xvec[0].elements[Npts] = M2[i2];
     
    162206          if (M2 != NULL) free (M2);
    163207        }
     208        // fprintf (stderr, "selected %d stars\n", Npts);
    164209      }
    165210
     
    184229  if (RegionName != NULL) free (RegionName);
    185230  if (RegionList != NULL) free (RegionList);
     231  signal (SIGINT, oldsignal);
    186232  return (TRUE);
    187233
     
    190236  goto escape;
    191237
     238color_missing:
     239  fprintf (stderr, "error: chips are missing a color reference\n");
     240  goto escape;
     241
    192242color_mismatch:
    193243  fprintf (stderr, "error: all chips must have the same colors\n");
     244  goto escape;
    194245
    195246escape:
    196   free_catalog (catalog, skylist[0].Nregions);
    197   SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));
     247  if (skylist != NULL) free_catalog (catalog, skylist[0].Nregions);
     248  if (skylist != NULL) SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));
    198249  if (RegionName != NULL) free (RegionName);
    199250  if (RegionList != NULL) free (RegionList);
     
    201252  DeleteVector (xvec);
    202253  DeleteVector (yvec);
     254  signal (SIGINT, oldsignal);
    203255  return (FALSE);
    204256}
  • trunk/Ohana/src/opihi/dvo/gstar.c

    r6683 r7080  
    22
    33void print_value (FILE *f, double value, short int ival);
     4void initPhotcodeSequence (int Nsec);
     5void freePhotcodeSequence ();
     6void printPhotcodeSequence (Average *average, SecFilt *secfilt, int entry, int type);
    47
    58int gstar (int argc, char **argv) {
     
    1619  SkyList *skylist;
    1720  Catalog catalog;
    18   PhotCode *code;
    1921  int TimeFormat;
    2022  time_t TimeReference;
     
    128130    ALLOCATE (vec4[0].elements, float, NPTS);
    129131  }
     132
     133  initPhotcodeSequence (Nsec);
    130134
    131135  for (i = Nlo; (i < catalog.Naverage) && !found; i++) {
     
    143147                 0.01*catalog.average[k].Xp, catalog.average[k].code);
    144148     
    145         /* filter names -- primary code is 0 in this function */
    146         for (j = 0; j < Nsec + 1; j++) {
    147           code = GetPhotcodebyNsec (j);
    148           fprintf (GetOutfile (), "%s ", code[0].name);
    149         }
     149        /* filter names */
     150        for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 3);
    150151        fprintf (GetOutfile (), "\n");
    151152
    152153        /* average mags */
    153         print_value (GetOutfile(), catalog.average[k].M, catalog.average[k].M);
    154         for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].M_PS, catalog.secfilt[j + Nsec*k].M_PS);
     154        for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 0);
    155155        fprintf (GetOutfile(), "\n");
    156156
    157157        /* average mag errors */
    158         print_value (GetOutfile(), catalog.average[k].dM, catalog.average[k].dM);
    159         for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].dM_PS, catalog.secfilt[j + Nsec*k].dM_PS);
     158        for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 1);
    160159        fprintf (GetOutfile(), "\n");
    161160
    162161        /* average mag chisq */
    163         print_value (GetOutfile(), pow (10.0, 0.01*catalog.average[k].Xm), catalog.average[k].Xm);
    164         for (j = 0; j < Nsec; j++) print_value (GetOutfile(), pow (10.0, 0.01*catalog.secfilt[j + Nsec*k].Xm), catalog.secfilt[j + Nsec*k].Xm);
     162        for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 2);
    165163        fprintf (GetOutfile(), "\n");
    166164      }
     
    216214  if (catalog.secfilt != 0) free (catalog.secfilt);
    217215
     216  freePhotcodeSequence ();
    218217  return (TRUE);
    219218
    220219}
    221 
    222220
    223221void print_value (FILE *f, double value, short int ival) {
     
    227225    fprintf (f, "%6.3f ", value);
    228226}
     227
     228// XXX fix printing to be in photcode numerical order for PRI/SEC data
     229static int *sequence = NULL;
     230
     231void initPhotcodeSequence (int Nsec) {
     232
     233  int j;
     234  int *codeNumber;
     235  PhotCode *code;
     236
     237  // sequence contains, in desired order, secfilt number (0 == pri)
     238  ALLOCATE (sequence, int, Nsec + 1);
     239  ALLOCATE (codeNumber, int, Nsec + 1);
     240 
     241  /* filter names -- primary code is 0 in this function */
     242  for (j = 0; j < Nsec + 1; j++) {
     243    code = GetPhotcodebyNsec (j);
     244    codeNumber[j] = code[0].code;
     245    sequence[j] = j;
     246  }
     247
     248  isort_pair (codeNumber, sequence, Nsec + 1);
     249  free (codeNumber);
     250}
     251
     252void freePhotcodeSequence () {
     253  free (sequence);
     254}
     255
     256
     257void printPhotcodeSequence (Average *average, SecFilt *secfilt, int entry, int type) {
     258
     259  int seq;
     260  PhotCode *code;
     261
     262  seq = sequence[entry] - 1;
     263
     264  switch (type) {
     265    case 0: /* average mags */
     266      if (seq == -1) {
     267        print_value (GetOutfile(), average[0].M, average[0].M);
     268      } else {
     269        print_value (GetOutfile(), secfilt[seq].M_PS, secfilt[seq].M_PS);
     270      }
     271      break;
     272
     273    case 1: /* average mags errors */
     274      if (seq == -1) {
     275        print_value (GetOutfile(), average[0].dM, average[0].dM);
     276      } else {
     277        print_value (GetOutfile(), secfilt[seq].dM_PS, secfilt[seq].dM_PS);
     278      }
     279      break;
     280
     281    case 2: /* average mag chisq */
     282      if (seq == -1) {
     283        print_value (GetOutfile(), pow (10.0, 0.01*average[0].Xm), average[0].Xm);
     284      } else {
     285        print_value (GetOutfile(), pow (10.0, 0.01*secfilt[seq].Xm), secfilt[seq].Xm);
     286      }
     287      break;
     288
     289    case 3: /* filter names */
     290      code = GetPhotcodebyNsec (seq + 1);
     291      fprintf (GetOutfile (), "%6s ", code[0].name);
     292      break;
     293  }
     294}
  • trunk/Ohana/src/opihi/dvo/images.c

    r4689 r7080  
    1111  Graphdata graphmode;
    1212  char name[256];
    13   int Ngraph;
    1413
    15   Ngraph = 0;
    16   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     14  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
    1715
    1816  ByName = FALSE;
     
    6765    return (FALSE);
    6866  }
     67  SetGraph (graphmode);
    6968 
    7069  if ((image = LoadImages (&Nimage)) == NULL) return (FALSE);
  • trunk/Ohana/src/opihi/dvo/imbox.c

    r3462 r7080  
    99  Coords coords;
    1010  Graphdata graphmode;
    11   int Ngraph;
     11
     12  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
    1213
    1314  if (argc != 2) {
     
    1516    return (FALSE);
    1617  }
    17   Ngraph = 0;
    18   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     18  SetGraph (graphmode);
    1919
    20   if (!fits_read_header (argv[1], &header)) {
     20  if (!gfits_read_header (argv[1], &header)) {
    2121    fprintf (stderr, "file not found\n");
    2222    return (FALSE);
     
    2525  Nextend = 0;
    2626  if (header.Naxes == 0) {
    27     fits_scan (&header, "NEXTEND", "%d", 1, &Nextend);
     27    gfits_scan (&header, "NEXTEND", "%d", 1, &Nextend);
    2828  }
    2929 
     
    3838  for (i = Nextend ? 0 : -1; i < Nextend; i++) {
    3939    if (Nextend) {
    40       fits_read_Xheader (argv[1], &header, i);
     40      gfits_read_Xheader (argv[1], &header, i);
    4141    }
    4242    if (!GetCoords (&coords, &header)) {
     
    8686  }
    8787
    88   fits_free_header (&header);
     88  gfits_free_header (&header);
    8989  free (Xvec.elements);
    9090  free (Yvec.elements);
  • trunk/Ohana/src/opihi/dvo/imrough.c

    r5850 r7080  
    249249
    250250  /* load in database header */
    251   if (!fits_fread_header (f, &header)) {
     251  if (!gfits_fread_header (f, &header)) {
    252252    fclose (f);
    253     fits_free_header (&header);
     253    gfits_free_header (&header);
    254254    fprintf (stderr, "ERROR: trouble reading database header\n");
    255255    return ((RegImage *) NULL);
     
    257257
    258258  /* check for database v1, v2 */
    259   fits_scan (&header, "ORIGIN", "%s", 1, line);
     259  gfits_scan (&header, "ORIGIN", "%s", 1, line);
    260260  if (!strcmp (line, "MDM Observatory")) {
    261261
     
    263263   
    264264    /* load existing data from database */
    265     fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
     265    gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
    266266    ALLOCATE (image, RegImage, Nimage);
    267267    status = fread (image, sizeof(RegImage), Nimage, f);
     
    270270    if (status != Nimage) {
    271271      fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status);
    272       fits_free_header (&header);
     272      gfits_free_header (&header);
    273273      free (image);
    274274      return ((RegImage *) NULL);
    275275    }
    276     fits_convert_RegImage (image, sizeof (RegImage), Nimage);
     276    gfits_convert_RegImage (image, sizeof (RegImage), Nimage);
    277277
    278278    *nimage = Nimage;
     
    281281
    282282  /* we probably have v3 */
    283   if (!fits_fread_matrix (f, &matrix, &header)) {
     283  if (!gfits_fread_matrix (f, &matrix, &header)) {
    284284    fclose (f);
    285     fits_free_header (&header);
    286     fits_free_matrix (&matrix);
     285    gfits_free_header (&header);
     286    gfits_free_matrix (&matrix);
    287287    fprintf (stderr, "ERROR: trouble reading database matrix\n");
    288288    return ((RegImage *) NULL);
     
    290290
    291291  table.header = &theader;
    292   if (!fits_fread_ftable  (f, &table, "IMAGE_DATABASE")) {
     292  if (!gfits_fread_ftable  (f, &table, "IMAGE_DATABASE")) {
    293293    fclose (f);
    294     fits_free_header (&header);
    295     fits_free_matrix (&matrix);
     294    gfits_free_header (&header);
     295    gfits_free_matrix (&matrix);
    296296    fprintf (stderr, "ERROR: trouble reading database table\n");
    297297    return ((RegImage *) NULL);
     
    300300  /* convert to internal format */
    301301  image = (RegImage *) table.buffer;
    302   fits_scan (table.header, "NAXIS2", "%d", 1, &Nimage);
    303   fits_convert_RegImage (image, sizeof (RegImage), Nimage);
    304 
    305   fits_free_header (&header);
    306   fits_free_matrix (&matrix);
     302  gfits_scan (table.header, "NAXIS2", "%d", 1, &Nimage);
     303  gfits_convert_RegImage (image, sizeof (RegImage), Nimage);
     304
     305  gfits_free_header (&header);
     306  gfits_free_matrix (&matrix);
    307307
    308308  *nimage = Nimage;
  • trunk/Ohana/src/opihi/dvo/imsearch.c

    r5850 r7080  
    9191
    9292  /* load in database header */
    93   if (!fits_read_header (DataBase, &header)) {
     93  if (!gfits_read_header (DataBase, &header)) {
    9494    fprintf (stderr, "ERROR: trouble reading database header\n");
    9595    return (FALSE);
     
    105105
    106106  /* load existing data from database */
    107   fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
     107  gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
    108108  ALLOCATE (pimage, RegImage, Nimage);
    109109  status = fread (pimage, sizeof(RegImage), Nimage, f);
     
    111111  if (status != Nimage) {
    112112    fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status);
    113     fits_free_header (&header);
     113    gfits_free_header (&header);
    114114    free (pimage);
    115115    return (FALSE);
    116116  }
    117   fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
     117  gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage);
    118118
    119119  /* print out all data */
     
    149149
    150150  free (pimage);
    151   fits_free_header (&header);
     151  gfits_free_header (&header);
    152152  return (TRUE);
    153153}
  • trunk/Ohana/src/opihi/dvo/photometry.c

    r6683 r7080  
    4949static double MagMax, MagMin;
    5050static int TypeSelect, TypeValue;
    51 static int ErrSelect, ErrValue;
     51static int ErrSelect;
     52static double ErrValue;
    5253static int iMagSelect;
    5354static double iMagMin;
     
    334335}
    335336
     337int ListPhotSelections () {
     338
     339  fprintf (stderr, "TimeSelect: %d, %d - %d\n",      TimeSelect, tzero, tend);
     340  fprintf (stderr, "MagSelect: %d, %f - %f\n",       MagSelect, MagMax, MagMin);
     341  fprintf (stderr, "TypeSelect: %d, %d\n",           TypeSelect, TypeValue);
     342  fprintf (stderr, "ErrSelect: %d, %f\n",            ErrSelect, ErrValue);
     343  fprintf (stderr, "iMagSelect: %d, %f\n",           iMagSelect, iMagMin);
     344  fprintf (stderr, "FlagSelect: %d, %x\n",           FlagSelect, FlagValue);
     345  fprintf (stderr, "TypefracSelect: %d, %d %d %f\n", TypefracSelect, TypefracType, TypefracSign, TypefracValue);
     346  fprintf (stderr, "ApplySelections: %d,%d,%d,%d : %d\n", ApplySelections[0], ApplySelections[1], ApplySelections[2], ApplySelections[3], SelectionParam);
     347  if (PhotcodeSelect) {
     348    fprintf (stderr, "PhotcodeSelect: %d, %s\n",       PhotcodeSelect, PhotcodeValue[0].name);
     349  } else {
     350    fprintf (stderr, "PhotcodeSelect: %d, none\n",       PhotcodeSelect);
     351  }
     352  fprintf (stderr, "ChiSelect: %d, %f\n",            ChiSelect, ChiLimit);
     353  fprintf (stderr, "NphotSelect: %d, %d - %d\n",     NphotSelect, NphotSign, NphotValue);
     354  fprintf (stderr, "NcodeSelect: %d, %d - %d\n",     NcodeSelect, NcodeSign, NcodeValue);
     355  fprintf (stderr, "FWHMSelect: %d, %d %f %f\n",     FWHMSelect, FWHMsign, FWHMvalue, FWHMfrac);
     356}
     357
    336358/* remove standard photometry filtering options, set selections */
    337359/* not all functions respect all selections... */
     
    386408
    387409  /* select on value of Chisq (AVERAGE ONLY) */
     410  SelectionParam = 0;
    388411  for (i = 0; i < 4; i++) ApplySelections[i] = TRUE;
    389412  if ((N = get_argument (*argc, argv, "-apply"))) {
  • trunk/Ohana/src/opihi/dvo/pmeasure.c

    r6683 r7080  
    55  FILE *f;
    66  int i, j, k, m, N;
    7   int Ngraph;
    87  double Mz, Mr, mag;
    98  double Radius, Rmin, Rmax;
     
    1817  Vector Xvec, Yvec, Zvec;
    1918
    20   Ngraph = -1;
    2119  if (!InitPhotcodes ()) return (FALSE);
    22   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
     20  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
    2321
    2422  f = (FILE *) NULL;
     
    7068    return (FALSE);
    7169  }
    72  
     70  SetGraph (graphmode);
     71
    7372  Radius = MAX (fabs(graphmode.xmax), fabs(graphmode.ymax));
    7473
  • trunk/Ohana/src/opihi/dvo/simage.c

    r4689 r7080  
    3939 
    4040  /* read header */
    41   if (!fits_read_header (argv[1], &header)) {
     41  if (!gfits_read_header (argv[1], &header)) {
    4242    fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]);
    4343    return (FALSE);
     
    4545  /* get astrometry information */
    4646  strcpy (coords.ctype, "NONE");
    47   fits_scan (&header, "CTYPE1",   "%s",  1, coords.ctype);
     47  gfits_scan (&header, "CTYPE1",   "%s",  1, coords.ctype);
    4848  if (strcmp (coords.ctype, "RA---PLY")) {
    4949    fprintf (stderr, "ERROR: wrong astrometric info in header\n");
    5050    return (FALSE);
    5151  }
    52   fits_scan (&header, "CDELT1",   "%f", 1, &coords.cdelt1);
    53   fits_scan (&header, "CDELT2",   "%f", 1, &coords.cdelt2);
    54   fits_scan (&header, "CRVAL1",   "%lf", 1, &coords.crval1);
    55   fits_scan (&header, "CRVAL2",   "%lf", 1, &coords.crval2); 
    56   fits_scan (&header, "CRPIX1",   "%f", 1, &coords.crpix1);
    57   fits_scan (&header, "CRPIX2",   "%f", 1, &coords.crpix2);
    58   fits_scan (&header, "PC001001", "%f", 1, &coords.pc1_1);
    59   fits_scan (&header, "PC001002", "%f", 1, &coords.pc1_2);
    60   fits_scan (&header, "PC002001", "%f", 1, &coords.pc2_1);
    61   fits_scan (&header, "PC002002", "%f", 1, &coords.pc2_2);
     52  gfits_scan (&header, "CDELT1",   "%f", 1, &coords.cdelt1);
     53  gfits_scan (&header, "CDELT2",   "%f", 1, &coords.cdelt2);
     54  gfits_scan (&header, "CRVAL1",   "%lf", 1, &coords.crval1);
     55  gfits_scan (&header, "CRVAL2",   "%lf", 1, &coords.crval2); 
     56  gfits_scan (&header, "CRPIX1",   "%f", 1, &coords.crpix1);
     57  gfits_scan (&header, "CRPIX2",   "%f", 1, &coords.crpix2);
     58  gfits_scan (&header, "PC001001", "%f", 1, &coords.pc1_1);
     59  gfits_scan (&header, "PC001002", "%f", 1, &coords.pc1_2);
     60  gfits_scan (&header, "PC002001", "%f", 1, &coords.pc2_1);
     61  gfits_scan (&header, "PC002002", "%f", 1, &coords.pc2_2);
    6262  /* RA Terms */
    63   fits_scan (&header, "PCA1X2Y0", "%f", 1, &coords.polyterms[0][0]);
    64   fits_scan (&header, "PCA1X1Y1", "%f", 1, &coords.polyterms[1][0]);
    65   fits_scan (&header, "PCA1X0Y2", "%f", 1, &coords.polyterms[2][0]);
    66   fits_scan (&header, "PCA1X3Y0", "%f", 1, &coords.polyterms[3][0]);
    67   fits_scan (&header, "PCA1X2Y1", "%f", 1, &coords.polyterms[4][0]);
    68   fits_scan (&header, "PCA1X1Y2", "%f", 1, &coords.polyterms[5][0]);
    69   fits_scan (&header, "PCA1X0Y3", "%f", 1, &coords.polyterms[6][0]);
     63  gfits_scan (&header, "PCA1X2Y0", "%f", 1, &coords.polyterms[0][0]);
     64  gfits_scan (&header, "PCA1X1Y1", "%f", 1, &coords.polyterms[1][0]);
     65  gfits_scan (&header, "PCA1X0Y2", "%f", 1, &coords.polyterms[2][0]);
     66  gfits_scan (&header, "PCA1X3Y0", "%f", 1, &coords.polyterms[3][0]);
     67  gfits_scan (&header, "PCA1X2Y1", "%f", 1, &coords.polyterms[4][0]);
     68  gfits_scan (&header, "PCA1X1Y2", "%f", 1, &coords.polyterms[5][0]);
     69  gfits_scan (&header, "PCA1X0Y3", "%f", 1, &coords.polyterms[6][0]);
    7070  /* Dec Terms */                           
    71   fits_scan (&header, "PCA2X2Y0", "%f", 1, &coords.polyterms[0][1]);
    72   fits_scan (&header, "PCA2X1Y1", "%f", 1, &coords.polyterms[1][1]);
    73   fits_scan (&header, "PCA2X0Y2", "%f", 1, &coords.polyterms[2][1]);
    74   fits_scan (&header, "PCA2X3Y0", "%f", 1, &coords.polyterms[3][1]);
    75   fits_scan (&header, "PCA2X2Y1", "%f", 1, &coords.polyterms[4][1]);
    76   fits_scan (&header, "PCA2X1Y2", "%f", 1, &coords.polyterms[5][1]);
    77   fits_scan (&header, "PCA2X0Y3", "%f", 1, &coords.polyterms[6][1]);
     71  gfits_scan (&header, "PCA2X2Y0", "%f", 1, &coords.polyterms[0][1]);
     72  gfits_scan (&header, "PCA2X1Y1", "%f", 1, &coords.polyterms[1][1]);
     73  gfits_scan (&header, "PCA2X0Y2", "%f", 1, &coords.polyterms[2][1]);
     74  gfits_scan (&header, "PCA2X3Y0", "%f", 1, &coords.polyterms[3][1]);
     75  gfits_scan (&header, "PCA2X2Y1", "%f", 1, &coords.polyterms[4][1]);
     76  gfits_scan (&header, "PCA2X1Y2", "%f", 1, &coords.polyterms[5][1]);
     77  gfits_scan (&header, "PCA2X0Y3", "%f", 1, &coords.polyterms[6][1]);
    7878  coords.Npolyterms = 2; /* how many do we use? */
    7979
    8080  /* find number of stars */
    81   fits_scan (&header, "NSTARS", "%d", 1, &Nstars);
     81  gfits_scan (&header, "NSTARS", "%d", 1, &Nstars);
    8282  if (Nstars == 0) {
    8383    fprintf (stderr, "no stars in file\n");
  • trunk/Ohana/src/opihi/dvo/skycat.c

    r5945 r7080  
    66 
    77  double Radius;
    8   int i, j, N, Nregions, ShowAll, NPTS, Npts, leftside, Depth, TableDepth;
     8  int i, j, N, Nregions, ShowAll, NPTS, Npts, leftside, Depth, TableDepth, VERBOSE;
    99  struct stat filestat;
    1010  Vector Xvec, Yvec;
    1111  Graphdata graphmode;
    1212  double X[4], Y[4], Rmin, Rmax, Rmid;
    13   int Ngraph, VERBOSE;
    1413  SkyTable *sky;
    1514  SkyList *skylist;
     
    3332  }
    3433
     34  if (!style_args (&graphmode, &argc, argv, 0)) return FALSE;
     35
    3536  if (argc != 1) {
    3637    fprintf (stderr, "USAGE: skycat [-all]\n");
    3738    return (FALSE);
    3839  }
     40  SetGraph (graphmode);
     41
    3942  TableDepth = (Depth == 3) ? 3 : 2;
    40   Ngraph = 0;
    41   if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);
    4243
    4344  Radius = MAX (fabs(graphmode.xmax), fabs(graphmode.ymax));
  • trunk/Ohana/src/opihi/dvo/skycoverage.c

    r4701 r7080  
    7979
    8080  /* I should encapsulate this in a create_default_buffer */
    81   fits_free_matrix (&buf[0].matrix);
    82   fits_free_header (&buf[0].header);
     81  gfits_free_matrix (&buf[0].matrix);
     82  gfits_free_header (&buf[0].header);
    8383  buf[0].header.bitpix = buf[0].bitpix = -32;
    8484  buf[0].header.unsign = buf[0].unsign = FALSE;
     
    8888  buf[0].header.Naxis[0] = Nx;
    8989  buf[0].header.Naxis[1] = Ny;
    90   fits_create_header (&buf[0].header);
    91   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     90  gfits_create_header (&buf[0].header);
     91  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    9292
    9393  coords.crval1 = 180;
  • trunk/Ohana/src/opihi/dvo/version.c

    r4748 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/opihi/include/data.h

    r6678 r7080  
    4141void sort_lists (float *X, float *Y, int *S, int N);
    4242void dsort_lists (double *X, double *Y, int *S, int N);
     43void isort_pair (int *X, int *Y, int N);
    4344
    4445/* in fft.c */
     
    120121void          SetLimits             PROTO((Vector *xvec, Vector *yvec, Graphdata *graphmode));
    121122void          ApplyLimits           PROTO((int Xgraph, Graphdata *graphmode, int apply));
     123int           style_args            PROTO((Graphdata *graphmode, int *argc, char **argv, int Nforce));
    122124
    123125int read_table_vectors (int argc, char **argv, char *extname);
  • trunk/Ohana/src/opihi/include/dvomath.h

    r4693 r7080  
    110110
    111111/* why are these in here? */
    112 int           fits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2);
     112int           gfits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2);
    113113int           GetTimeFormat         PROTO((time_t *TimeReference, int *TimeFormat));
    114114
  • trunk/Ohana/src/opihi/lib.data/Makefile

    r5943 r7080  
    3434$(SDIR)/open_image.$(ARCH).o            \
    3535$(SDIR)/queues.$(ARCH).o                \
    36 $(SDIR)/PlotVectors.$(ARCH).o
     36$(SDIR)/PlotVectors.$(ARCH).o           \
     37$(SDIR)/style_args.$(ARCH).o
    3738
    3839# dependancy rules for include files ########################
  • trunk/Ohana/src/opihi/lib.data/sort.c

    r2598 r7080  
    291291  }
    292292}
     293
     294// sort two int vectors by first vector
     295void isort_pair (int *X, int *Y, int N) {
     296
     297  int l,j,ir,i;
     298  int tX, tY;
     299 
     300  if (N < 2) return;
     301  l = N >> 1;
     302  ir = N - 1;
     303  for (;;) {
     304    if (l > 0) {
     305      l--;
     306      tX = X[l];
     307      tY = Y[l];
     308    }
     309    else {
     310      tX = X[ir];
     311      X[ir] = X[0];
     312      tY = Y[ir];
     313      Y[ir] = Y[0];
     314      if (--ir == 0) {
     315        X[0] = tX;
     316        Y[0] = tY;
     317        return;
     318      }
     319    }
     320    i = l;
     321    j = (l << 1) + 1;
     322    while (j <= ir) {
     323      if (j < ir && X[j] < X[j+1]) j++;
     324      if (tX < X[j]) {
     325        X[i] = X[j];
     326        Y[i] = Y[j];
     327        j += (i=j) + 1;
     328      }
     329      else j = ir + 1;
     330    }
     331    X[i] = tX;
     332    Y[i] = tY;
     333  }
     334}
  • trunk/Ohana/src/opihi/lib.data/starfuncs.c

    r4584 r7080  
    2828  for (j = 0; j < Nborder; j++) {
    2929    for (i = X - Npix2 - Nborder; i < X + Npix2 + Nborder + 1; i++, n+=2) {
    30       ring[n]   = fits_get_matrix_value (matrix, i, (int)(Y - Npix2 - j));
    31       ring[n+1] = fits_get_matrix_value (matrix, i, (int)(Y + Npix2 + j));
     30      ring[n]   = gfits_get_matrix_value (matrix, i, (int)(Y - Npix2 - j));
     31      ring[n+1] = gfits_get_matrix_value (matrix, i, (int)(Y + Npix2 + j));
    3232    }
    3333    for (i = Y - Npix2; i < Y + Npix2 + 1; i++, n+=2) {
    34       ring[n]   = fits_get_matrix_value (matrix, (int)(X - Npix2 - j), i);
    35       ring[n+1] = fits_get_matrix_value (matrix, (int)(X + Npix2 + j), i);
     34      ring[n]   = gfits_get_matrix_value (matrix, (int)(X - Npix2 - j), i);
     35      ring[n+1] = gfits_get_matrix_value (matrix, (int)(X + Npix2 + j), i);
    3636    }
    3737  }
     
    5050  for (i = X - Npix2; i < X + Npix2 + 1; i++) {
    5151    for (j = Y - Npix2; j < Y + Npix2 + 1; j++) {
    52       value = fits_get_matrix_value (matrix, i, j);
     52      value = gfits_get_matrix_value (matrix, i, j);
    5353      offset = value - sky;
    5454      x  += i*offset;
  • trunk/Ohana/src/opihi/lib.shell/BufferOps.c

    r3901 r7080  
    8686
    8787  /* create the appropriate header and matrix */
    88   fits_create_header (&buf[0].header);
    89   fits_create_matrix (&buf[0].header, &buf[0].matrix);
     88  gfits_create_header (&buf[0].header);
     89  gfits_create_matrix (&buf[0].header, &buf[0].matrix);
    9090
    9191  return (TRUE);
     
    109109  out[0].bzero  = in[0].bzero;
    110110  strcpy (out[0].file, in[0].file);
    111   fits_copy_matrix (&in[0].matrix, &out[0].matrix);
    112   fits_copy_header (&in[0].header, &out[0].header);
     111  gfits_copy_matrix (&in[0].matrix, &out[0].matrix);
     112  gfits_copy_header (&in[0].header, &out[0].header);
    113113  return (TRUE);
    114114}
     
    158158  if (i == Nbuffers) return (FALSE);
    159159
    160   fits_free_header (&buffers[i][0].header);
    161   fits_free_matrix (&buffers[i][0].matrix);
     160  gfits_free_header (&buffers[i][0].header);
     161  gfits_free_matrix (&buffers[i][0].matrix);
    162162  free (buffers[i]);
    163163
     
    178178  if (i == Nbuffers) return (FALSE);
    179179
    180   fits_free_header (&buffers[i][0].header);
    181   fits_free_matrix (&buffers[i][0].matrix);
     180  gfits_free_header (&buffers[i][0].header);
     181  gfits_free_matrix (&buffers[i][0].matrix);
    182182  free (buffers[i]);
    183183
  • trunk/Ohana/src/opihi/lib.shell/stack_math.c

    r4462 r7080  
    13851385
    13861386/*********************** fits copy header ***********************************/
    1387 int fits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2) {
     1387int gfits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2) {
    13881388
    13891389  int i;
  • trunk/Ohana/src/opihi/mana/version.c

    r4748 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/opihi/pantasks/version.c

    r6687 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/opihi/pclient/version.c

    r4748 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/opihi/pcontrol/version.c

    r4748 r7080  
    88  fprintf (stderr, "%s\n", opihi_version());
    99  fprintf (stderr, "%s\n", ohana_version());
    10   fprintf (stderr, "%s\n", fits_version());
     10  fprintf (stderr, "%s\n", gfits_version());
    1111
    1212  fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__);
  • trunk/Ohana/src/photdbc/src/Shutdown.c

    r4864 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: addstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/photdbc/src/find_images.c

    r4864 r7080  
    2727  strcpy (tcoords.ctype, "RA---TAN");
    2828
    29   timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
     29  timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
    3030
    3131  nimage = 0;
  • trunk/Ohana/src/photdbc/src/flag_measures.c

    r4864 r7080  
    1515  if (VERBOSE) fprintf (stderr, "flagging bad measurements\n");
    1616
    17   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     17  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1818
    1919  PhotNsec = GetPhotcodeNsecfilt ();
  • trunk/Ohana/src/photdbc/src/load_images.c

    r6238 r7080  
    1818  *nregion = Nregion;
    1919 
    20   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);
     20  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);
    2121
    2222  return (region);
  • trunk/Ohana/src/photdbc/src/name_region.c

    r2494 r7080  
    99
    1010  sprintf (region[0].filename, "%s/%s", CATDIR, name);
    11   if (!fits_read_header (region[0].filename, &header)) {
     11  if (!gfits_read_header (region[0].filename, &header)) {
    1212    if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename);
    1313    exit (0);
    1414  }
    15   fits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
    16   fits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
    17   fits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
    18   fits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
    19   fits_free_header (&header);
     15  gfits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
     16  gfits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
     17  gfits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
     18  gfits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
     19  gfits_free_header (&header);
    2020
    2121  *Nregions = 1;
  • trunk/Ohana/src/photdbc/src/wcatalog.c

    r4828 r7080  
    3333    catalog[0].Nsecfilt = 0;
    3434  }
    35   fits_free_header (&catalog[0].header);
     35  gfits_free_header (&catalog[0].header);
    3636}
  • trunk/Ohana/src/relastro/src/GridOps.v1.c

    r6808 r7080  
    269269
    270270  /* create empty phu */
    271   fits_init_header (&header);
     271  gfits_init_header (&header);
    272272  header.extend = TRUE;
    273   fits_create_header (&header);
    274   fits_create_matrix (&header, &matrix);
    275   fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
    276   fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
    277   fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
    278   fits_fwrite_header (f, &header);
    279   fits_fwrite_matrix (f, &matrix);
    280   fits_free_matrix (&matrix);
     273  gfits_create_header (&header);
     274  gfits_create_matrix (&header, &matrix);
     275  gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
     276  gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
     277  gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
     278  gfits_fwrite_header (f, &header);
     279  gfits_fwrite_matrix (f, &matrix);
     280  gfits_free_matrix (&matrix);
    281281
    282282  /* save grid mag values */
    283   fits_init_header (&theader);
     283  gfits_init_header (&theader);
    284284  theader.Naxes = 2;
    285285  theader.Naxis[0] = gridX;
    286286  theader.Naxis[1] = gridY;
    287287  theader.bitpix   = -32;
    288   fits_create_Theader (&theader, "IMAGE");
    289   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    290   fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
    291   fits_create_matrix  (&theader, &matrix);
     288  gfits_create_Theader (&theader, "IMAGE");
     289  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     290  gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
     291  gfits_create_matrix  (&theader, &matrix);
    292292  for (i = 0; i < gridX; i++) {
    293293    for (j = 0; j < gridY; j++) {
    294       fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
     294      gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
    295295    }
    296296  }
    297297  write_coords (&theader, &refmosaic[0].coords);
    298   fits_fwrite_header (f, &theader);
    299   fits_fwrite_matrix (f, &matrix);
    300   fits_free_matrix (&matrix);
     298  gfits_fwrite_header (f, &theader);
     299  gfits_fwrite_matrix (f, &matrix);
     300  gfits_free_matrix (&matrix);
    301301
    302302  /* save grid Nmeas values */
    303   fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
    304   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    305   fits_create_matrix  (&theader, &matrix);
     303  gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
     304  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     305  gfits_create_matrix  (&theader, &matrix);
    306306  for (i = 0; i < gridX; i++) {
    307307    for (j = 0; j < gridY; j++) {
    308       fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
     308      gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
    309309    }
    310310  }
    311311  write_coords (&theader, &refmosaic[0].coords);
    312   fits_fwrite_header (f, &theader);
    313   fits_fwrite_matrix (f, &matrix);
    314   fits_free_matrix (&matrix);
     312  gfits_fwrite_header (f, &theader);
     313  gfits_fwrite_matrix (f, &matrix);
     314  gfits_free_matrix (&matrix);
    315315
    316316  /* save grid sigma values */
    317   fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
    318   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    319   fits_create_matrix  (&theader, &matrix);
     317  gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
     318  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     319  gfits_create_matrix  (&theader, &matrix);
    320320  for (i = 0; i < gridX; i++) {
    321321    for (j = 0; j < gridY; j++) {
    322       fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
     322      gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
    323323    }
    324324  }
    325325  write_coords (&theader, &refmosaic[0].coords);
    326   fits_fwrite_header (f, &theader);
    327   fits_fwrite_matrix (f, &matrix);
    328   fits_free_matrix (&matrix);
     326  gfits_fwrite_header (f, &theader);
     327  gfits_fwrite_matrix (f, &matrix);
     328  gfits_free_matrix (&matrix);
    329329
    330330  /* calculate value for each CCD pixel, write out CCD images */
     
    343343    sprintf (ccdname, "ccd%s", p);
    344344
    345     fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
    346     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    347     fits_modify (&theader, "PHOTCODE", "%s", 1, pname);
    348     fits_modify (&theader, "NX", "%d", 1, image[i].NX);
    349     fits_modify (&theader, "NY", "%d", 1, image[i].NY);
     345    gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
     346    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     347    gfits_modify (&theader, "PHOTCODE", "%s", 1, pname);
     348    gfits_modify (&theader, "NX", "%d", 1, image[i].NX);
     349    gfits_modify (&theader, "NY", "%d", 1, image[i].NY);
    350350    write_coords (&theader, &image[0].coords);
    351351
     
    354354    theader.Naxis[0] = Nx;
    355355    theader.Naxis[1] = Ny;
    356     fits_modify (&theader, "NAXIS1", "%d", 1, Nx);
    357     fits_modify (&theader, "NAXIS2", "%d", 1, Ny);
    358     fits_create_matrix  (&theader, &matrix);
     356    gfits_modify (&theader, "NAXIS1", "%d", 1, Nx);
     357    gfits_modify (&theader, "NAXIS2", "%d", 1, Ny);
     358    gfits_create_matrix  (&theader, &matrix);
    359359
    360360    InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords);
    361     fits_fwrite_header (f, &theader);
    362     fits_fwrite_matrix (f, &matrix);
    363     fits_free_matrix (&matrix);
     361    gfits_fwrite_header (f, &theader);
     362    gfits_fwrite_matrix (f, &matrix);
     363    gfits_free_matrix (&matrix);
    364364  }
    365365}
  • trunk/Ohana/src/relastro/src/GridOps.v2.c

    r6808 r7080  
    375375
    376376  /* create empty phu */
    377   fits_init_header (&header);
     377  gfits_init_header (&header);
    378378  header.extend = TRUE;
    379   fits_create_header (&header);
    380   fits_create_matrix (&header, &matrix);
    381   fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
    382   fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
    383   fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
    384   fits_fwrite_header (f, &header);
    385   fits_fwrite_matrix (f, &matrix);
    386   fits_free_matrix (&matrix);
     379  gfits_create_header (&header);
     380  gfits_create_matrix (&header, &matrix);
     381  gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
     382  gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
     383  gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
     384  gfits_fwrite_header (f, &header);
     385  gfits_fwrite_matrix (f, &matrix);
     386  gfits_free_matrix (&matrix);
    387387
    388388  /* save grid mag values */
    389   fits_init_header (&theader);
     389  gfits_init_header (&theader);
    390390  theader.Naxes = 2;
    391391  theader.Naxis[0] = gridX;
    392392  theader.Naxis[1] = gridY;
    393393  theader.bitpix   = -32;
    394   fits_create_Theader (&theader, "IMAGE");
    395   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    396   fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
    397   fits_create_matrix  (&theader, &matrix);
     394  gfits_create_Theader (&theader, "IMAGE");
     395  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     396  gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
     397  gfits_create_matrix  (&theader, &matrix);
    398398  for (i = 0; i < gridX; i++) {
    399399    for (j = 0; j < gridY; j++) {
    400       fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
     400      gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
    401401    }
    402402  }
    403403  write_coords (&theader, &refmosaic[0].coords);
    404   fits_fwrite_header (f, &theader);
    405   fits_fwrite_matrix (f, &matrix);
    406   fits_free_matrix (&matrix);
     404  gfits_fwrite_header (f, &theader);
     405  gfits_fwrite_matrix (f, &matrix);
     406  gfits_free_matrix (&matrix);
    407407
    408408  /* save grid Nmeas values */
    409   fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
    410   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    411   fits_create_matrix  (&theader, &matrix);
     409  gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
     410  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     411  gfits_create_matrix  (&theader, &matrix);
    412412  for (i = 0; i < gridX; i++) {
    413413    for (j = 0; j < gridY; j++) {
    414       fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
     414      gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
    415415    }
    416416  }
    417417  write_coords (&theader, &refmosaic[0].coords);
    418   fits_fwrite_header (f, &theader);
    419   fits_fwrite_matrix (f, &matrix);
    420   fits_free_matrix (&matrix);
     418  gfits_fwrite_header (f, &theader);
     419  gfits_fwrite_matrix (f, &matrix);
     420  gfits_free_matrix (&matrix);
    421421
    422422  /* save grid sigma values */
    423   fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
    424   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    425   fits_create_matrix  (&theader, &matrix);
     423  gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
     424  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     425  gfits_create_matrix  (&theader, &matrix);
    426426  for (i = 0; i < gridX; i++) {
    427427    for (j = 0; j < gridY; j++) {
    428       fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
     428      gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
    429429    }
    430430  }
    431431  write_coords (&theader, &refmosaic[0].coords);
    432   fits_fwrite_header (f, &theader);
    433   fits_fwrite_matrix (f, &matrix);
    434   fits_free_matrix (&matrix);
     432  gfits_fwrite_header (f, &theader);
     433  gfits_fwrite_matrix (f, &matrix);
     434  gfits_free_matrix (&matrix);
    435435
    436436# ifdef GRID_V1
     
    451451    sprintf (ccdname, "ccd%s", p);
    452452
    453     fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
    454     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    455     fits_modify (&theader, "PHOTCODE", "%s", 1, pname);
    456     fits_modify (&theader, "NX", "%d", 1, image[i].NX);
    457     fits_modify (&theader, "NY", "%d", 1, image[i].NY);
     453    gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
     454    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     455    gfits_modify (&theader, "PHOTCODE", "%s", 1, pname);
     456    gfits_modify (&theader, "NX", "%d", 1, image[i].NX);
     457    gfits_modify (&theader, "NY", "%d", 1, image[i].NY);
    458458    write_coords (&theader, &image[0].coords);
    459459
     
    462462    theader.Naxis[0] = Nx;
    463463    theader.Naxis[1] = Ny;
    464     fits_modify (&theader, "NAXIS1", "%d", 1, Nx);
    465     fits_modify (&theader, "NAXIS2", "%d", 1, Ny);
    466     fits_create_matrix  (&theader, &matrix);
     464    gfits_modify (&theader, "NAXIS1", "%d", 1, Nx);
     465    gfits_modify (&theader, "NAXIS2", "%d", 1, Ny);
     466    gfits_create_matrix  (&theader, &matrix);
    467467
    468468    InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords);
    469     fits_fwrite_header (f, &theader);
    470     fits_fwrite_matrix (f, &matrix);
    471     fits_free_matrix (&matrix);
     469    gfits_fwrite_header (f, &theader);
     470    gfits_fwrite_matrix (f, &matrix);
     471    gfits_free_matrix (&matrix);
    472472  }
    473473# endif
     
    479479    int ix, iy, x, y, X, Y, bin;
    480480
    481     fits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);
    482     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    483     fits_modify (&theader, "NX", "%d", 1, camera.Nx);
    484     fits_modify (&theader, "NY", "%d", 1, camera.Ny);
     481    gfits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);
     482    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     483    gfits_modify (&theader, "NX", "%d", 1, camera.Nx);
     484    gfits_modify (&theader, "NY", "%d", 1, camera.Ny);
    485485     
    486486    theader.Naxis[0] = RELPHOT_GRID_X;
    487487    theader.Naxis[1] = RELPHOT_GRID_Y;
    488     fits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);
    489     fits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);
    490     fits_create_matrix  (&theader, &matrix);
     488    gfits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);
     489    gfits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);
     490    gfits_create_matrix  (&theader, &matrix);
    491491
    492492    for (Y = 0; Y < RELPHOT_GRID_Y; Y++) {
     
    504504             
    505505        bin = ix + iy*gridX;
    506         fits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);
     506        gfits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);
    507507      }
    508508    }
    509     fits_fwrite_header (f, &theader);
    510     fits_fwrite_matrix (f, &matrix);
    511     fits_free_matrix (&matrix);
     509    gfits_fwrite_header (f, &theader);
     510    gfits_fwrite_matrix (f, &matrix);
     511    gfits_free_matrix (&matrix);
    512512  }
    513513# endif
  • trunk/Ohana/src/relastro/src/Shutdown.c

    r6808 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: addstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/relastro/src/find_images.c

    r6808 r7080  
    2727  strcpy (tcoords.ctype, "RA---TAN");
    2828
    29   timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
     29  timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
    3030
    3131  nimage = 0;
  • trunk/Ohana/src/relastro/src/load_images.c

    r6808 r7080  
    2626  getfullregion (image, Nimage, fullregion);
    2727
    28   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);
     28  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);
    2929
    3030  initImages (image, Nimage);
  • trunk/Ohana/src/relastro/src/name_region.c

    r6808 r7080  
    99
    1010  sprintf (region[0].filename, "%s/%s", CATDIR, name);
    11   if (!fits_read_header (region[0].filename, &header)) {
     11  if (!gfits_read_header (region[0].filename, &header)) {
    1212    if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename);
    1313    exit (0);
    1414  }
    15   fits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
    16   fits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
    17   fits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
    18   fits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
    19   fits_free_header (&header);
     15  gfits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
     16  gfits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
     17  gfits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
     18  gfits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
     19  gfits_free_header (&header);
    2020
    2121  *Nregions = 1;
  • trunk/Ohana/src/relastro/src/wcatalog.c

    r6808 r7080  
    2626    catalog[0].Nsecfilt = 0;
    2727  }
    28   fits_free_header (&catalog[0].header);
     28  gfits_free_header (&catalog[0].header);
    2929}
  • trunk/Ohana/src/relastro/src/wimages.c

    r6808 r7080  
    1212  /* adjust header */
    1313  Nimages = 0;
    14   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
     14  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
    1515  Nimages ++;
    16   fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
     16  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
    1717
    18   fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
     18  gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    1919  for (i = 0; i < Nimage; i++) {
    20     fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
     20    gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
    2121  }
    2222
  • trunk/Ohana/src/relastro/src/write_coords.c

    r6808 r7080  
    55void write_coords (Header *header, Coords *coords) {
    66
    7   fits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
    8   fits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
     7  gfits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
     8  gfits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
    99
    10   fits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
    11   fits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
     10  gfits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
     11  gfits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
    1212
    13   fits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
    14   fits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
     13  gfits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
     14  gfits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
    1515
    1616# if (CD_COORDS) 
    17   fits_modify (header, "CD1_1",    "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);
    18   fits_modify (header, "CD2_1",    "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);
    19   fits_modify (header, "CD1_2",    "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);
    20   fits_modify (header, "CD2_2",    "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);
     17  gfits_modify (header, "CD1_1",    "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);
     18  gfits_modify (header, "CD2_1",    "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);
     19  gfits_modify (header, "CD1_2",    "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);
     20  gfits_modify (header, "CD2_2",    "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);
    2121# else
    22   fits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
    23   fits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
    24   fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
    25   fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
    26   fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
    27   fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
     22  gfits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
     23  gfits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
     24  gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
     25  gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
     26  gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
     27  gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
    2828# endif
    2929}
  • trunk/Ohana/src/relphot/Makefile

    r6000 r7080  
    2626$(SRC)/liststats.$(ARCH).o       \
    2727$(SRC)/load_images.$(ARCH).o     \
    28 $(SRC)/name_region.$(ARCH).o     \
    29 $(SRC)/find_images.$(ARCH).o     \
    30 $(SRC)/find_regions.$(ARCH).o    \
    31 $(SRC)/get_regions.$(ARCH).o     \
     28$(SRC)/select_images.$(ARCH).o   \
    3229$(SRC)/load_catalogs.$(ARCH).o   \
    3330$(SRC)/gcatalog.$(ARCH).o        \
     
    4441$(SRC)/image-db.$(ARCH).o \
    4542$(SRC)/free_catalogs.$(ARCH).o   \
    46 $(SRC)/check_permissions.$(ARCH).o   \
    4743$(SRC)/setMrelFinal.$(ARCH).o    \
    4844$(SRC)/write_coords.$(ARCH).o    \
     
    5147$(SRC)/SetSignals.$(ARCH).o      \
    5248$(SRC)/wcatalog.$(ARCH).o
     49
     50OLD = \
     51$(SRC)/find_images.$(ARCH).o     \
     52$(SRC)/find_regions.$(ARCH).o    \
     53$(SRC)/get_regions.$(ARCH).o     \
     54$(SRC)/name_region.$(ARCH).o     \
     55$(SRC)/check_permissions.$(ARCH).o
    5356
    5457OBJ = $(RELPHOT)
  • trunk/Ohana/src/relphot/doc/ChangeLog.txt

    r6693 r7080  
     1
     2- relphot-1-4:
     3  * converted to gfits APIs (forces libfits 1.6)
     4  * added time range to time selections
    15
    26- relphot-1-3:
  • trunk/Ohana/src/relphot/doc/notes.txt

    r2486 r7080  
     1
     22006.05.03
     3
     4  I am upgrading relphot to accept as input an arbitrary region (using
     5  the standard ohana SkyRegion concept of a RA & DEC bounded patch on
     6  the sky).  This modification has a few implications.  First, the
     7  analysis is in fact performed on the populated SkyRegions which
     8  overlap the requested area on the sky.
    19
    210- select different calibration options
  • trunk/Ohana/src/relphot/include/relphot.h

    r5998 r7080  
    4747char   CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
    4848char   CameraConfig[256];
     49char   SKY_TABLE[256];
     50int    SKY_DEPTH;  /** XXX EAM : depth of catalog tables, fix usage */
    4951
    5052double MAG_LIM;
     
    9698time_t TSTART, TSTOP;
    9799
     100SkyRegion UserPatch;
     101int UserPatchSelect;
     102
    98103# ifdef GRID_V1
    99104int setGridMeasure (int meas, int cat, double X, double Y);
     
    111116int          *SelectRefMosaic     PROTO((Mosaic **refmosaic, int *Nimage));
    112117int           args                PROTO((int argc, char **argv));
    113 int           bcatalog            PROTO((Catalog *subcatalog, Catalog *catalog, GSCRegion *fullregion));
     118int           bcatalog            PROTO((Catalog *subcatalog, Catalog *catalog));
    114119void          clean_images        PROTO(());
    115120void          clean_measures      PROTO((Catalog *catalog, int Ncatalog, int final));
     
    122127void          findImages          PROTO((Catalog *catalog, int Ncatalog));
    123128int           findMosaics         PROTO((Catalog *catalog, int Ncatalog));
    124 Image        *find_images         PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum));
     129
    125130void set_db (FITS_DB *in);
    126131int Shutdown (char *format, ...);
     
    129134int SetSignals ();
    130135
    131 GSCRegion    *find_regions        PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion));
    132136void          freeGridBins        PROTO((int Ncatalog));
    133137void          freeImageBins       PROTO((int Ncatalog));
     
    140144float         getMmos             PROTO((int meas, int cat));
    141145float         getMrel             PROTO((Catalog *catalog, int meas, int cat));
    142 GSCRegion    *get_regions         PROTO((double minRa, double maxRa, double minDec, double maxDec, int *Nregions));
    143 void          getfullregion       PROTO((Image *image, int Nimage, GSCRegion *fullregion));
    144146Image        *getimage            PROTO((int N));
    145147Image        *getimages           PROTO((int *N));
     
    156158void          initstats           PROTO((char *mode));
    157159int           liststats           PROTO((double *value, double *dvalue, int N, StatType *stats));
    158 Catalog      *load_catalogs       PROTO((GSCRegion *region, int Nregion, GSCRegion *fullregion));
    159 GSCRegion    *load_images         PROTO((FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion));
    160 
    161 void check_permissions (char *basefile);
    162 void lock_image_db (FITS_DB *db, char *filename);
    163 void unlock_image_db (FITS_DB *db);
    164 void create_image_db (FITS_DB *db);
     160Catalog       *load_catalogs      PROTO((SkyList *skylist, int *Ncatalog));
     161SkyList      *load_images         PROTO((FITS_DB *db, char *regionName, SkyRegion *region, int RegionSelect));
     162Image         *select_images      PROTO((SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage));
    165163
    166164int           main                PROTO((int argc, char **argv));
     
    168166void          matchImage          PROTO((Catalog *catalog, int meas, int cat));
    169167void          matchMosaics        PROTO((Catalog *catalog, int meas, int cat));
    170 GSCRegion    *name_region         PROTO((char *name, int *Nregions));
    171168double        opening_angle       PROTO((double x1, double y1, double x2, double y2, double x3, double y3));
    172169void          plot_chisq          PROTO((Catalog *catalog, int Ncatalog));
     
    180177void          plot_star_coords    PROTO((Catalog *catalog, int Ncatalog));
    181178void          plot_stars          PROTO((Catalog *catalog, int Ncatalog));
    182 void          reload_catalogs     PROTO((GSCRegion *region, int Nregion, GSCRegion *fullregion));
     179void          reload_catalogs     PROTO((SkyList *skylist));
    183180int           setExclusions       PROTO((Catalog *catalog, int Ncatalog));
    184181void          setMcal             PROTO((Catalog *catalog, int Poor));
     
    211208void          wimages             PROTO(());
    212209void          write_coords        PROTO((Header *header, Coords *coords));
     210
     211//Image        *find_images         PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum));
     212//GSCRegion    *find_regions        PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion));
     213//GSCRegion    *get_regions         PROTO((double minRa, double maxRa, double minDec, double maxDec, int *Nregions));
     214//void          getfullregion       PROTO((Image *image, int Nimage, GSCRegion *fullregion));
     215//GSCRegion    *name_region         PROTO((char *name, int *Nregions));
  • trunk/Ohana/src/relphot/src/ConfigInit.c

    r6684 r7080  
    3434  sprintf (ImageCat, "%s/Images.dat", CATDIR);
    3535
     36  if (!ScanConfig (config, "SKY_DEPTH",         "%d",  0, &SKY_DEPTH)) {
     37    SKY_DEPTH = 2;
     38  }
     39  if (!ScanConfig (config, "SKY_TABLE",         "%s",  0, SKY_TABLE)) {
     40    SKY_TABLE[0] = 0;
     41  }
     42
    3643  GetConfig (config, "PHOTCODE_FILE",          "%s",  0, PhotCodeFile);
    3744  GetConfig (config, "ZERO_PT",                "%lf", 0, &ZERO_POINT);
  • trunk/Ohana/src/relphot/src/GridOps.v1.c

    r2486 r7080  
    269269
    270270  /* create empty phu */
    271   fits_init_header (&header);
     271  gfits_init_header (&header);
    272272  header.extend = TRUE;
    273   fits_create_header (&header);
    274   fits_create_matrix (&header, &matrix);
    275   fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
    276   fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
    277   fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
    278   fits_fwrite_header (f, &header);
    279   fits_fwrite_matrix (f, &matrix);
    280   fits_free_matrix (&matrix);
     273  gfits_create_header (&header);
     274  gfits_create_matrix (&header, &matrix);
     275  gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
     276  gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
     277  gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
     278  gfits_fwrite_header (f, &header);
     279  gfits_fwrite_matrix (f, &matrix);
     280  gfits_free_matrix (&matrix);
    281281
    282282  /* save grid mag values */
    283   fits_init_header (&theader);
     283  gfits_init_header (&theader);
    284284  theader.Naxes = 2;
    285285  theader.Naxis[0] = gridX;
    286286  theader.Naxis[1] = gridY;
    287287  theader.bitpix   = -32;
    288   fits_create_Theader (&theader, "IMAGE");
    289   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    290   fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
    291   fits_create_matrix  (&theader, &matrix);
     288  gfits_create_Theader (&theader, "IMAGE");
     289  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     290  gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
     291  gfits_create_matrix  (&theader, &matrix);
    292292  for (i = 0; i < gridX; i++) {
    293293    for (j = 0; j < gridY; j++) {
    294       fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
     294      gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
    295295    }
    296296  }
    297297  write_coords (&theader, &refmosaic[0].coords);
    298   fits_fwrite_header (f, &theader);
    299   fits_fwrite_matrix (f, &matrix);
    300   fits_free_matrix (&matrix);
     298  gfits_fwrite_header (f, &theader);
     299  gfits_fwrite_matrix (f, &matrix);
     300  gfits_free_matrix (&matrix);
    301301
    302302  /* save grid Nmeas values */
    303   fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
    304   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    305   fits_create_matrix  (&theader, &matrix);
     303  gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
     304  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     305  gfits_create_matrix  (&theader, &matrix);
    306306  for (i = 0; i < gridX; i++) {
    307307    for (j = 0; j < gridY; j++) {
    308       fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
     308      gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
    309309    }
    310310  }
    311311  write_coords (&theader, &refmosaic[0].coords);
    312   fits_fwrite_header (f, &theader);
    313   fits_fwrite_matrix (f, &matrix);
    314   fits_free_matrix (&matrix);
     312  gfits_fwrite_header (f, &theader);
     313  gfits_fwrite_matrix (f, &matrix);
     314  gfits_free_matrix (&matrix);
    315315
    316316  /* save grid sigma values */
    317   fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
    318   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    319   fits_create_matrix  (&theader, &matrix);
     317  gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
     318  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     319  gfits_create_matrix  (&theader, &matrix);
    320320  for (i = 0; i < gridX; i++) {
    321321    for (j = 0; j < gridY; j++) {
    322       fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
     322      gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
    323323    }
    324324  }
    325325  write_coords (&theader, &refmosaic[0].coords);
    326   fits_fwrite_header (f, &theader);
    327   fits_fwrite_matrix (f, &matrix);
    328   fits_free_matrix (&matrix);
     326  gfits_fwrite_header (f, &theader);
     327  gfits_fwrite_matrix (f, &matrix);
     328  gfits_free_matrix (&matrix);
    329329
    330330  /* calculate value for each CCD pixel, write out CCD images */
     
    343343    sprintf (ccdname, "ccd%s", p);
    344344
    345     fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
    346     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    347     fits_modify (&theader, "PHOTCODE", "%s", 1, pname);
    348     fits_modify (&theader, "NX", "%d", 1, image[i].NX);
    349     fits_modify (&theader, "NY", "%d", 1, image[i].NY);
     345    gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
     346    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     347    gfits_modify (&theader, "PHOTCODE", "%s", 1, pname);
     348    gfits_modify (&theader, "NX", "%d", 1, image[i].NX);
     349    gfits_modify (&theader, "NY", "%d", 1, image[i].NY);
    350350    write_coords (&theader, &image[0].coords);
    351351
     
    354354    theader.Naxis[0] = Nx;
    355355    theader.Naxis[1] = Ny;
    356     fits_modify (&theader, "NAXIS1", "%d", 1, Nx);
    357     fits_modify (&theader, "NAXIS2", "%d", 1, Ny);
    358     fits_create_matrix  (&theader, &matrix);
     356    gfits_modify (&theader, "NAXIS1", "%d", 1, Nx);
     357    gfits_modify (&theader, "NAXIS2", "%d", 1, Ny);
     358    gfits_create_matrix  (&theader, &matrix);
    359359
    360360    InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords);
    361     fits_fwrite_header (f, &theader);
    362     fits_fwrite_matrix (f, &matrix);
    363     fits_free_matrix (&matrix);
     361    gfits_fwrite_header (f, &theader);
     362    gfits_fwrite_matrix (f, &matrix);
     363    gfits_free_matrix (&matrix);
    364364  }
    365365}
  • trunk/Ohana/src/relphot/src/GridOps.v2.c

    r5143 r7080  
    375375
    376376  /* create empty phu */
    377   fits_init_header (&header);
     377  gfits_init_header (&header);
    378378  header.extend = TRUE;
    379   fits_create_header (&header);
    380   fits_create_matrix (&header, &matrix);
    381   fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
    382   fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
    383   fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
    384   fits_fwrite_header (f, &header);
    385   fits_fwrite_matrix (f, &matrix);
    386   fits_free_matrix (&matrix);
     379  gfits_create_header (&header);
     380  gfits_create_matrix (&header, &matrix);
     381  gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);
     382  gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
     383  gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
     384  gfits_fwrite_header (f, &header);
     385  gfits_fwrite_matrix (f, &matrix);
     386  gfits_free_matrix (&matrix);
    387387
    388388  /* save grid mag values */
    389   fits_init_header (&theader);
     389  gfits_init_header (&theader);
    390390  theader.Naxes = 2;
    391391  theader.Naxis[0] = gridX;
    392392  theader.Naxis[1] = gridY;
    393393  theader.bitpix   = -32;
    394   fits_create_Theader (&theader, "IMAGE");
    395   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    396   fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
    397   fits_create_matrix  (&theader, &matrix);
     394  gfits_create_Theader (&theader, "IMAGE");
     395  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     396  gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");
     397  gfits_create_matrix  (&theader, &matrix);
    398398  for (i = 0; i < gridX; i++) {
    399399    for (j = 0; j < gridY; j++) {
    400       fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
     400      gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);
    401401    }
    402402  }
    403403  write_coords (&theader, &refmosaic[0].coords);
    404   fits_fwrite_header (f, &theader);
    405   fits_fwrite_matrix (f, &matrix);
    406   fits_free_matrix (&matrix);
     404  gfits_fwrite_header (f, &theader);
     405  gfits_fwrite_matrix (f, &matrix);
     406  gfits_free_matrix (&matrix);
    407407
    408408  /* save grid Nmeas values */
    409   fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
    410   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    411   fits_create_matrix  (&theader, &matrix);
     409  gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");
     410  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     411  gfits_create_matrix  (&theader, &matrix);
    412412  for (i = 0; i < gridX; i++) {
    413413    for (j = 0; j < gridY; j++) {
    414       fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
     414      gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);
    415415    }
    416416  }
    417417  write_coords (&theader, &refmosaic[0].coords);
    418   fits_fwrite_header (f, &theader);
    419   fits_fwrite_matrix (f, &matrix);
    420   fits_free_matrix (&matrix);
     418  gfits_fwrite_header (f, &theader);
     419  gfits_fwrite_matrix (f, &matrix);
     420  gfits_free_matrix (&matrix);
    421421
    422422  /* save grid sigma values */
    423   fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
    424   fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    425   fits_create_matrix  (&theader, &matrix);
     423  gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");
     424  gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     425  gfits_create_matrix  (&theader, &matrix);
    426426  for (i = 0; i < gridX; i++) {
    427427    for (j = 0; j < gridY; j++) {
    428       fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
     428      gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);
    429429    }
    430430  }
    431431  write_coords (&theader, &refmosaic[0].coords);
    432   fits_fwrite_header (f, &theader);
    433   fits_fwrite_matrix (f, &matrix);
    434   fits_free_matrix (&matrix);
     432  gfits_fwrite_header (f, &theader);
     433  gfits_fwrite_matrix (f, &matrix);
     434  gfits_free_matrix (&matrix);
    435435
    436436# ifdef GRID_V1
     
    451451    sprintf (ccdname, "ccd%s", p);
    452452
    453     fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
    454     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    455     fits_modify (&theader, "PHOTCODE", "%s", 1, pname);
    456     fits_modify (&theader, "NX", "%d", 1, image[i].NX);
    457     fits_modify (&theader, "NY", "%d", 1, image[i].NY);
     453    gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname);
     454    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     455    gfits_modify (&theader, "PHOTCODE", "%s", 1, pname);
     456    gfits_modify (&theader, "NX", "%d", 1, image[i].NX);
     457    gfits_modify (&theader, "NY", "%d", 1, image[i].NY);
    458458    write_coords (&theader, &image[0].coords);
    459459
     
    462462    theader.Naxis[0] = Nx;
    463463    theader.Naxis[1] = Ny;
    464     fits_modify (&theader, "NAXIS1", "%d", 1, Nx);
    465     fits_modify (&theader, "NAXIS2", "%d", 1, Ny);
    466     fits_create_matrix  (&theader, &matrix);
     464    gfits_modify (&theader, "NAXIS1", "%d", 1, Nx);
     465    gfits_modify (&theader, "NAXIS2", "%d", 1, Ny);
     466    gfits_create_matrix  (&theader, &matrix);
    467467
    468468    InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords);
    469     fits_fwrite_header (f, &theader);
    470     fits_fwrite_matrix (f, &matrix);
    471     fits_free_matrix (&matrix);
     469    gfits_fwrite_header (f, &theader);
     470    gfits_fwrite_matrix (f, &matrix);
     471    gfits_free_matrix (&matrix);
    472472  }
    473473# endif
     
    479479    int ix, iy, x, y, X, Y, bin;
    480480
    481     fits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);
    482     fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
    483     fits_modify (&theader, "NX", "%d", 1, camera.Nx);
    484     fits_modify (&theader, "NY", "%d", 1, camera.Ny);
     481    gfits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);
     482    gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);
     483    gfits_modify (&theader, "NX", "%d", 1, camera.Nx);
     484    gfits_modify (&theader, "NY", "%d", 1, camera.Ny);
    485485     
    486486    theader.Naxis[0] = RELPHOT_GRID_X;
    487487    theader.Naxis[1] = RELPHOT_GRID_Y;
    488     fits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);
    489     fits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);
    490     fits_create_matrix  (&theader, &matrix);
     488    gfits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);
     489    gfits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);
     490    gfits_create_matrix  (&theader, &matrix);
    491491
    492492    for (Y = 0; Y < RELPHOT_GRID_Y; Y++) {
     
    504504             
    505505        bin = ix + iy*gridX;
    506         fits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);
     506        gfits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);
    507507      }
    508508    }
    509     fits_fwrite_header (f, &theader);
    510     fits_fwrite_matrix (f, &matrix);
    511     fits_free_matrix (&matrix);
     509    gfits_fwrite_header (f, &theader);
     510    gfits_fwrite_matrix (f, &matrix);
     511    gfits_free_matrix (&matrix);
    512512  }
    513513# endif
  • trunk/Ohana/src/relphot/src/Shutdown.c

    r4864 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: addstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/relphot/src/args.c

    r6994 r7080  
    11# include "relphot.h"
     2void usage (void);
    23
    34int args (int argc, char **argv) {
     
    3334  }
    3435
     36  /* specify portion of the sky */
     37  UserPatch.Rmin = 0;
     38  UserPatch.Rmax = 360;
     39  UserPatch.Dmin = -90;
     40  UserPatch.Dmax = +90;
     41  UserPatchSelect = FALSE;
     42  if ((N = get_argument (argc, argv, "-region"))) {
     43    remove_argument (N, &argc, argv);
     44    UserPatch.Rmin = atof (argv[N]);
     45    remove_argument (N, &argc, argv);
     46    UserPatch.Rmax = atof (argv[N]);
     47    remove_argument (N, &argc, argv);
     48    UserPatch.Dmin = atof (argv[N]);
     49    remove_argument (N, &argc, argv);
     50    UserPatch.Dmax = atof (argv[N]);
     51    remove_argument (N, &argc, argv);
     52    UserPatchSelect = TRUE;
     53  }
     54
    3555  VERBOSE = FALSE;
    3656  if ((N = get_argument (argc, argv, "-v"))) {
     
    153173  }
    154174
    155   if (argc != 3) {
    156     fprintf (stderr, "ERROR: USAGE: nrphot (region) (photcode)\n");
    157     fprintf (stderr, "  options: \n");
    158     fprintf (stderr, "  -time (start) (stop)\n");
    159     fprintf (stderr, "  -v\n");
    160     fprintf (stderr, "  -plot\n");
    161     fprintf (stderr, "  -plotdelay (seconds)\n");
    162     fprintf (stderr, "  -statmode (mode)\n");
    163     fprintf (stderr, "  -n (nloop)\n");
    164     fprintf (stderr, "  -reset\n");
    165     fprintf (stderr, "  -update\n");
    166     fprintf (stderr, "  -params\n");
    167     fprintf (stderr, "  -mosaic (mosaic)\n");
    168     fprintf (stderr, "  -imfreeze\n");
    169     fprintf (stderr, "  -grid\n");
    170     fprintf (stderr, "  -area Xmin Xmax Ymin Ymax\n");
    171     fprintf (stderr, "  -instmag min max\n");
    172     fprintf (stderr, "  \n");
    173     exit (2);
    174   }
    175   return (TRUE);
     175  if ( UserPatchSelect && (argc != 2)) usage ();
     176  if (!UserPatchSelect && (argc != 3)) usage ();
     177
     178  return TRUE;
    176179}
    177180
     181void usage () {
     182  fprintf (stderr, "ERROR: USAGE: relphot (region) (photcode)\n");
     183  fprintf (stderr, "       or:    relphot (photcode) -region RA RA DEC DEC\n");
     184  fprintf (stderr, "  options: \n");
     185  fprintf (stderr, "  -time (start) (stop)\n");
     186  fprintf (stderr, "  -v\n");
     187  fprintf (stderr, "  -plot\n");
     188  fprintf (stderr, "  -plotdelay (seconds)\n");
     189  fprintf (stderr, "  -statmode (mode)\n");
     190  fprintf (stderr, "  -n (nloop)\n");
     191  fprintf (stderr, "  -reset\n");
     192  fprintf (stderr, "  -update\n");
     193  fprintf (stderr, "  -params\n");
     194  fprintf (stderr, "  -mosaic (mosaic)\n");
     195  fprintf (stderr, "  -imfreeze\n");
     196  fprintf (stderr, "  -grid\n");
     197  fprintf (stderr, "  -area Xmin Xmax Ymin Ymax\n");
     198  fprintf (stderr, "  -instmag min max\n");
     199  fprintf (stderr, "  \n");
     200  exit (2);
     201}
  • trunk/Ohana/src/relphot/src/bcatalog.c

    r6683 r7080  
    11# include "relphot.h"
    22
    3 int bcatalog (Catalog *subcatalog, Catalog *catalog, GSCRegion *fullregion) {
     3int bcatalog (Catalog *subcatalog, Catalog *catalog) {
    44 
    55  int i, j, offset, ecode;
     
    1818  for (i = 0; i < catalog[0].Naverage; i++) {
    1919    if (catalog[0].average[i].Nm < 2) continue;
     20
     21    /* XXX this limitation is absurd
    2022    if (catalog[0].average[i].R < fullregion[0].RA[0]) continue;
    2123    if (catalog[0].average[i].R > fullregion[0].RA[1]) continue;
    2224    if (catalog[0].average[i].D < fullregion[0].DEC[0]) continue;
    2325    if (catalog[0].average[i].D > fullregion[0].DEC[1]) continue;
     26    */
    2427
    2528    /* start with all stars good */
  • trunk/Ohana/src/relphot/src/find_images.c

    r5014 r7080  
    2727  strcpy (tcoords.ctype, "RA---TAN");
    2828
    29   timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
     29  timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);
    3030
    3131  nimage = 0;
  • trunk/Ohana/src/relphot/src/initialize.c

    r6684 r7080  
    33void initialize (int argc, char **argv) {
    44
    5   /* are these set correctly? */
     5  int N;
     6
    67  ConfigInit (&argc, argv);
    78  args (argc, argv);
    89
    9   if ((photcode = GetPhotcodebyName (argv[2])) == NULL) {
    10     fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", argv[2]);
     10  N = UserPatchSelect ? 1 : 2;
     11  if ((photcode = GetPhotcodebyName (argv[N])) == NULL) {
     12    fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", argv[N]);
    1113    exit (1);
    1214  }
    1315  if ((photcode[0].type != PHOT_PRI) && (photcode[0].type != PHOT_SEC)) {
    14     fprintf (stderr, "photcode %s is not a primary or secondary filter\n", argv[2]);
     16    fprintf (stderr, "photcode %s is not a primary or secondary filter\n", argv[N]);
    1517    exit (1);
    1618  }
  • trunk/Ohana/src/relphot/src/load_catalogs.c

    r2486 r7080  
    11# include "relphot.h"
    22
    3 Catalog *load_catalogs (GSCRegion *region, int Nregion, GSCRegion *fullregion) {
     3Catalog *load_catalogs (SkyList *skylist, int *Ncatalog) {
    44
    55  int i, Nstar;
    6   char filename[256];
    76  Catalog *catalog, tcatalog;
    87
    98  if (VERBOSE) fprintf (stderr, "loading catalog data\n");
    109
    11   ALLOCATE (catalog, Catalog, Nregion);
     10  // XXX skip over the empty catalogs? don't add to the list?
     11  ALLOCATE (catalog, Catalog, skylist[0].Nregions);
    1212
    1313  /* load data from each region file, only use bright stars */
    14   for (i = 0; i < Nregion; i++) {
    15     sprintf (filename, "%s/%s", CATDIR, region[i].filename);
    16     tcatalog.filename = filename;  /* don't free region before catalog! */
     14  // we use LCK_SOFT since we assume the image is locked
     15  for (i = 0; i < skylist[0].Nregions; i++) {
     16    tcatalog.filename = skylist[0].filename[i];
    1717    switch (lock_catalog (&tcatalog, LCK_SOFT)) {
    1818    case 0:
    19       fprintf (stderr, "ERROR: can't lock file %s\n", region[i].filename);
     19      fprintf (stderr, "ERROR: can't lock file %s\n", tcatalog.filename);
    2020      exit (1);
    2121    case 1:
     
    3131      exit (1);
    3232    }
    33     bcatalog (&catalog[i], &tcatalog, fullregion);
     33    bcatalog (&catalog[i], &tcatalog);
    3434  }
    3535
    3636  Nstar = 0;
    37   for (i = 0; i < Nregion; i++) {
     37  for (i = 0; i < skylist[0].Nregions; i++) {
    3838    Nstar += catalog[i].Naverage;
    3939  }
     
    4242    exit (0);
    4343  }
     44
     45  *Ncatalog = skylist[0].Nregions;
    4446  return (catalog);
    4547}
  • trunk/Ohana/src/relphot/src/load_images.c

    r6237 r7080  
    11# include "relphot.h"
    22
    3 GSCRegion *load_images (FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion) {
     3SkyList *load_images (FITS_DB *db, char *regionName, SkyRegion *region, int RegionSelect) {
    44
    5   GSCRegion *region;
    6   int        Nregion;
    7   Image     *image;
    8   int       *Line;
    9   int        Nimage;
     5  Image     *image, *subset;
     6  int        Nimage, Nsubset, Nchar;
     7  int       *LineNumber;
    108
    11   /* read entire db table */
    12   if (!dvo_image_load (db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db[0].filename);
     9  SkyTable *sky = NULL;
     10  SkyList *skylist = NULL;
    1311
    14   region = name_region (seed, &Nregion);
     12  // load the current sky table (layout of all SkyRegions)
     13  sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, SKY_DEPTH, VERBOSE);
     14  SkyTableSetFilenames (sky, CATDIR, "cpt");
     15 
     16  // determine the populated SkyRegions overlapping the requested area
     17  if (RegionSelect) {
     18    skylist = SkyListByPatch (sky, -1, region);
     19  } else {
     20    Nchar = strlen(regionName);
     21    if (!strcmp (&regionName[Nchar-4], ".cpt")) regionName[Nchar-4] = 0;
     22    skylist = SkyListByName (sky, regionName);
     23  }
    1524
    16   /* find images which supplied all measurements */
    17   image = find_images (db, region, Nregion, &Nimage, &Line);
    18   free (Line);
     25  // convert database table to internal structure
     26  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1927
    20   /* find all region files which touch images */
    21   region = find_regions (image, Nimage, &Nregion, fullregion);
    22   free (image);
     28  // select the images which overlap the selected sky regions
     29  subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset);
    2330
    24   /* find images which supplied all measurements for all regions */
    25   image = find_images (db, region, Nregion, &Nimage, &Line);
    26   getfullregion (image, Nimage, fullregion);
     31  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, LineNumber, Nsubset);
    2732
    28   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);
    29 
    30   initImages (image, Nimage);
    31   initMosaics (image, Nimage);
     33  initImages (subset, Nsubset);
     34  initMosaics (subset, Nsubset);
    3235 
    33   *nregion = Nregion;
    34   return (region);
     36  return (skylist);
    3537}
  • trunk/Ohana/src/relphot/src/name_region.c

    r2486 r7080  
    99
    1010  sprintf (region[0].filename, "%s/%s", CATDIR, name);
    11   if (!fits_read_header (region[0].filename, &header)) {
     11  if (!gfits_read_header (region[0].filename, &header)) {
    1212    if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename);
    1313    exit (0);
    1414  }
    15   fits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
    16   fits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
    17   fits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
    18   fits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
    19   fits_free_header (&header);
     15  gfits_scan (&header, "RA0", "%lf", 1, &region[0].RA[0]);
     16  gfits_scan (&header, "RA1", "%lf", 1, &region[0].RA[1]);
     17  gfits_scan (&header, "DEC0", "%lf", 1, &region[0].DEC[0]);
     18  gfits_scan (&header, "DEC1", "%lf", 1, &region[0].DEC[1]);
     19  gfits_free_header (&header);
    2020
    2121  *Nregions = 1;
  • trunk/Ohana/src/relphot/src/reload_catalogs.c

    r2486 r7080  
    11# include "relphot.h"
    22
    3 void reload_catalogs (GSCRegion *region, int Nregion, GSCRegion *fullregion) {
     3void reload_catalogs (SkyList *skylist) {
    44
    55  int i;
    6   char filename[256];
    76  Catalog catalog;
    87
     
    109
    1110  /* load data from each region file */
    12   for (i = 0; i < Nregion; i++) {
    13     sprintf (filename, "%s/%s", CATDIR, region[i].filename);
    14     catalog.filename = filename;  /* don't free region before catalog! */
     11  for (i = 0; i < skylist[0].Nregions; i++) {
     12    catalog.filename = skylist[0].filename[i];
    1513    switch (lock_catalog (&catalog, LCK_XCLD)) {
    1614    case 0:
    17       fprintf (stderr, "ERROR: can't lock file %s\n", region[i].filename);
     15      fprintf (stderr, "ERROR: can't lock file %s\n", catalog.filename);
    1816      exit (1);
    1917    case 1:
  • trunk/Ohana/src/relphot/src/relphot.c

    r6640 r7080  
    11# include "relphot.h"
    2 /** I'm not currently setting the lockfiles.  this should be fixed! **/
    32
    43int main (int argc, char **argv) {
     
    65  int i, status, Ncatalog;
    76  Catalog *catalog;
    8   GSCRegion fullregion, *region;
    97  FITS_DB db;
     8
     9  SkyList *skylist = NULL;
    1010
    1111  /* get configuration info, args */
    1212  initialize (argc, argv);
    1313
     14  /* register database handle with shutdown procedure */
    1415  set_db (&db);
     16
     17  /* lock and load the image db table */
    1518  status = dvo_image_lock (&db, ImageCat, 60.0, (UPDATE ? LCK_XCLD : LCK_SOFT));
    1619  if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db.filename);
    1720  if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename);
     21  if (!dvo_image_load (&db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db.filename);
    1822
    19   /* load regions and images based on seed region */
    20   // XXX EAM : load images and regions based on bounds, not name
    21   region = load_images (&db, argv[1], &Ncatalog, &fullregion);
     23  /* load regions and images based on specified sky patch */
     24  // XXX need to mimic old-style load by passing patch name
     25  // XXX need to reduce number of global variables in use.
     26  // XXX this is fairly lame: argv[1] is photcode if UserPatchSelect is true
     27  skylist = load_images (&db, argv[1], &UserPatch, UserPatchSelect);
     28
     29  /* unlock, if we can (else, unlocked below) */
    2230  if (!UPDATE) dvo_image_unlock (&db);
    2331
    2432  /* load catalog data from region files */
    25   catalog = load_catalogs (region, Ncatalog, &fullregion);
     33  catalog = load_catalogs (skylist, &Ncatalog);
    2634
    2735  /* match measurements with images, mosaics */
     
    8694
    8795  /* load catalog data from region files, update Mrel include all data */
    88   reload_catalogs (region, Ncatalog, &fullregion);
     96  reload_catalogs (skylist);
    8997  setMcalFinal ();
    9098  dvo_image_update (&db, VERBOSE);
  • trunk/Ohana/src/relphot/src/wcatalog.c

    r5014 r7080  
    2626    catalog[0].Nsecfilt = 0;
    2727  }
    28   fits_free_header (&catalog[0].header);
     28  gfits_free_header (&catalog[0].header);
    2929}
  • trunk/Ohana/src/relphot/src/wimages.c

    r4864 r7080  
    1212  /* adjust header */
    1313  Nimages = 0;
    14   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
     14  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
    1515  Nimages ++;
    16   fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
     16  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
    1717
    18   fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
     18  gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
    1919  for (i = 0; i < Nimage; i++) {
    20     fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
     20    gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));
    2121  }
    2222
  • trunk/Ohana/src/relphot/src/write_coords.c

    r2486 r7080  
    55void write_coords (Header *header, Coords *coords) {
    66
    7   fits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
    8   fits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
     7  gfits_modify (header, "CTYPE1",   "%s",  1, "RA---TAN");
     8  gfits_modify (header, "CTYPE2",   "%s",  1, "DEC--TAN");
    99
    10   fits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
    11   fits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
     10  gfits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
     11  gfits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2); 
    1212
    13   fits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
    14   fits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
     13  gfits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
     14  gfits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
    1515
    1616# if (CD_COORDS) 
    17   fits_modify (header, "CD1_1",    "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);
    18   fits_modify (header, "CD2_1",    "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);
    19   fits_modify (header, "CD1_2",    "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);
    20   fits_modify (header, "CD2_2",    "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);
     17  gfits_modify (header, "CD1_1",    "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);
     18  gfits_modify (header, "CD2_1",    "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);
     19  gfits_modify (header, "CD1_2",    "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);
     20  gfits_modify (header, "CD2_2",    "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);
    2121# else
    22   fits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
    23   fits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
    24   fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
    25   fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
    26   fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
    27   fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
     22  gfits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1);
     23  gfits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
     24  gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
     25  gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
     26  gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
     27  gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
    2828# endif
    2929}
  • trunk/Ohana/src/uniphot/doc/ChangeLog.txt

    r6693 r7080  
    11
     2- uniphot-1-4:
     3  * converted to gfits APIs (forces libfits 1.6)
    24
    35- uniphot-1-3:
  • trunk/Ohana/src/uniphot/src/Shutdown.c

    r4864 r7080  
    2222
    2323  SetProtect (TRUE);
    24   fits_db_close (db);
     24  gfits_db_close (db);
    2525  fprintf (stderr, "ERROR: addstar halted\n");
    2626  exit (1);
  • trunk/Ohana/src/uniphot/src/find_image_sgroups.c

    r5386 r7080  
    1111
    1212  imlink = *Imlink;
    13   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     13  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1414
    1515  coords.crpix1 = coords.crpix2 = 0.0;
  • trunk/Ohana/src/uniphot/src/find_image_tgroups.c

    r5386 r7080  
    1010  ImageLink *imlink;
    1111
    12   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     12  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1313  ALLOCATE (imlink, ImageLink, Nimage);
    1414
  • trunk/Ohana/src/uniphot/src/subset_images.c

    r4864 r7080  
    88
    99  /* use a vtable to keep the images to be calibrated */
    10   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     10  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1111
    1212  Nkeep = 0;
     
    3232  }
    3333
    34   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, keep, Nkeep);
     34  gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, keep, Nkeep);
    3535  return (TRUE);
    3636}
  • trunk/Ohana/src/uniphot/src/update.c

    r5320 r7080  
    1212  Coords coords;
    1313
    14   image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     14  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
    1515
    1616  /* clear the NOCAL flags */
     
    4444    if (!gcatalog (&catalog)) continue;
    4545
    46     fits_scan (&catalog.header, "RA0", "%lf",  1, &Rmin);
    47     fits_scan (&catalog.header, "RA1", "%lf",  1, &Rmax);
    48     fits_scan (&catalog.header, "DEC0", "%lf", 1, &Dmin);
    49     fits_scan (&catalog.header, "DEC1", "%lf", 1, &Dmax);
     46    gfits_scan (&catalog.header, "RA0", "%lf",  1, &Rmin);
     47    gfits_scan (&catalog.header, "RA1", "%lf",  1, &Rmax);
     48    gfits_scan (&catalog.header, "DEC0", "%lf", 1, &Dmin);
     49    gfits_scan (&catalog.header, "DEC1", "%lf", 1, &Dmax);
    5050    while (Rmin <   0.0) { Rmin += 360.0; }
    5151    while (Rmin > 360.0) { Rmin -= 360.0; }
  • trunk/Ohana/src/uniphot/src/wcatalog.c

    r5014 r7080  
    2727    catalog[0].Nsecfilt = 0;
    2828  }
    29   fits_free_header (&catalog[0].header);
     29  gfits_free_header (&catalog[0].header);
    3030  unlock_catalog (catalog);
    3131}
  • trunk/Ohana/src/uniphot/src/wimages.c

    r5242 r7080  
    2323    exit (1);
    2424  }
    25   if (!fits_fread_header (f, &header)) {
     25  if (!gfits_fread_header (f, &header)) {
    2626    fprintf (stderr, "ERROR: can't read header %s\n", ImageCat);
    2727    exit (1);
Note: See TracChangeset for help on using the changeset viewer.