Changeset 13901 for trunk/ppImage/src/ppImageParseCamera.c
- Timestamp:
- Jun 19, 2007, 4:49:08 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ppImage/src/ppImageParseCamera.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppImage/src/ppImageParseCamera.c
r13844 r13901 24 24 pmFPAfile *inputMask = pmFPAfileBindFromArgs(&status, input, config, "PPIMAGE.INPUT.MASK", "INPUT.MASK"); 25 25 if (!status) { 26 psError (PS_ERR_UNKNOWN, false, "failed to load find definition");27 return NULL;26 psError (PS_ERR_UNKNOWN, false, "failed to load find definition"); 27 return NULL; 28 28 } 29 29 if (inputMask && inputMask->type != PM_FPA_FILE_MASK) { … … 34 34 pmFPAfile *inputWeight = pmFPAfileBindFromArgs(&status, input, config, "PPIMAGE.INPUT.WEIGHT", "INPUT.WEIGHT"); 35 35 if (!status) { 36 psError (PS_ERR_UNKNOWN, false, "failed to load find definition");37 return NULL;36 psError (PS_ERR_UNKNOWN, false, "failed to load find definition"); 37 return NULL; 38 38 } 39 39 if (inputWeight && inputWeight->type != PM_FPA_FILE_WEIGHT) { … … 52 52 // not all input or output images are used in a given recipe 53 53 if (options->doBias) { 54 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.BIAS", "BIAS", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_BIAS)) {55 psError (PS_ERR_IO, false, "Can't find a bias image source");56 psFree (options);57 return NULL;58 }54 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.BIAS", "BIAS", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_BIAS)) { 55 psError (PS_ERR_IO, false, "Can't find a bias image source"); 56 psFree (options); 57 return NULL; 58 } 59 59 } 60 60 if (options->doDark) { 61 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.DARK", "DARK", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_DARK)) {62 psError (PS_ERR_IO, false, "Can't find a dark image source");63 psFree (options);64 return NULL;65 }61 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.DARK", "DARK", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_DARK)) { 62 psError (PS_ERR_IO, false, "Can't find a dark image source"); 63 psFree (options); 64 return NULL; 65 } 66 66 } 67 67 if (options->doMask) { 68 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.MASK", "MASK", PM_FPA_FILE_MASK, PM_DETREND_TYPE_MASK)) {69 psError (PS_ERR_IO, false, "Can't find a mask image source");70 psFree (options);71 return NULL;72 }68 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.MASK", "MASK", PM_FPA_FILE_MASK, PM_DETREND_TYPE_MASK)) { 69 psError (PS_ERR_IO, false, "Can't find a mask image source"); 70 psFree (options); 71 return NULL; 72 } 73 73 } 74 74 if (options->doShutter) { 75 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.SHUTTER", "SHUTTER", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_SHUTTER)) {76 psError (PS_ERR_IO, false, "Can't find a flat image source");77 psFree (options);78 return NULL;79 }75 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.SHUTTER", "SHUTTER", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_SHUTTER)) { 76 psError (PS_ERR_IO, false, "Can't find a flat image source"); 77 psFree (options); 78 return NULL; 79 } 80 80 } 81 81 82 82 if (options->doFlat) { 83 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.FLAT", "FLAT", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_FLAT)) {84 psError (PS_ERR_IO, false, "Can't find a shutter image source");85 psFree (options);86 return NULL;87 }83 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.FLAT", "FLAT", PM_FPA_FILE_IMAGE, PM_DETREND_TYPE_FLAT)) { 84 psError (PS_ERR_IO, false, "Can't find a shutter image source"); 85 psFree (options); 86 return NULL; 87 } 88 88 } 89 89 … … 136 136 skip_fringe: 137 137 if (options->doFringe) { 138 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.FRINGE", "FRINGE", PM_FPA_FILE_FRINGE, PM_DETREND_TYPE_FRINGE)) {139 psError (PS_ERR_IO, false, "Can't find a fringe image source");140 return NULL;141 }138 if (!ppImageDefineFile (config, input->fpa, "PPIMAGE.FRINGE", "FRINGE", PM_FPA_FILE_FRINGE, PM_DETREND_TYPE_FRINGE)) { 139 psError (PS_ERR_IO, false, "Can't find a fringe image source"); 140 return NULL; 141 } 142 142 } 143 143 … … 178 178 179 179 // XXX should these be bound explicitly to the output->fpa rather than the input->fpa? 180 pmFPAfile *byChip = pmFPAfileDefineChipMosaic(config, input->fpa, "PPIMAGE.OUTPUT.CHIP"); 181 if (!byChip) { 182 psError(PS_ERR_IO, false, _("Unable to generate new file from PPIMAGE.OUTPUT.CHIP")); 183 psFree(options); 184 return NULL; 185 } 186 if (byChip->type != PM_FPA_FILE_IMAGE) { 187 psError(PS_ERR_IO, true, "PPIMAGE.OUTPUT.CHIP is not of type IMAGE"); 188 psFree(options); 189 return NULL; 190 } 180 pmFPAfile *chipImage = pmFPAfileDefineChipMosaic(config, input->fpa, "PPIMAGE.CHIP"); 181 if (!chipImage) { 182 psError(PS_ERR_IO, false, _("Unable to generate new file from PPIMAGE.CHIP")); 183 psFree(options); 184 return NULL; 185 } 186 if (chipImage->type != PM_FPA_FILE_IMAGE) { 187 psError(PS_ERR_IO, true, "PPIMAGE.CHIP is not of type IMAGE"); 188 psFree(options); 189 return NULL; 190 } 191 pmFPAfile *chipMask = pmFPAfileDefineOutput(config, chipImage->fpa, "PPIMAGE.CHIP.MASK"); 192 if (!chipMask) { 193 psError(PS_ERR_IO, false, _("Unable to generate output file from PPIMAGE.CHIP.MASK")); 194 psFree(options); 195 return NULL; 196 } 197 if (chipMask->type != PM_FPA_FILE_MASK) { 198 psError(PS_ERR_IO, true, "PPIMAGE.CHIP.MASK is not of type MASK"); 199 psFree(options); 200 return NULL; 201 } 202 pmFPAfile *chipWeight = pmFPAfileDefineOutput(config, chipImage->fpa, "PPIMAGE.CHIP.WEIGHT"); 203 if (!chipWeight) { 204 psError(PS_ERR_IO, false, _("Unable to generate output file from PPIMAGE.CHIP.WEIGHT")); 205 psFree(options); 206 return NULL; 207 } 208 if (chipWeight->type != PM_FPA_FILE_WEIGHT) { 209 psError(PS_ERR_IO, true, "PPIMAGE.CHIP.WEIGHT is not of type WEIGHT"); 210 psFree(options); 211 return NULL; 212 } 213 191 214 pmFPAfile *byFPA1 = pmFPAfileDefineFPAMosaic(config, input->fpa, "PPIMAGE.OUTPUT.FPA1"); 192 215 if (!byFPA1) { … … 215 238 // we create a copy of the mosaicked image for psphot so we can write out a clean image 216 239 if (options->doPhotom) { 217 pmFPAfile *psphotInput = pmFPAfileDefineFromFPA (config, byChip->fpa, 1, 1, "PSPHOT.INPUT");240 pmFPAfile *psphotInput = pmFPAfileDefineFromFPA (config, chipImage->fpa, 1, 1, "PSPHOT.INPUT"); 218 241 PS_ASSERT (psphotInput, false); 219 242 … … 251 274 252 275 // save any of these files? 253 output->save = o ptions->BaseFITS;254 byChip->save = options->ChipFITS;276 output->save = outMask->save = outWeight->save = options->BaseFITS; 277 chipImage->save = chipMask->save = chipWeight->save = options->ChipFITS; 255 278 byFPA1->save = options->FPA1FITS; 256 279 byFPA2->save = options->FPA2FITS; 257 280 258 // output is used as a carrier: input to byChip-> require the data to remain at the CHIP level281 // output is used as a carrier: input to chipImage -> require the data to remain at the CHIP level 259 282 output->freeLevel = PS_MIN (output->freeLevel, PM_FPA_LEVEL_CHIP); 260 283 output->dataLevel = output->freeLevel; … … 267 290 outWeight->dataLevel = output->dataLevel; 268 291 292 // Ditto for the chip-mosaicked version 293 chipMask->freeLevel = chipImage->freeLevel; 294 chipWeight->freeLevel = chipImage->freeLevel; 295 chipMask->dataLevel = chipImage->dataLevel; 296 chipWeight->dataLevel = chipImage->dataLevel; 297 269 298 // the input data is the same as the output data : force the free levels to match 270 299 input->freeLevel = PS_MIN (output->freeLevel, input->freeLevel); 271 300 272 301 // define the binned target files (which may just be carriers for some camera configurations) 273 pmFPAfile *bin1 = pmFPAfileDefineFromFPA (config, byChip->fpa, options->xBin1, options->yBin1, "PPIMAGE.BIN1");302 pmFPAfile *bin1 = pmFPAfileDefineFromFPA (config, chipImage->fpa, options->xBin1, options->yBin1, "PPIMAGE.BIN1"); 274 303 if (!bin1) { 275 304 psError(PS_ERR_IO, false, _("Unable to generate new file from PPIMAGE.BIN1")); … … 283 312 } 284 313 285 pmFPAfile *bin2 = pmFPAfileDefineFromFPA (config, byChip->fpa, options->xBin2, options->yBin2, "PPIMAGE.BIN2");314 pmFPAfile *bin2 = pmFPAfileDefineFromFPA (config, chipImage->fpa, options->xBin2, options->yBin2, "PPIMAGE.BIN2"); 286 315 if (!bin2) { 287 316 psError(PS_ERR_IO, false, _("Unable to generate new file from PPIMAGE.BIN2")); … … 354 383 outMask->save = false; 355 384 outWeight->save = false; 385 chipMask->save = false; 386 chipWeight->save = false; 356 387 } 357 388
Note:
See TracChangeset
for help on using the changeset viewer.
