IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3492


Ignore:
Timestamp:
Mar 23, 2005, 9:34:48 PM (21 years ago)
Author:
eugene
Message:

working on FITS autocode

Location:
trunk/Ohana/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/imregister/spreg/output.c

    r3491 r3492  
    7070  fits_fwrite_matrix   (f, &matrix);
    7171  fits_fwrite_Theader  (f, &theader);
    72   fits_fwrite_ftable   (f, &ftable));
     72  fits_fwrite_ftable   (f, &ftable);
    7373  fclose (f);
    7474
     
    8080 
    8181  int i;
    82   char *obsstr, *regstr, *line, dummy[64], *datestr;
     82  char *obsstr, *regstr, *line, *datestr;
    8383  unsigned long tsecond;
    8484  Header header, theader;
     
    8686  FTable table;
    8787  Spectrum *subset;
    88 
    89   bzero (dummy, 64);
    90   memset (dummy, ' ', 63);
    9188
    9289  /* create primary header */
     
    9794  fits_print (&header, "NEXTEND", "%d", 1, 1);
    9895 
    99   /* create table header */
    100   fits_create_table_header (&theader, "TABLE", "SPECTRUM_DATABASE");
    101      
    102   /* add current date/time to header */
    103   str_to_time ("now", &tsecond);
    104   datestr = sec_to_date (tsecond);
    105   fits_modify (&header,  "DATE", "%s", 1, datestr);
    106   fits_modify (&theader, "DATE", "%s", 1, datestr);
     96  ftable.header = &theader;
     97  fits_table_set_SpectrumASCII (&ftable, NULL, 0);
     98 
     99  /* the ASCII table is always a little harder than the binary
     100     need to build the data line a bit carefully
     101   */
    107102
    108   /* define table layout (can this be autocoded?) */
    109   fits_define_table_column (&theader, "A32",  "FILENAME",   "filename in db",        "");
    110   fits_define_table_column (&theader, "A64",  "PATHNAME",   "fullpath in db",        "");
    111   fits_define_table_column (&theader, "A16",  "INSTRUMENT", "instrument",            "");
    112   fits_define_table_column (&theader, "A16",  "TELESCOPE",  "telescope",             "");
    113   fits_define_table_column (&theader, "A16",  "OBJNAME",    "object name",           "");
    114   fits_define_table_column (&theader, "A16",  "EXTNAME",    "extname in file",       "");
    115 
    116   fits_define_table_column (&theader, "F10.6","RA",         "ra",                    "degrees");
    117   fits_define_table_column (&theader, "F10.6","DEC",        "dec",                   "degrees");
    118   fits_define_table_column (&theader, "F6.1", "EXPTIME",    "exposure time",         "seconds");
    119   fits_define_table_column (&theader, "F5.3", "AIRMASS",    "airmass",               "");
    120   fits_define_table_column (&theader, "F7.2", "Ws",         "spectral range start",  "Angstrom");
    121   fits_define_table_column (&theader, "F7.2", "We",         "spectral range end",    "Angstrom");
    122   fits_define_table_column (&theader, "F7.2", "dW",         "spectral resolution",   "Angstrom / pix");
    123 
    124   fits_define_table_column (&theader, "I3",   "NSPECTRA",   "number of spectra",     "");
    125   fits_define_table_column (&theader, "A20",  "OBS_TIME",   "time of observation",   "yyyy/mm/dd,hh:mm:ss");
    126   fits_define_table_column (&theader, "A20",  "REG_TIME",   "time of registration",  "yyyy/mm/dd,hh:mm:ss");
    127 
    128   fits_define_table_column (&theader, "I2",   "MODE",       "phu/mef/ext",           "");
    129   fits_define_table_column (&theader, "I2",   "STATE",      "raw/wav/flx/etc",       "");
    130   fits_define_table_column (&theader, "I3",   "FLAG",       "status flags",          "");
    131 
    132   /* create table, add data values */
    133   fits_create_table (&theader, &table);
    134  
    135103  /* add data to table */
    136104  for (i = 0; i < Nmatch; i++) {
     
    139107    regstr   = sec_to_date (subset[0].regtime);
    140108
     109    /* we should get an error here if we don't construct this line correctly */
    141110    line = fits_table_print (&table, subset[0].filename, subset[0].pathname, subset[0].instrument,
    142111                             subset[0].telescope, subset[0].objname, subset[0].extname,
     
    151120    free (regstr);
    152121  }
     122
     123  /* add current date/time to header */
     124  str_to_time ("now", &tsecond);
     125  datestr = sec_to_date (tsecond);
     126  fits_modify (&header,  "DATE", "%s", 1, datestr);
     127  fits_modify (&theader, "DATE", "%s", 1, datestr);
    153128
    154129  fits_write_header  (filename, &header);
  • trunk/Ohana/src/libfits/table/F_table_format.c

    r3490 r3492  
    7979  return (TRUE);
    8080}
     81
     82/*
     83  valid TABLE column formats:
     84  FN.N  - floating point
     85  INN   - integer
     86  ANN   - NN char string
     87 
     88*/
    8189
    8290/** extract a table subset to a vtable ***/
     
    180188}
    181189
    182 /*
    183   valid TABLE column formats:
    184   FN.N  - floating point
    185   INN   - integer
    186   ANN   - NN char string
    187  
    188 */
    189 
    190 
    191190    /* vsnprintf (&line[off], Nchar + 1, format, argp); */
Note: See TracChangeset for help on using the changeset viewer.