Changeset 2768
- Timestamp:
- Dec 20, 2004, 7:25:00 PM (22 years ago)
- Location:
- trunk/Ohana/src/imregister/spreg
- Files:
-
- 1 added
- 6 edited
-
args.spregister.c (modified) (2 diffs)
-
db.c (modified) (1 diff)
-
define.c (modified) (2 diffs)
-
fits_scan_nchar.c (modified) (2 diffs)
-
output.c (modified) (1 diff)
-
showinfo.c (added)
-
spinfo.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/imregister/spreg/args.spregister.c
r2488 r2768 12 12 remove_argument (N, &argc, argv); 13 13 NoReg = TRUE; 14 } 15 16 DUMP = FALSE; 17 if (N = get_argument (argc, argv, "-dump")) { 18 remove_argument (N, &argc, argv); 19 DUMP = TRUE; 14 20 } 15 21 … … 30 36 IMSORT = FALSE; 31 37 32 if (strstr (argv[0], "spregister") != (char *) NULL) { 33 if (argc != 2) { 34 fprintf (stderr, "ERROR: Usage: spregister (filename) [-noreg]\n"); 35 exit (1); 36 } 37 return (TRUE); 38 if (argc != 2) { 39 fprintf (stderr, "ERROR: Usage: spregister (filename) [-noreg]\n"); 40 exit (1); 38 41 } 39 if (strstr (argv[0], "showspinfo") != (char *) NULL) { 40 if (argc != 2) { 41 fprintf (stderr, "ERROR: Usage: showspinfo (filename)\n"); 42 exit (1); 43 } 44 return (TRUE); 45 } 46 return (FALSE); 42 return (TRUE); 47 43 } -
trunk/Ohana/src/imregister/spreg/db.c
r2488 r2768 139 139 140 140 ConvertStruct ((char *) new, sizeof (Spectrum), Nnew, "spectrum"); 141 fits_vadd_rows (&vtable, new, Nnew, sizeof(Spectrum));141 fits_vadd_rows (&vtable, (char *) new, Nnew, sizeof(Spectrum)); 142 142 143 143 /* write subset to file */ -
trunk/Ohana/src/imregister/spreg/define.c
r2488 r2768 13 13 /* define bintable header layout */ 14 14 fits_create_table_header (theader, "BINTABLE", "SPECTRUM_DATABASE"); 15 16 fits_define_bintable_column (theader, "32A", "FILENAME", "filename in db", "", 1.0, 0.0);17 fits_define_bintable_column (theader, "64A", "PATHNAME", "fullpath in db", "", 1.0, 0.0);18 fits_define_bintable_column (theader, "16A", "INSTRUMENT", "instrument", "", 1.0, 0.0);19 fits_define_bintable_column (theader, "16A", "TELESCOPE", "telescope", "", 1.0, 0.0);20 fits_define_bintable_column (theader, "16A", "OBJNAME", "object name", "", 1.0, 0.0);21 fits_define_bintable_column (theader, "16A", "EXTNAME", "extname in file", "", 1.0, 0.0);22 15 23 16 fits_define_bintable_column (theader, "E", "RA", "ra", "degrees", 1.0, 0.0); … … 38 31 fits_define_bintable_column (theader, "13A", "EXTRA", "room for expansion", "", 1.0, 0.0); 39 32 33 fits_define_bintable_column (theader, "64A", "PATHNAME", "fullpath in db", "", 1.0, 0.0); 34 fits_define_bintable_column (theader, "32A", "FILENAME", "filename in db", "", 1.0, 0.0); 35 fits_define_bintable_column (theader, "16A", "EXTNAME", "extname in file", "", 1.0, 0.0); 36 37 fits_define_bintable_column (theader, "16A", "INSTRUMENT", "instrument", "", 1.0, 0.0); 38 fits_define_bintable_column (theader, "16A", "TELESCOPE", "telescope", "", 1.0, 0.0); 39 fits_define_bintable_column (theader, "16A", "OBJNAME", "object name", "", 1.0, 0.0); 40 40 41 /* create table, add data values */ 41 42 fits_create_table (theader, table); -
trunk/Ohana/src/imregister/spreg/fits_scan_nchar.c
r2488 r2768 5 5 int fits_scan_nchar (Header *header, int size, char *field, int N,...) { 6 6 7 char *tmpstr, *outstr;7 char tmpstr[160], *outstr; 8 8 va_list argp; 9 9 int status; … … 13 13 va_end (argp); 14 14 15 ALLOCATE (tmpstr, char, size);16 15 status = fits_scan (header, field, "%s", N, tmpstr); 17 16 strncpy (outstr, tmpstr, size - 1); 18 17 outstr[size-1] = 0; 19 18 20 free (tmpstr);21 19 return (status); 22 20 } 23 21 22 void warn_scan_nchar (Header *header, int size, char *field, int N, void *var) { 23 if (!fits_scan_nchar (header, size, field, N, var)) { 24 fprintf (stderr, "missing %s not found in header\n", field); 25 } 26 } 27 -
trunk/Ohana/src/imregister/spreg/output.c
r2488 r2768 96 96 97 97 /* define table layout */ 98 fits_define_table_column (&theader, "A32", "FILENAME", "filename in db", "" , 1.0, 0.0);99 fits_define_table_column (&theader, "A64", "PATHNAME", "fullpath in db", "" , 1.0, 0.0);100 fits_define_table_column (&theader, "A16", "INSTRUMENT", "instrument", "" , 1.0, 0.0);101 fits_define_table_column (&theader, "A16", "TELESCOPE", "telescope", "" , 1.0, 0.0);102 fits_define_table_column (&theader, "A16", "OBJNAME", "object name", "" , 1.0, 0.0);103 fits_define_table_column (&theader, "A16", "EXTNAME", "extname in file", "" , 1.0, 0.0);98 fits_define_table_column (&theader, "A32", "FILENAME", "filename in db", ""); 99 fits_define_table_column (&theader, "A64", "PATHNAME", "fullpath in db", ""); 100 fits_define_table_column (&theader, "A16", "INSTRUMENT", "instrument", ""); 101 fits_define_table_column (&theader, "A16", "TELESCOPE", "telescope", ""); 102 fits_define_table_column (&theader, "A16", "OBJNAME", "object name", ""); 103 fits_define_table_column (&theader, "A16", "EXTNAME", "extname in file", ""); 104 104 105 fits_define_table_column (&theader, "F10.6","RA", "ra", "degrees" , 1.0, 0.0);106 fits_define_table_column (&theader, "F10.6","DEC", "dec", "degrees" , 1.0, 0.0);107 fits_define_table_column (&theader, "F6.1", "EXPTIME", "exposure time", "seconds" , 1.0, 0.0);108 fits_define_table_column (&theader, "F5.3", "AIRMASS", "airmass", "" , 1.0, 0.0);109 fits_define_table_column (&theader, "F7.2", "Ws", "spectral range start", "Angstrom" , 1.0, 0.0);110 fits_define_table_column (&theader, "F7.2", "We", "spectral range end", "Angstrom" , 1.0, 0.0);111 fits_define_table_column (&theader, "F7.2", "dW", "spectral resolution", "Angstrom / pix" , 1.0, 0.0);105 fits_define_table_column (&theader, "F10.6","RA", "ra", "degrees"); 106 fits_define_table_column (&theader, "F10.6","DEC", "dec", "degrees"); 107 fits_define_table_column (&theader, "F6.1", "EXPTIME", "exposure time", "seconds"); 108 fits_define_table_column (&theader, "F5.3", "AIRMASS", "airmass", ""); 109 fits_define_table_column (&theader, "F7.2", "Ws", "spectral range start", "Angstrom"); 110 fits_define_table_column (&theader, "F7.2", "We", "spectral range end", "Angstrom"); 111 fits_define_table_column (&theader, "F7.2", "dW", "spectral resolution", "Angstrom / pix"); 112 112 113 fits_define_table_column (&theader, "I3", "NSPECTRA", "number of spectra", "" , 1.0, 0.0);113 fits_define_table_column (&theader, "I3", "NSPECTRA", "number of spectra", ""); 114 114 fits_define_table_column (&theader, "A20", "OBS_TIME", "time of observation", "yyyy/mm/dd,hh:mm:ss"); 115 115 fits_define_table_column (&theader, "A20", "REG_TIME", "time of registration", "yyyy/mm/dd,hh:mm:ss"); 116 116 117 fits_define_table_column (&theader, "I2", "MODE", "phu/mef/ext", "" , 1.0, 0.0);118 fits_define_table_column (&theader, "I2", "STATE", "raw/wav/flx/etc", "" , 1.0, 0.0);119 fits_define_table_column (&theader, "I3", "FLAG", "status flags", "" , 1.0, 0.0);117 fits_define_table_column (&theader, "I2", "MODE", "phu/mef/ext", ""); 118 fits_define_table_column (&theader, "I2", "STATE", "raw/wav/flx/etc", ""); 119 fits_define_table_column (&theader, "I3", "FLAG", "status flags", ""); 120 120 121 121 /* create table, add data values */ -
trunk/Ohana/src/imregister/spreg/spinfo.c
r2488 r2768 55 55 spectrum[0].regtime = now.tv_sec; 56 56 57 fits_scan_nchar (&header, 15, ObjectKeyword, 1, spectrum[0].objname);58 fits_scan_nchar (&header, 15, CameraKeyword, 1, spectrum[0].instrument);59 fits_scan_nchar (&header, 15, TelescopeKeyword, 1, spectrum[0].telescope);57 warn_scan_nchar (&header, 16, ObjectKeyword, 1, spectrum[0].objname); 58 warn_scan_nchar (&header, 16, CameraKeyword, 1, spectrum[0].instrument); 59 warn_scan_nchar (&header, 16, TelescopeKeyword, 1, spectrum[0].telescope); 60 60 61 fits_scan (&header, ExptimeKeyword, "%f", 1, &spectrum[0].exptime); 62 fits_scan (&header, AirmassKeyword, "%f", 1, &spectrum[0].airmass); 61 clean_spaces (&spectrum[0].objname); 62 clean_spaces (&spectrum[0].instrument); 63 clean_spaces (&spectrum[0].telescope); 64 65 warn_scan (&header, ExptimeKeyword, "%f", 1, &spectrum[0].exptime); 66 warn_scan (&header, AirmassKeyword, "%f", 1, &spectrum[0].airmass); 63 67 64 68 /* grab coordinates from header */ 65 69 if (RADecDegKeyword[0] & DECDecDegKeyword[0]) { 66 70 /* expect RA & DEC in decimal degrees */ 67 fits_scan (&header, RADecDegKeyword, "%f", 1, &spectrum[0].ra);68 fits_scan (&header, DECDecDegKeyword, "%f", 1, &spectrum[0].dec);71 warn_scan (&header, RADecDegKeyword, "%f", 1, &spectrum[0].ra); 72 warn_scan (&header, DECDecDegKeyword, "%f", 1, &spectrum[0].dec); 69 73 } else { 70 74 if (RASexigKeyword[0] & DECSexigKeyword[0]) { 71 75 /* expect RA & DEC in hh:mm:ss, dd:mm:ss */ 72 fits_scan (&header, RASexigKeyword, "%s", 1, line);76 warn_scan (&header, RASexigKeyword, "%s", 1, line); 73 77 dms_to_ddd (&tmp, line); 74 78 spectrum[0].ra = 15*tmp; 75 fits_scan (&header, DECSexigKeyword, "%s", 1, &line);79 warn_scan (&header, DECSexigKeyword, "%s", 1, &line); 76 80 dms_to_ddd (&tmp, line); 77 81 spectrum[0].dec = tmp; … … 88 92 spectrum[0].flag = 0; 89 93 90 spectrum[0].Ws = 0; 91 spectrum[0].We = 0; 92 spectrum[0].dW = 0; 94 { 95 int Nx; 96 float crpix, crval, cd11; 97 98 warn_scan (&header, "CRPIX1", "%f", 1, &crpix); 99 warn_scan (&header, "CRVAL1", "%f", 1, &crval); 100 if (!fits_scan (&header, "CDELT1", "%f", 1, &cd11)) 101 warn_scan (&header, "CD1_1", "%f", 1, &cd11); 102 103 fits_scan (&header, "NAXIS1", "%d", 1, &Nx); 104 105 spectrum[0].Ws = (1 - crpix)*cd11 + crval; 106 spectrum[0].We = (Nx - crpix)*cd11 + crval; 107 spectrum[0].dW = cd11; 108 } 93 109 94 110 strcpy (spectrum[0].extname, "PHU");
Note:
See TracChangeset
for help on using the changeset viewer.
