Changeset 7080 for trunk/Ohana/src/misc/src/ftable.c
- Timestamp:
- May 5, 2006, 5:44:26 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/misc/src/ftable.c (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/misc/src/ftable.c
r7039 r7080 83 83 84 84 Binary = FALSE; 85 fits_scan (table.header, "XTENSION", "%s", 1, ttype);85 gfits_scan (table.header, "XTENSION", "%s", 1, ttype); 86 86 if (!strcmp (ttype, "BINTABLE")) Binary = TRUE; 87 87 88 88 /* load table data array */ 89 Nbytes = fits_matrix_size (table.header);89 Nbytes = gfits_matrix_size (table.header); 90 90 ALLOCATE (table.buffer, char, Nbytes); 91 91 Nread = fread (table.buffer, sizeof (char), Nbytes, f); … … 96 96 table.size = Nbytes; 97 97 98 fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);99 fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);98 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 99 gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny); 100 100 101 101 /* print a column */ … … 125 125 char field[16], type[16], format[16], *line; 126 126 127 fits_scan (header, "NAXIS1", "%d", 1, &Nx);128 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);127 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 128 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 129 129 130 130 /* assume we have one space per byte column */ … … 134 134 for (i = 1; i <= Nfields; i++) { 135 135 sprintf (field, "TFORM%d", i); 136 fits_scan (header, field, "%s", 1, format); /* get field format */137 fits_table_format (format, type, &Nvals, &Nbytes); /* convert to c-style */136 gfits_scan (header, field, "%s", 1, format); /* get field format */ 137 gfits_table_format (format, type, &Nvals, &Nbytes); /* convert to c-style */ 138 138 memcpy (&line[Oout], &row[Oin], Nvals*Nbytes); 139 139 for (j = 0; j < Nvals*Nbytes; j++) if (line[Oout+j] == 0) line[Oout+j] = ' '; … … 170 170 } 171 171 172 if (! fits_fread_header (f, &header)) {172 if (!gfits_fread_header (f, &header)) { 173 173 fprintf (stderr, "can't read header from %s\n", file); 174 174 exit (1); … … 176 176 177 177 extend = FALSE; 178 fits_scan (&header, "EXTEND", "%t", 1, &extend);178 gfits_scan (&header, "EXTEND", "%t", 1, &extend); 179 179 if (!extend) { 180 180 fprintf (stderr, "no extensions listed in file\n"); 181 181 } 182 182 183 Nbytes = fits_matrix_size (&header);183 Nbytes = gfits_matrix_size (&header); 184 184 fseek (f, Nbytes, SEEK_CUR); 185 185 186 while ( fits_fread_header (f, &header)) {187 fits_scan (&header, "EXTNAME", "%s", 1, extname);188 fits_scan (&header, "NAXIS1", "%d", 1, &Nx);189 fits_scan (&header, "NAXIS2", "%d", 1, &Ny);186 while (gfits_fread_header (f, &header)) { 187 gfits_scan (&header, "EXTNAME", "%s", 1, extname); 188 gfits_scan (&header, "NAXIS1", "%d", 1, &Nx); 189 gfits_scan (&header, "NAXIS2", "%d", 1, &Ny); 190 190 fprintf (stdout, "%-30s %6d %6d\n", extname, Nx, Ny); 191 191 192 Nbytes = fits_matrix_size (&header);192 Nbytes = gfits_matrix_size (&header); 193 193 fseek (f, Nbytes, SEEK_CUR); 194 194 } … … 211 211 212 212 /* read PHU */ 213 if (! fits_fread_header (f, header)) {213 if (!gfits_fread_header (f, header)) { 214 214 fprintf (stderr, "can't read header from %s\n", file); 215 215 exit (1); … … 218 218 /* check for existence of extensions */ 219 219 extend = FALSE; 220 fits_scan (header, "EXTEND", "%t", 1, &extend);220 gfits_scan (header, "EXTEND", "%t", 1, &extend); 221 221 if (!extend) { 222 222 fprintf (stderr, "no extensions listed in file\n"); … … 224 224 225 225 /* skip first data array */ 226 Nbytes = fits_matrix_size (header);226 Nbytes = gfits_matrix_size (header); 227 227 fseek (f, Nbytes, SEEK_CUR); 228 228 229 229 /* search for extension of interest */ 230 for (i = 0; fits_fread_Theader (f, header); i++) {230 for (i = 0; gfits_fread_Theader (f, header); i++) { 231 231 if ((Extname == NULL) && (Nextend == i)) return (f); 232 232 233 fits_scan (header, "EXTNAME", "%s", 1, extname);233 gfits_scan (header, "EXTNAME", "%s", 1, extname); 234 234 if ((Extname != NULL) && (!strcmp (Extname, extname))) return (f); 235 235 236 Nbytes = fits_matrix_size (header);236 Nbytes = gfits_matrix_size (header); 237 237 fseek (f, Nbytes, SEEK_CUR); 238 fits_free_header (header);238 gfits_free_header (header); 239 239 } 240 240 fclose (f); … … 255 255 data = table[0].buffer; 256 256 257 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);258 fits_scan (header, "NAXIS1", "%d", 1, &Nx);259 fits_scan (header, "NAXIS2", "%d", 1, &Ny);257 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 258 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 259 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 260 260 261 261 if (Colname != (char *) NULL) { … … 263 263 for (i = 1; i <= Nfields; i++) { 264 264 sprintf (field, "TTYPE%d", i); 265 fits_scan (header, field, "%s", 1, type);265 gfits_scan (header, field, "%s", 1, type); 266 266 if (!strcmp (type, Colname)) { 267 267 Column = i; … … 285 285 for (i = 1; i < Column; i++) { 286 286 sprintf (field, "TFORM%d", i); 287 fits_scan (header, field, "%s", 1, format);287 gfits_scan (header, field, "%s", 1, format); 288 288 if (Binary) 289 fits_table_format (format, type, &Nv, &Nb);289 gfits_table_format (format, type, &Nv, &Nb); 290 290 else 291 fits_bintable_format (format, type, &Nv, &Nb);291 gfits_bintable_format (format, type, &Nv, &Nb); 292 292 Nstart += Nv*Nb; 293 293 } 294 294 295 295 sprintf (field, "TFORM%d", Column); 296 fits_scan (header, field, "%s", 1, format);296 gfits_scan (header, field, "%s", 1, format); 297 297 if (Binary) 298 fits_bintable_format (format, type, &Nv, &Nb); /* convert to c-style */298 gfits_bintable_format (format, type, &Nv, &Nb); /* convert to c-style */ 299 299 else 300 fits_table_format (format, type, &Nv, &Nb); /* convert to c-style */300 gfits_table_format (format, type, &Nv, &Nb); /* convert to c-style */ 301 301 302 302 ALLOCATE (line, char, Nv*Nb + 1); 303 303 304 304 if (Binary) { 305 if (! fits_get_bintable_column_type (header, Colname, type, &Nv)) return;305 if (!gfits_get_bintable_column_type (header, Colname, type, &Nv)) return; 306 306 if (!strcmp (type, "char")) return; 307 if (! fits_get_bintable_column (header, table, Colname, (void **)&data)) return;307 if (!gfits_get_bintable_column (header, table, Colname, (void **)&data)) return; 308 308 309 309 for (i = 0; i < Ny; i++) { … … 344 344 char field[16], type[80], comment[80], format[80], unit[80], null[80], nval[80]; 345 345 346 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);346 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 347 347 348 348 for (i = 1; i <= Nfields; i++) { 349 349 sprintf (field, "TTYPE%d", i); 350 fits_scan (header, field, "%s", 1, type);351 fits_scan (header, field, "%C", 1, comment);350 gfits_scan (header, field, "%s", 1, type); 351 gfits_scan (header, field, "%C", 1, comment); 352 352 sprintf (field, "TFORM%d", i); 353 fits_scan (header, field, "%s", 1, format);353 gfits_scan (header, field, "%s", 1, format); 354 354 sprintf (field, "TUNIT%d", i); 355 fits_scan (header, field, "%s", 1, unit);355 gfits_scan (header, field, "%s", 1, unit); 356 356 sprintf (field, "TNULL%d", i); 357 if (! fits_scan (header, field, "%s", 1, null)) strcpy (null, "none");357 if (!gfits_scan (header, field, "%s", 1, null)) strcpy (null, "none"); 358 358 sprintf (field, "TNVAL%d", i); 359 if (! fits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none");359 if (!gfits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none"); 360 360 361 361 fprintf (stdout, "%-18s %-32s %-18s %-6s %-8s %-8s\n",
Note:
See TracChangeset
for help on using the changeset viewer.
