Changeset 21366 for trunk/ppStack/src/ppStackCamera.c
- Timestamp:
- Feb 5, 2009, 5:03:33 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackCamera.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackCamera.c
r20995 r21366 71 71 bool ppStackCamera(pmConfig *config) 72 72 { 73 bool have Weights = false; // Do we have weightmaps?73 bool haveVariances = false; // Do we have variance maps? 74 74 bool havePSFs = false; // Do we have PSFs? 75 75 … … 97 97 bool mdok; 98 98 psString mask = psMetadataLookupStr(&mdok, input, "MASK"); // Name of mask 99 psString weight = psMetadataLookupStr(&mdok, input, "WEIGHT"); // Name of weightmap99 psString variance = psMetadataLookupStr(&mdok, input, "VARIANCE"); // Name of variance map 100 100 psString psf = psMetadataLookupStr(&mdok, input, "PSF"); // Name of PSF 101 101 psString sources = psMetadataLookupStr(&mdok, input, "SOURCES"); // Name of sources … … 140 140 } 141 141 142 // Optionally add the weightfile143 if ( weight && strlen(weight) > 0) {144 have Weights = true;145 psArray * weightFiles = psArrayAlloc(1); // Array of filenames for this FPA146 weightFiles->data[0] = psMemIncrRefCounter(weight);147 psMetadataAddArray(config->arguments, PS_LIST_TAIL, " WEIGHT.FILENAMES", PS_META_REPLACE,148 "Filenames of weight files", weightFiles);149 psFree( weightFiles);142 // Optionally add the variance file 143 if (variance && strlen(variance) > 0) { 144 haveVariances = true; 145 psArray *varianceFiles = psArrayAlloc(1); // Array of filenames for this FPA 146 varianceFiles->data[0] = psMemIncrRefCounter(variance); 147 psMetadataAddArray(config->arguments, PS_LIST_TAIL, "VARIANCE.FILENAMES", PS_META_REPLACE, 148 "Filenames of variance files", varianceFiles); 149 psFree(varianceFiles); 150 150 151 151 bool status; 152 pmFPAfile * weightFile = pmFPAfileBindFromArgs(&status, imageFile, config, "PPSTACK.INPUT.WEIGHT",153 "WEIGHT.FILENAMES");152 pmFPAfile *varianceFile = pmFPAfileBindFromArgs(&status, imageFile, config, 153 "PPSTACK.INPUT.VARIANCE", "VARIANCE.FILENAMES"); 154 154 if (!status) { 155 psError(PS_ERR_UNKNOWN, false, "Unable to define file from weight %d (%s)", i, weight);156 return false; 157 } 158 if ( weightFile->type != PM_FPA_FILE_WEIGHT) {159 psError(PS_ERR_IO, true, "PPSTACK.INPUT. WEIGHT is not of type WEIGHT");155 psError(PS_ERR_UNKNOWN, false, "Unable to define file from variance %d (%s)", i, variance); 156 return false; 157 } 158 if (varianceFile->type != PM_FPA_FILE_VARIANCE) { 159 psError(PS_ERR_IO, true, "PPSTACK.INPUT.VARIANCE is not of type VARIANCE"); 160 160 return false; 161 161 } … … 217 217 #if 0 218 218 // Output convolved files 219 pmFPAfile *outconvImage = defineOutputConvolved("PPSTACK.OUTCONV", imageFile->fpa, config, 219 pmFPAfile *outconvImage = defineOutputConvolved("PPSTACK.OUTCONV", imageFile->fpa, config, 220 PM_FPA_FILE_IMAGE); 221 pmFPAfile *outconvMask = defineOutputConvolved("PPSTACK.OUTCONV.MASK", imageFile->fpa, config, 222 PM_FPA_FILE_MASK); 223 pmFPAfile *outconvVariance = defineOutputConvolved("PPSTACK.OUTCONV.VARIANCE", imageFile->fpa, config, 224 PM_FPA_FILE_VARIANCE); 225 if (!outconvImage || !outconvMask || !outconvVariance) { 226 return false; 227 } 228 229 // Input convolved files 230 pmFPAfile *inconvImage = defineInputConvolved("PPSTACK.INCONV", outconvImage, config, 220 231 PM_FPA_FILE_IMAGE); 221 pmFPAfile * outconvMask = defineOutputConvolved("PPSTACK.OUTCONV.MASK", imageFile->fpa, config,232 pmFPAfile *inconvMask = defineInputConvolved("PPSTACK.INCONV.MASK", outconvMask, config, 222 233 PM_FPA_FILE_MASK); 223 pmFPAfile *outconvWeight = defineOutputConvolved("PPSTACK.OUTCONV.WEIGHT", imageFile->fpa, config, 224 PM_FPA_FILE_WEIGHT); 225 if (!outconvImage || !outconvMask || !outconvWeight) { 226 return false; 227 } 228 229 // Input convolved files 230 pmFPAfile *inconvImage = defineInputConvolved("PPSTACK.INCONV", outconvImage, config, 231 PM_FPA_FILE_IMAGE); 232 pmFPAfile *inconvMask = defineInputConvolved("PPSTACK.INCONV.MASK", outconvMask, config, 233 PM_FPA_FILE_MASK); 234 pmFPAfile *inconvWeight = defineInputConvolved("PPSTACK.INCONV.WEIGHT", outconvWeight, config, 235 PM_FPA_FILE_WEIGHT); 236 if (!inconvImage || !inconvMask || !inconvWeight) { 234 pmFPAfile *inconvVariance = defineInputConvolved("PPSTACK.INCONV.VARIANCE", outconvVariance, config, 235 PM_FPA_FILE_VARIANCE); 236 if (!inconvImage || !inconvMask || !inconvVariance) { 237 237 return false; 238 238 } … … 246 246 psMetadataRemoveKey(config->arguments, "MASK.FILENAMES"); 247 247 } 248 if (psMetadataLookup(config->arguments, " WEIGHT.FILENAMES")) {249 psMetadataRemoveKey(config->arguments, " WEIGHT.FILENAMES");248 if (psMetadataLookup(config->arguments, "VARIANCE.FILENAMES")) { 249 psMetadataRemoveKey(config->arguments, "VARIANCE.FILENAMES"); 250 250 } 251 251 if (psMetadataLookup(config->arguments, "PSF.FILENAMES")) { … … 295 295 outMask->save = true; 296 296 297 // Output weight298 if (have Weights) {299 pmFPAfile *out Weight = pmFPAfileDefineOutput(config, output->fpa, "PPSTACK.OUTPUT.WEIGHT");300 if (!out Weight) {301 psError(PS_ERR_IO, false, _("Unable to generate output file from PPSTACK.OUTPUT. WEIGHT"));302 return false; 303 } 304 if (out Weight->type != PM_FPA_FILE_WEIGHT) {305 psError(PS_ERR_IO, true, "PPSTACK.OUTPUT. WEIGHT is not of type WEIGHT");306 return false; 307 } 308 out Weight->save = true;297 // Output variance 298 if (haveVariances) { 299 pmFPAfile *outVariance = pmFPAfileDefineOutput(config, output->fpa, "PPSTACK.OUTPUT.VARIANCE"); 300 if (!outVariance) { 301 psError(PS_ERR_IO, false, _("Unable to generate output file from PPSTACK.OUTPUT.VARIANCE")); 302 return false; 303 } 304 if (outVariance->type != PM_FPA_FILE_VARIANCE) { 305 psError(PS_ERR_IO, true, "PPSTACK.OUTPUT.VARIANCE is not of type VARIANCE"); 306 return false; 307 } 308 outVariance->save = true; 309 309 } 310 310
Note:
See TracChangeset
for help on using the changeset viewer.
