Changeset 15844 for trunk/ppStack/src/ppStackCamera.c
- Timestamp:
- Dec 14, 2007, 3:32:16 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackCamera.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackCamera.c
r14834 r15844 14 14 { 15 15 bool haveWeights = false; // Do we have weight maps? 16 bool havePSFs = false; // Do we have PSFs? 16 17 17 18 psMetadata *inputs = psMetadataLookupMetadata(NULL, config->arguments, "INPUTS"); // The inputs info … … 39 40 psString mask = psMetadataLookupStr(&mdok, input, "MASK"); // Name of mask 40 41 psString weight = psMetadataLookupStr(&mdok, input, "WEIGHT"); // Name of weight map 42 psString psf = psMetadataLookupStr(&mdok, input, "PSF"); // Name of PSF 41 43 42 44 float weighting = psMetadataLookupF32(&mdok, input, "WEIGHTING"); // Relative weighting … … 115 117 } 116 118 119 // Optionally add the psf file 120 if (psf && strlen(psf) > 0) { 121 havePSFs = true; 122 psArray *psfFiles = psArrayAlloc(1); // Array of filenames for this FPA 123 psfFiles->data[0] = psMemIncrRefCounter(psf); 124 psMetadataAddArray(config->arguments, PS_LIST_TAIL, "PSF.FILENAMES", PS_META_REPLACE, 125 "Filenames of PSF files", psfFiles); 126 psFree(psfFiles); 127 128 bool status; 129 pmFPAfile *psfFile = pmFPAfileBindFromArgs(&status, imageFile, config, "PSPHOT.PSF.LOAD", 130 "PSF.FILENAMES"); 131 if (!status) { 132 psError(PS_ERR_UNKNOWN, false, "Unable to define file from psf %d (%s)", i, psf); 133 return false; 134 } 135 if (psfFile->type != PM_FPA_FILE_PSF) { 136 psError(PS_ERR_IO, true, "PSPHOT.PSF.LOAD is not of type PSF"); 137 return false; 138 } 139 } 140 117 141 psMetadataAddF32(imageFile->fpa->analysis, PS_LIST_TAIL, "PPSTACK.WEIGHTING", 0, 118 142 "Relative weighting for image", weighting); … … 129 153 if (psMetadataLookup(config->arguments, "WEIGHT.FILENAMES")) { 130 154 psMetadataRemoveKey(config->arguments, "WEIGHT.FILENAMES"); 155 } 156 if (psMetadataLookup(config->arguments, "PSF.FILENAMES")) { 157 psMetadataRemoveKey(config->arguments, "PSF.FILENAMES"); 131 158 } 132 159 … … 214 241 } 215 242 243 // Output PSF 244 if (havePSFs) { 245 pmFPAfile *outPSF = pmFPAfileDefineOutput(config, output->fpa, "PSPHOT.PSF.SAVE"); 246 if (!outPSF) { 247 psError(PS_ERR_IO, false, _("Unable to generate output file from PSPHOT.PSF.SAVE")); 248 return false; 249 } 250 if (outPSF->type != PM_FPA_FILE_PSF) { 251 psError(PS_ERR_IO, true, "PSPHOT.PSF.SAVE is not of type PSF"); 252 return false; 253 } 254 outPSF->save = true; 255 } 256 216 257 // Sources for use as stamps 217 258 bool status = false; // Found the file?
Note:
See TracChangeset
for help on using the changeset viewer.
