Changeset 7710
- Timestamp:
- Jun 27, 2006, 2:50:53 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/camera/pmFPAfileIO.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/camera/pmFPAfileIO.c
r7632 r7710 112 112 // this is never true for the output images, which are constructed later 113 113 114 if (file->mode != PM_FPA_MODE_READ) { 115 break; 116 } 117 118 pmChip *chip; 119 pmCell *cell; 120 bool addSource = false; 121 switch (file->fileLevel) { 122 case PM_FPA_LEVEL_FPA: 123 addSource = !file->fpa->hdu; 124 break; 125 case PM_FPA_LEVEL_CHIP: 126 chip = pmFPAviewThisChip(view, file->fpa); 127 if (!chip) { 128 psError (PS_ERR_IO, true, "inconsistent file/fpa: fileLevel is CHIP, view is FPA"); 129 return false; 130 } 131 addSource = !chip->hdu; 132 break; 133 case PM_FPA_LEVEL_CELL: 134 cell = pmFPAviewThisCell(view, file->fpa); 135 if (!cell) { 136 psError (PS_ERR_IO, true, "inconsistent file/fpa: fileLevel is CELL, view is FPA"); 137 return false; 138 } 139 addSource = !cell->hdu; 140 break; 141 default: 142 psAbort ("pmFPAfileIO", "fileLevel not correctly set"); 143 break; 144 } 145 146 if (addSource) { 147 psMetadata *phu = psFitsReadHeader (NULL, file->fits); 148 if (!file->format) { 149 file->format = pmConfigCameraFormatFromHeader (config, phu); 114 if (file->mode == PM_FPA_MODE_READ) { 115 pmChip *chip; 116 pmCell *cell; 117 bool addSource = false; 118 switch (file->fileLevel) { 119 case PM_FPA_LEVEL_FPA: 120 addSource = !file->fpa->hdu; 121 break; 122 case PM_FPA_LEVEL_CHIP: 123 chip = pmFPAviewThisChip(view, file->fpa); 124 if (!chip) { 125 psError (PS_ERR_IO, true, "inconsistent file/fpa: fileLevel is CHIP, view is FPA"); 126 return false; 127 } 128 addSource = !chip->hdu; 129 break; 130 case PM_FPA_LEVEL_CELL: 131 cell = pmFPAviewThisCell(view, file->fpa); 132 if (!cell) { 133 psError (PS_ERR_IO, true, "inconsistent file/fpa: fileLevel is CELL, view is FPA"); 134 return false; 135 } 136 addSource = !cell->hdu; 137 break; 138 default: 139 psAbort ("pmFPAfileIO", "fileLevel not correctly set"); 140 break; 141 } 142 143 if (addSource) { 144 psMetadata *phu = psFitsReadHeader (NULL, file->fits); 150 145 if (!file->format) { 151 psError(PS_ERR_IO, false, "Failed to read CCD format from %s\n", file->filename); 152 psFree(phu); 153 return NULL; 146 file->format = pmConfigCameraFormatFromHeader (config, phu); 147 if (!file->format) { 148 psError(PS_ERR_IO, false, "Failed to read CCD format from %s\n", file->filename); 149 psFree(phu); 150 return NULL; 151 } 152 } else { 153 pmConfigValidateCameraFormat (file->format, phu); 154 154 } 155 } else { 156 pmConfigValidateCameraFormat (file->format, phu); 157 } 158 pmFPAview *thisView = pmFPAAddSourceFromHeader (file->fpa, phu, file->format); 159 psFree (thisView); 160 psFree (phu); 161 // XXX we can check the output view to be sure it corresponds to our current view 155 pmFPAview *thisView = pmFPAAddSourceFromHeader (file->fpa, phu, file->format); 156 psFree (thisView); 157 psFree (phu); 158 // XXX we can check the output view to be sure it corresponds to our current view 159 } 160 } 161 if (file->mode == PM_FPA_MODE_WRITE) { 162 pmChip *chip; 163 pmCell *cell; 164 switch (file->fileLevel) { 165 case PM_FPA_LEVEL_FPA: 166 pmFPAWrite (file->fpa, file->fits, NULL, false, false); 167 break; 168 case PM_FPA_LEVEL_CHIP: 169 chip = pmFPAviewThisChip(view, file->fpa); 170 pmChipWrite (chip, file->fits, NULL, false, false); 171 break; 172 case PM_FPA_LEVEL_CELL: 173 cell = pmFPAviewThisCell(view, file->fpa); 174 pmCellWrite (cell, file->fits, NULL, false, false); 175 break; 176 default: 177 psAbort ("pmFPAfileIO", "fileLevel not correctly set"); 178 break; 179 } 162 180 } 163 181 break; … … 410 428 case PM_FPA_FILE_IMAGE: 411 429 412 / * create a PHU for thie file, if it does not exist */413 pmFPA fileCopyStructureView (file->fpa, file->src, file->format, file->xBin, file->yBin, view);414 //psTrace ("pmFPAfile", 5, "created fpa data elements for %s (fpa: %p)\n", file->name, file->fpa);430 // create FPA structure component based on view 431 pmFPAAddSourceFromView (file->fpa, view, file->format); 432 psTrace ("pmFPAfile", 5, "created fpa data elements for %s (fpa: %p)\n", file->name, file->fpa); 415 433 break; 416 434
Note:
See TracChangeset
for help on using the changeset viewer.
