- Timestamp:
- Mar 8, 2006, 5:14:23 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/rel10_ifa/psModules/src/objects/pmFPAviewWriteObjects.c
r6545 r6556 1 # include "pmFPAviewWriteObjects.h" 1 /** @file pmSourcePhotometry.c 2 * 3 * @author EAM, IfA; GLG, MHPCC 4 * 5 * @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-09 03:14:23 $ 7 * 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 9 * 10 */ 11 12 #include <stdio.h> 13 #include <math.h> 14 #include <string.h> 15 #include "pslib.h" 16 #include "pmHDU.h" 17 #include "pmFPA.h" 18 #include "pmFPAview.h" 19 #include "pmFPAfile.h" 20 21 #include "pmPeaks.h" 22 #include "pmMoments.h" 23 #include "pmModel.h" 24 #include "pmSource.h" 25 26 #include "pmSourceIO.h" 27 #include "pmFPAviewObjectsIO.h" 2 28 3 29 // Given a FITS file pointer, read the table of object data … … 42 68 43 69 // read in all chip-level Objects files for this FPA 44 pmFPAWriteObjects (pmFPA *fpa, pmFPAview *view, pmFPAfile *file)70 bool pmFPAWriteObjects (pmFPA *fpa, pmFPAview *view, pmFPAfile *file) 45 71 { 46 72 47 73 for (int i = 0; i < fpa->chips->n; i++) { 48 74 49 pmChip *chip = fpa-> data[i];75 pmChip *chip = fpa->chips->data[i]; 50 76 pmChipWriteObjects (chip, view, file); 51 77 } … … 54 80 55 81 // read in all cell-level Objects files for this chip 56 pmChipWriteObjects (pmChip *chip, pmFPAview *view, pmFPAfile *file)82 bool pmChipWriteObjects (pmChip *chip, pmFPAview *view, pmFPAfile *file) 57 83 { 58 84 59 85 for (int i = 0; i < chip->cells->n; i++) { 60 86 61 pmCell *cell = chip-> data[i];87 pmCell *cell = chip->cells->data[i]; 62 88 pmCellWriteObjects (cell, view, file); 63 89 } … … 66 92 67 93 // read in all readout-level Objects files for this cell 68 pmCellWriteObjects (pmCell *cell, pmFPAview *view, pmFPAfile *file)94 bool pmCellWriteObjects (pmCell *cell, pmFPAview *view, pmFPAfile *file) 69 95 { 70 96 71 97 for (int i = 0; i < cell->readouts->n; i++) { 72 98 73 pmReadout *readout = cell-> data[i];99 pmReadout *readout = cell->readouts->data[i]; 74 100 pmReadoutWriteObjects (readout, view, file); 75 101 } … … 78 104 79 105 // read in all readout-level Objects files for this cell 80 pmReadoutWriteObjects (pmReadout *readout, pmFPAview *view, pmFPAfile *file)106 bool pmReadoutWriteObjects (pmReadout *readout, pmFPAview *view, pmFPAfile *file) 81 107 { 108 109 bool status; 110 char *filename; 111 char *dataname; 112 char *headname; 113 pmHDU *hdu; 82 114 83 115 psArray *sources = psMetadataLookupPtr (&status, readout->analysis, "PSPHOT.SOURCES"); … … 85 117 switch (file->type) { 86 118 case PM_FPA_FILE_OBJ: 87 filename = pm ConfigNameFromRule (file->filerule, view);88 pmSourcesWriteOBJ ( filename, sources);119 filename = pmFPAviewNameFromRule (file->filerule, view); 120 pmSourcesWriteOBJ (sources, filename); 89 121 break; 90 122 91 123 case PM_FPA_FILE_SX: 92 filename = pm ConfigNameFromRule (file->filerule, view);93 pmSourcesWriteSX ( filename, sources);124 filename = pmFPAviewNameFromRule (file->filerule, view); 125 pmSourcesWriteSX (sources, filename); 94 126 break; 95 127 96 128 case PM_FPA_FILE_CMP: 97 129 // a SPLIT format : only one header and object table per file 98 pmHDU *hdu = pmFPAviewThisHDU (view);99 filename = pm ConfigNameFromRule (file->filerule, view);100 pmSourcesWriteCMP ( filename, sources, hdu->header);130 hdu = pmFPAviewThisHDU (view); 131 filename = pmFPAviewNameFromRule (file->filerule, view); 132 pmSourcesWriteCMP (sources, filename, hdu->header); 101 133 break; 102 134 103 135 case PM_FPA_FILE_CMF: 104 136 // write header, if not yet written? 105 pmHDU *hdu = pmFPAviewThisHDU (view);137 hdu = pmFPAviewThisHDU (view); 106 138 107 139 // XXX is this needed? is it automatically added? … … 111 143 if (hdu->header) { 112 144 psMetadataItem *mdi = NULL; 113 headname = pm ConfigNameFromRule (file->extxtra, view);145 headname = pmFPAviewNameFromRule (file->extxtra, view); 114 146 115 147 // set NAXIS to 0 (we don't write out the data array) … … 119 151 mdi->type = PS_DATA_S32; 120 152 121 psFitsWriteHeader (file->fits, hdu->header, headname); 153 if (strcasecmp (headname, "PHU")) { 154 psMetadataAdd (hdu->header, PS_LIST_HEAD, "EXTNAME", PS_DATA_STRING, "extension name", headname); 155 } 156 psFitsWriteHeader (hdu->header, file->fits); 122 157 } 123 dataname = pm ConfigNameFromRule (file->extrule, view);158 dataname = pmFPAviewNameFromRule (file->extrule, view); 124 159 pmSourcesWriteCMF (file->fits, sources, hdu->header, dataname); 160 break; 161 162 default: 163 fprintf (stderr, "warning: type mismatch\n"); 125 164 break; 126 165 }
Note:
See TracChangeset
for help on using the changeset viewer.
