IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7080 for trunk/Ohana/src/opihi


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/src/opihi
Files:
66 edited

Legend:

Unmodified
Added
Removed
  • 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__);
Note: See TracChangeset for help on using the changeset viewer.