Changeset 10421 for trunk/psModules/src/objects/pmSourceIO.c
- Timestamp:
- Dec 3, 2006, 8:48:10 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmSourceIO.c (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmSourceIO.c
r9560 r10421 3 3 * @author EAM, IfA 4 4 * 5 * @version $Revision: 1.1 3$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-1 0-14 00:53:56$5 * @version $Revision: 1.14 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-12-03 18:48:10 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 60 60 61 61 // Given a FITS file pointer, write the table of object data 62 bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file )62 bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config) 63 63 { 64 64 … … 66 66 67 67 if (view->chip == -1) { 68 if (!pmFPAWriteObjects (fpa, view, file )) {68 if (!pmFPAWriteObjects (fpa, view, file, config)) { 69 69 psError(PS_ERR_IO, false, "Failed to write objects from fpa"); 70 70 return false; … … 80 80 81 81 if (view->cell == -1) { 82 if (!pmChipWriteObjects (chip, view, file )) {82 if (!pmChipWriteObjects (chip, view, file, config)) { 83 83 psError(PS_ERR_IO, false, "Failed to write objects from chip"); 84 84 return false; … … 95 95 96 96 if (view->readout == -1) { 97 if (!pmCellWriteObjects (cell, view, file )) {97 if (!pmCellWriteObjects (cell, view, file, config)) { 98 98 psError(PS_ERR_IO, false, "Failed to write objects from cell"); 99 99 return false; … … 110 110 pmReadout *readout = cell->readouts->data[view->readout]; 111 111 112 if (!pmReadoutWriteObjects (readout, view, file )) {112 if (!pmReadoutWriteObjects (readout, view, file, config)) { 113 113 psError(PS_ERR_IO, false, "Failed to write objects from readout %d", view->readout); 114 114 return false; … … 119 119 120 120 // read in all chip-level Objects files for this FPA 121 bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file )121 bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 122 122 { 123 123 … … 125 125 126 126 pmChip *chip = fpa->chips->data[i]; 127 if (!pmChipWriteObjects (chip, view, file )) {127 if (!pmChipWriteObjects (chip, view, file, config)) { 128 128 psError(PS_ERR_IO, false, "Failed to write %dth chip", i); 129 129 return false; … … 134 134 135 135 // read in all cell-level Objects files for this chip 136 bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file )136 bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 137 137 { 138 138 … … 140 140 141 141 pmCell *cell = chip->cells->data[i]; 142 if (!pmCellWriteObjects (cell, view, file )) {142 if (!pmCellWriteObjects (cell, view, file, config)) { 143 143 psError(PS_ERR_IO, false, "Failed to write %dth cell", i); 144 144 return false; … … 149 149 150 150 // read in all readout-level Objects files for this cell 151 bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file )151 bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 152 152 { 153 153 … … 155 155 156 156 pmReadout *readout = cell->readouts->data[i]; 157 if (!pmReadoutWriteObjects (readout, view, file )) {157 if (!pmReadoutWriteObjects (readout, view, file, config)) { 158 158 psError(PS_ERR_IO, false, "Failed to write %dth readout", i); 159 159 return false; … … 164 164 165 165 // read in all readout-level Objects files for this cell 166 bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file )166 bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 167 167 { 168 168 169 169 bool status; 170 char *realname; 170 171 char *filename; 171 172 char *dataname; … … 183 184 case PM_FPA_FILE_RAW: 184 185 filename = pmFPAfileNameFromRule (file->filerule, file, view); 185 pmSourcesWriteRAW (sources, filename); 186 realname = pmConfigConvertFilename (filename, config); 187 pmSourcesWriteRAW (sources, realname); 188 psFree (realname); 186 189 psFree (filename); 187 190 break; … … 189 192 case PM_FPA_FILE_OBJ: 190 193 filename = pmFPAfileNameFromRule (file->filerule, file, view); 191 pmSourcesWriteOBJ (sources, filename); 194 realname = pmConfigConvertFilename (filename, config); 195 pmSourcesWriteOBJ (sources, realname); 196 psFree (realname); 192 197 psFree (filename); 193 198 break; … … 195 200 case PM_FPA_FILE_SX: 196 201 filename = pmFPAfileNameFromRule (file->filerule, file, view); 197 pmSourcesWriteSX (sources, filename); 202 realname = pmConfigConvertFilename (filename, config); 203 pmSourcesWriteSX (sources, realname); 204 psFree (realname); 198 205 psFree (filename); 199 206 break; … … 203 210 hdu = pmFPAviewThisHDU (view, file->fpa); 204 211 filename = pmFPAfileNameFromRule (file->filerule, file, view); 212 realname = pmConfigConvertFilename (filename, config); 205 213 206 214 // copy the header to an output header, add the output header data … … 219 227 } 220 228 221 bool status = pmSourcesWriteCMP (sources, filename, outhead);229 bool status = pmSourcesWriteCMP (sources, realname, outhead); 222 230 psFree (outhead); 231 psFree (realname); 223 232 psFree (filename); 224 233 … … 310 319 311 320 // Given a FITS file pointer, read the table of object data 312 bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file )321 bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config) 313 322 { 314 323 pmFPA *fpa = file->fpa; 315 324 316 325 if (view->chip == -1) { 317 pmFPAReadObjects (fpa, view, file );326 pmFPAReadObjects (fpa, view, file, config); 318 327 return true; 319 328 } … … 325 334 326 335 if (view->cell == -1) { 327 pmChipReadObjects (chip, view, file );336 pmChipReadObjects (chip, view, file, config); 328 337 return true; 329 338 } … … 335 344 336 345 if (view->readout == -1) { 337 pmCellReadObjects (cell, view, file );346 pmCellReadObjects (cell, view, file, config); 338 347 return true; 339 348 } … … 344 353 pmReadout *readout = cell->readouts->data[view->readout]; 345 354 346 pmReadoutReadObjects (readout, view, file );355 pmReadoutReadObjects (readout, view, file, config); 347 356 return true; 348 357 } 349 358 350 359 // read in all chip-level Objects files for this FPA 351 bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file )360 bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 352 361 { 353 362 for (int i = 0; i < fpa->chips->n; i++) { 354 363 pmChip *chip = fpa->chips->data[i]; 355 pmChipReadObjects (chip, view, file );364 pmChipReadObjects (chip, view, file, config); 356 365 } 357 366 return true; … … 359 368 360 369 // read in all cell-level Objects files for this chip 361 bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file )370 bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 362 371 { 363 372 for (int i = 0; i < chip->cells->n; i++) { 364 373 pmCell *cell = chip->cells->data[i]; 365 pmCellReadObjects (cell, view, file );374 pmCellReadObjects (cell, view, file, config); 366 375 } 367 376 return true; … … 369 378 370 379 // read in all readout-level Objects files for this cell 371 bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file )380 bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 372 381 { 373 382 // determine the number of readouts: … … 384 393 for (int i = 0; i < cell->readouts->n; i++) { 385 394 pmReadout *readout = cell->readouts->data[i]; 386 pmReadoutReadObjects (readout, view, file );395 pmReadoutReadObjects (readout, view, file, config); 387 396 cell->data_exists = true; 388 397 } … … 391 400 392 401 // read in all readout-level Objects files for this cell 393 bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file )402 bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config) 394 403 { 395 404 … … 427 436 psMemIncrRefCounter (file->filename); 428 437 } 429 file->fits = psFitsOpen (file->filename, "r"); 438 439 psString realname = pmConfigConvertFilename (file->filename, config); 440 441 file->fits = psFitsOpen (realname, "r"); 430 442 if (hdu->header != NULL) { 431 443 psFree (hdu->header); … … 435 447 file->fits = NULL; 436 448 437 sources = pmSourcesReadCMP (file->filename, hdu->header); 449 sources = pmSourcesReadCMP (realname, hdu->header); 450 psFree (realname); 438 451 break; 439 452
Note:
See TracChangeset
for help on using the changeset viewer.
