Changeset 30118 for branches/czw_branch/20101203/ppSub
- Timestamp:
- Dec 20, 2010, 2:30:45 PM (16 years ago)
- Location:
- branches/czw_branch/20101203
- Files:
-
- 11 edited
- 3 copied
-
. (modified) (1 prop)
-
ppSub/doc/psphot.txt (copied) (copied from trunk/ppSub/doc/psphot.txt )
-
ppSub/src/Makefile.am (modified) (2 diffs)
-
ppSub/src/ppSub.h (modified) (2 diffs)
-
ppSub/src/ppSubArguments.c (modified) (1 diff)
-
ppSub/src/ppSubBackground.c (modified) (2 diffs)
-
ppSub/src/ppSubCamera.c (modified) (3 diffs)
-
ppSub/src/ppSubFlagNeighbors.c (modified) (1 diff)
-
ppSub/src/ppSubInputDetections.c (copied) (copied from trunk/ppSub/src/ppSubInputDetections.c )
-
ppSub/src/ppSubLoop.c (modified) (16 diffs)
-
ppSub/src/ppSubMakePSF.c (modified) (2 diffs)
-
ppSub/src/ppSubMatchPSFs.c (modified) (1 diff)
-
ppSub/src/ppSubReadoutForcedPhot.c (copied) (copied from trunk/ppSub/src/ppSubReadoutForcedPhot.c )
-
ppSub/src/ppSubReadoutPhotometry.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20101203
- Property svn:mergeinfo changed
-
branches/czw_branch/20101203/ppSub/src/Makefile.am
r29003 r30118 38 38 ppSubLoop.c \ 39 39 ppSubDefineOutput.c \ 40 ppSubInputDetections.c \ 40 41 ppSubExtras.c \ 41 42 ppSubFlagNeighbors.c \ … … 46 47 ppSubReadoutJpeg.c \ 47 48 ppSubReadoutPhotometry.c \ 49 ppSubReadoutForcedPhot.c \ 48 50 ppSubReadoutStats.c \ 49 51 ppSubReadoutSubtract.c \ -
branches/czw_branch/20101203/ppSub/src/ppSub.h
r29003 r30118 45 45 bool photometry; // Perform photometry? 46 46 bool inverse; // Output inverse subtraction as well? 47 bool forcedPhot1; // perform forced photometry? 48 bool forcedPhot2; // perform forced photometry? 47 49 bool saveInConv; // Save convolved input? 48 50 bool saveRefConv; // Save convolved reference? … … 105 107 ppSubData *data ///< Processing data 106 108 ); 109 110 bool ppSubInputDetections (bool *foundDetections, const char *sourcesName, const char *imageName, ppSubData *data); 111 bool ppSubReadoutForcedPhot(const char *outputName, const char *targetName, const char *sourceName, ppSubData *data); 112 bool psphotCopyResults (bool *foundDetections, pmFPAfile *target, pmFPAfile *source, pmFPAview *view); 107 113 108 114 /// Higher-order background subtraction -
branches/czw_branch/20101203/ppSub/src/ppSubArguments.c
r27596 r30118 86 86 psMetadataAddS32(arguments, PS_LIST_TAIL, "-convolve", 0, "Image to convolve [1 or 2]", 0); 87 87 psMetadataAddBool(arguments, PS_LIST_TAIL, "-photometry", 0, "Perform photometry?", NULL); 88 psMetadataAddBool(arguments, PS_LIST_TAIL, "-forced-phot", 0, "Perform forced photometry?", NULL); 89 psMetadataAddBool(arguments, PS_LIST_TAIL, "-forced-input1", 0, "Perform forced photometry?", NULL); 90 psMetadataAddBool(arguments, PS_LIST_TAIL, "-forced-input2", 0, "Perform forced photometry?", NULL); 88 91 psMetadataAddF32(arguments, PS_LIST_TAIL, "-zp", 0, "Zero point for photometry", NAN); 89 92 psMetadataAddBool(arguments, PS_LIST_TAIL, "-inverse", 0, "Generate inverse subtractions?", false); -
branches/czw_branch/20101203/ppSub/src/ppSubBackground.c
r29003 r30118 37 37 pmFPAview *view = ppSubViewReadout(); // View to readout 38 38 pmReadout *outRO = pmFPAfileThisReadout(config->files, view, "PPSUB.OUTPUT"); // Output image 39 pmReadout *modelRO = pmFPAfileThisReadout(config->files, view, "PSPHOT.BACKMDL"); // Background model40 39 41 // Generate the background model, if required 40 // Generate the background model 41 if (!psphotModelBackground(config, view, "PPSUB.OUTPUT")) { 42 psError(psErrorCodeLast(), false, "Unable to model background"); 43 psFree(view); 44 return false; 45 } 46 47 // select the model readout (should now exist) 48 pmReadout *modelRO = pmFPAfileThisReadout(config->files, view, "PSPHOT.BACKMDL"); 42 49 if (!modelRO) { 43 // Create the background model 44 if (!psphotModelBackgroundReadoutFileIndex(config, view, "PPSUB.OUTPUT", 0)) { 45 psError(psErrorCodeLast(), false, "Unable to model background"); 46 psFree(view); 47 return false; 48 } 49 // select the model readout (should now exist) 50 modelRO = pmFPAfileThisReadout(config->files, view, "PSPHOT.BACKMDL"); 51 if (!modelRO) { 52 psError(psErrorCodeLast(), false, "Unable to find background model"); 53 psFree(view); 54 return false; 55 } 50 psError(psErrorCodeLast(), false, "Unable to find background model"); 51 psFree(view); 52 return false; 56 53 } 57 54 psFree(view); 58 55 59 psImageBinning *binning = psMetadataLookupPtr(&mdok, modelRO->analysis, 60 "PSPHOT.BACKGROUND.BINNING"); // Binning for model 56 psImageBinning *binning = psMetadataLookupPtr(&mdok, modelRO->analysis, "PSPHOT.BACKGROUND.BINNING"); // Binning for model 61 57 psImage *modelImage = modelRO->image; // Background model 62 58 psImage *image = outRO->image; // Image of interest … … 83 79 } 84 80 85 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL");86 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL.STDEV");87 88 81 return true; 89 82 } -
branches/czw_branch/20101203/ppSub/src/ppSubCamera.c
r27661 r30118 221 221 "Generate inverse subtractions?", true); 222 222 } 223 224 data->inverse = psMetadataLookupBool(NULL, recipe, "INVERSE"); 225 data->photometry = psMetadataLookupBool(NULL, recipe, "PHOTOMETRY"); 223 if (psMetadataLookupBool(NULL, config->arguments, "-forced-phot")) { 224 psMetadataAddBool(recipe, PS_LIST_TAIL, "FORCED.PHOTOMETRY.BOTH", PS_META_REPLACE, "Perform forced photometry?", true); 225 } 226 if (psMetadataLookupBool(NULL, config->arguments, "-forced-input1")) { 227 psMetadataAddBool(recipe, PS_LIST_TAIL, "FORCED.PHOTOMETRY.INPUT1", PS_META_REPLACE, "Perform forced photometry?", true); 228 } 229 if (psMetadataLookupBool(NULL, config->arguments, "-forced-input2")) { 230 psMetadataAddBool(recipe, PS_LIST_TAIL, "FORCED.PHOTOMETRY.INPUT2", PS_META_REPLACE, "Perform forced photometry?", true); 231 } 232 233 data->inverse = psMetadataLookupBool(NULL, recipe, "INVERSE"); 234 data->photometry = psMetadataLookupBool(NULL, recipe, "PHOTOMETRY"); 235 data->forcedPhot1 = psMetadataLookupBool(NULL, recipe, "FORCED.PHOTOMETRY.BOTH") || psMetadataLookupBool(NULL, recipe, "FORCED.PHOTOMETRY.INPUT1"); 236 data->forcedPhot2 = psMetadataLookupBool(NULL, recipe, "FORCED.PHOTOMETRY.BOTH") || psMetadataLookupBool(NULL, recipe, "FORCED.PHOTOMETRY.INPUT2"); 226 237 227 238 // Convolved input image … … 363 374 return false; 364 375 } 365 // specify the number of psphot input images366 psMetadataAddS32 (config->arguments, PS_LIST_TAIL, "PSPHOT.INPUT.NUM", PS_META_REPLACE, "number of inputs", 1);367 376 pmFPAfileActivate(config->files, false, "PSPHOT.INPUT"); 368 377 … … 405 414 invSources->save = true; 406 415 } 416 417 // files need to do the forced photometry on the positions of sources in the positive images 418 if (data->forcedPhot1) { 419 // this pmFPAfile is used to carry sources detected in the positive image #1 420 pmFPAfile *posSources1 = defineOutputFile(config, input, true, "PPSUB.POS1.SOURCES", PM_FPA_FILE_CMF); 421 if (!posSources1) { 422 psError(psErrorCodeLast(), false, "Unable to set up forced source file."); 423 return false; 424 } 425 posSources1->save = true; 426 427 // this pmFPAfile is used to carry sources detected in the diff image @ the positions from positive image #1 428 pmFPAfile *frcSources1 = defineOutputFile(config, input, true, "PPSUB.FORCED1.SOURCES", PM_FPA_FILE_CMF); 429 if (!frcSources1) { 430 psError(psErrorCodeLast(), false, "Unable to set up forced source file."); 431 return false; 432 } 433 frcSources1->save = true; 434 } 435 436 if (data->forcedPhot2) { 437 // this pmFPAfile is used to carry sources detected in the positive image #2 438 pmFPAfile *posSources2 = defineOutputFile(config, ref, true, "PPSUB.POS2.SOURCES", PM_FPA_FILE_CMF); 439 if (!posSources2) { 440 psError(psErrorCodeLast(), false, "Unable to set up forced source file."); 441 return false; 442 } 443 posSources2->save = true; 444 445 // this pmFPAfile is used to carry sources detected in the diff image @ the positions from positive image #2 446 pmFPAfile *frcSources2 = defineOutputFile(config, ref, true, "PPSUB.FORCED2.SOURCES", PM_FPA_FILE_CMF); 447 if (!frcSources2) { 448 psError(psErrorCodeLast(), false, "Unable to set up forced source file."); 449 return false; 450 } 451 frcSources2->save = true; 452 } 407 453 } 408 454 -
branches/czw_branch/20101203/ppSub/src/ppSubFlagNeighbors.c
r29003 r30118 235 235 src = sources->data[Imin]; 236 236 237 fprintf (stderr, "j: %d, Imin: %d, obj x,y: %f, %f src x,y: %f, %f, SN: %f, ID: %d\n", j, Imin, obj->x, obj->y, src->peak->xf, src->peak->yf, src->peak->SN, src->id);237 // fprintf (stderr, "j: %d, Imin: %d, obj x,y: %f, %f src x,y: %f, %f, SN: %f, ID: %d\n", j, Imin, obj->x, obj->y, src->peak->xf, src->peak->yf, src->peak->SN, src->id); 238 238 239 239 // add source to object -
branches/czw_branch/20101203/ppSub/src/ppSubLoop.c
r29003 r30118 36 36 psAssert(config, "Require configuration."); 37 37 38 bool success = true; 39 38 40 pmConfigCamerasCull(config, NULL); 39 41 pmConfigRecipesCull(config, "PPSUB,PPSTATS,PSPHOT,PSASTRO,MASKS,JPEG"); … … 57 59 } 58 60 61 if (data->forcedPhot1) { 62 bool foundDetections = false; 63 if (!ppSubInputDetections(&foundDetections, "PPSUB.POS1.SOURCES", "PPSUB.INPUT", data)) { 64 psError(psErrorCodeLast(), false, "Unable to measure positive detections (1)"); 65 success = false; 66 goto ESCAPE; 67 } 68 // if nothing was found, don't bother doing the forced photometry below 69 if (!foundDetections) { 70 psWarning ("no sources found in positive image 1, skipping forced photometry"); 71 data->forcedPhot1 = false; 72 } 73 } 74 if (data->forcedPhot2) { 75 // Change the recipe to use a higher nsigma limit and quit after pass1 76 psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSPHOT_RECIPE); 77 78 psF32 nsigma_peak_save = psMetadataLookupF32 (NULL, recipe, "PEAKS_NSIGMA_LIMIT"); 79 char *breakPt_save = psMetadataLookupStr (NULL, recipe, "BREAK_POINT"); 80 81 bool mdok; 82 psF32 pos2_nsigma_peak = psMetadataLookupF32 (&mdok, recipe, "PEAKS_POS2_NSIGMA_LIMIT"); 83 if (!mdok) { 84 psWarning("PEAKS_POS2_NSIGMA_LIMIT not found in recipe. Will use 25.\n"); 85 pos2_nsigma_peak = 25.; 86 } 87 psMetadataAddF32(recipe, PS_LIST_TAIL, "PEAKS_NSIGMA_LIMIT", PS_META_REPLACE, "", pos2_nsigma_peak); 88 psMetadataAddStr(recipe, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", "PASS1"); 89 90 bool foundDetections = false; 91 if (!ppSubInputDetections(&foundDetections, "PPSUB.POS2.SOURCES", "PPSUB.REF", data)) { 92 psError(psErrorCodeLast(), false, "Unable to measure positive detections (2)"); 93 psMetadataAddF32(recipe, PS_LIST_TAIL, "PEAKS_NSIGMA_LIMIT", PS_META_REPLACE, "", nsigma_peak_save); 94 psMetadataAddStr(recipe, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", breakPt_save); 95 success = false; 96 goto ESCAPE; 97 } 98 psMetadataAddF32(recipe, PS_LIST_TAIL, "PEAKS_NSIGMA_LIMIT", PS_META_REPLACE, "", nsigma_peak_save); 99 psMetadataAddStr(recipe, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", breakPt_save); 100 // if nothing was found, don't bother doing the forced photometry below 101 if (!foundDetections) { 102 psWarning ("no sources found in positive image 2, skipping forced photometry"); 103 data->forcedPhot2 = false; 104 } 105 } 106 107 // XXX if it exists, use the POS1, POS2 successs for the FWHMs 59 108 if (!ppSubMatchPSFs(data)) { 60 109 psError(psErrorCodeLast(), false, "Unable to match PSFs."); 61 return false; 110 success = false; 111 goto ESCAPE; 62 112 } 63 113 if (data->quality) { 64 114 // Can't do anything at all 65 return true; 115 success = false; 116 goto ESCAPE; 66 117 } 67 118 // generate the residual stamp grid for visualization 68 119 if (!ppSubResidualSampleJpeg(config)) { 69 120 psError(psErrorCodeLast(), false, "Unable to update."); 70 return false; 71 } 121 success = false; 122 goto ESCAPE; 123 } 124 125 // XXX add in a positive image detection step here (if needed) 126 72 127 73 128 psMetadataAddF32(data->stats, PS_LIST_TAIL, "TIME_MATCH", 0, "Time to match PSFs", … … 77 132 if (!ppSubFilesIterateUp(config, PPSUB_FILES_INPUT)) { 78 133 psError(PPSUB_ERR_IO, false, "Unable to close input files."); 79 return false; 134 success = false; 135 goto ESCAPE; 80 136 } 81 137 82 138 if (!ppSubLowThreshold(data)) { 83 139 psError(psErrorCodeLast(), false, "Unable to threshold images."); 84 return false; 140 success = false; 141 goto ESCAPE; 85 142 } 86 143 … … 88 145 if (!ppSubFilesIterateDown(config, PPSUB_FILES_SUB)) { 89 146 psError(PPSUB_ERR_IO, false, "Unable to set up subtraction files."); 90 return false; 147 success = false; 148 goto ESCAPE; 91 149 } 92 150 93 151 if (!ppSubDefineOutput("PPSUB.OUTPUT", config)) { 94 152 psError(psErrorCodeLast(), false, "Unable to define output."); 95 return false; 153 success = false; 154 goto ESCAPE; 96 155 } 97 156 98 157 if (!data->quality && !ppSubMakePSF(data)) { 99 158 psError(psErrorCodeLast(), false, "Unable to generate PSF."); 100 return false; 159 success = false; 160 goto ESCAPE; 101 161 } 102 162 … … 113 173 if (!ppSubReadoutSubtract(config)) { 114 174 psError(psErrorCodeLast(), false, "Unable to subtract images."); 115 return false; 175 success = false; 176 goto ESCAPE; 116 177 } 117 178 // dumpout(config, "diff.1.fits"); … … 120 181 if (!ppSubFilesIterateUp(config, PPSUB_FILES_PSF | PPSUB_FILES_CONV)) { 121 182 psError(PPSUB_ERR_IO, false, "Unable to close input files."); 122 return false; 183 success = false; 184 goto ESCAPE; 123 185 } 124 186 // dumpout(config, "diff.2a.fits"); … … 127 189 if (!ppSubBackground(config)) { 128 190 psError(psErrorCodeLast(), false, "Unable to subtract background."); 129 return false; 191 success = false; 192 goto ESCAPE; 130 193 } 131 194 // dumpout(config, "diff.2b.fits"); … … 134 197 if (!ppSubVarianceRescale(config, data)) { 135 198 psError(psErrorCodeLast(), false, "Unable to rescale variance."); 136 return false; 199 success = false; 200 goto ESCAPE; 137 201 } 138 202 // dumpout(config, "diff.2c.fits"); … … 140 204 if (data->quality) { 141 205 // Done all we can do up to this point 142 return true; 206 success = false; 207 goto ESCAPE; 143 208 } 144 209 145 210 if (!ppSubFilesIterateDown(config, PPSUB_FILES_PHOT_SUB)) { 146 211 psError(PPSUB_ERR_IO, false, "Unable to set up photometry files."); 147 return false; 212 success = false; 213 goto ESCAPE; 148 214 } 149 215 150 216 if (!data->quality && !ppSubReadoutPhotometry("PPSUB.OUTPUT", data)) { 151 217 psError(psErrorCodeLast(), false, "Unable to perform photometry."); 152 return false; 218 success = false; 219 goto ESCAPE; 153 220 } 154 221 // dumpout(config, "diff.3.fits"); 222 223 // forced photometry for positive image 1 224 if (data->forcedPhot1 && !data->quality) { 225 if (!ppSubReadoutForcedPhot("PPSUB.FORCED1.SOURCES", "PPSUB.OUTPUT", "PPSUB.POS1.SOURCES", data)) { 226 psError(psErrorCodeLast(), false, "Unable to perform photometry."); 227 success = false; 228 goto ESCAPE; 229 } 230 } 231 232 // forced photometry for positive image 2 233 if (data->forcedPhot2 && !data->quality) { 234 if (!ppSubReadoutForcedPhot("PPSUB.FORCED2.SOURCES", "PPSUB.OUTPUT", "PPSUB.POS2.SOURCES", data)) { 235 psError(psErrorCodeLast(), false, "Unable to perform photometry."); 236 success = false; 237 goto ESCAPE; 238 } 239 } 155 240 156 241 if (!ppSubFilesIterateUp(config, PPSUB_FILES_PHOT_SUB)) { 157 242 psError(PPSUB_ERR_IO, false, "Unable to set up photometry files."); 158 return false; 243 success = false; 244 goto ESCAPE; 159 245 } 160 246 … … 162 248 if (!ppSubReadoutStats(data)) { 163 249 psError(psErrorCodeLast(), false, "Unable to collect statistics"); 164 return false; 250 success = false; 251 goto ESCAPE; 165 252 } 166 253 // Do Mask Stats … … 169 256 if (!ppSubMaskStats(config, view,data->stats)) { 170 257 psError(psErrorCodeLast(), false, "Unable to generate mask statistics"); 171 return(false); 258 success = false; 259 goto ESCAPE; 172 260 } 173 261 } … … 177 265 if (!ppSubReadoutJpeg(config)) { 178 266 psError(psErrorCodeLast(), false, "Unable to update."); 179 return false; 267 success = false; 268 goto ESCAPE; 180 269 } 181 270 … … 184 273 if (!ppSubFilesIterateDown(config, PPSUB_FILES_INV)) { 185 274 psError(PPSUB_ERR_IO, false, "Unable to set up inverse files."); 186 return false; 275 success = false; 276 goto ESCAPE; 187 277 } 188 278 189 279 if (data->inverse && !ppSubDefineOutput("PPSUB.INVERSE", config)) { 190 280 psError(psErrorCodeLast(), false, "Unable to define inverse."); 191 return false; 281 success = false; 282 goto ESCAPE; 192 283 } 193 284 194 285 if (!ppSubReadoutInverse(config)) { 195 286 psError(psErrorCodeLast(), false, "Unable to invert images."); 196 return false; 287 success = false; 288 goto ESCAPE; 197 289 } 198 290 … … 200 292 if (!ppSubFilesIterateUp(config, PPSUB_FILES_SUB)) { 201 293 psError(PPSUB_ERR_IO, false, "Unable to close subtraction files."); 202 return false; 294 success = false; 295 goto ESCAPE; 203 296 } 204 297 205 298 if (!ppSubFilesIterateDown(config, PPSUB_FILES_PHOT_INV)) { 206 299 psError(PPSUB_ERR_IO, false, "Unable to set up inverse files."); 207 return false; 300 success = false; 301 goto ESCAPE; 208 302 } 209 303 210 304 if (!data->quality && !ppSubReadoutPhotometry("PPSUB.INVERSE", data)) { 211 305 psError(psErrorCodeLast(), false, "Unable to perform photometry."); 212 return false; 306 success = false; 307 goto ESCAPE; 213 308 } 214 309 … … 216 311 if (!ppSubFilesIterateUp(config, PPSUB_FILES_INV | PPSUB_FILES_PHOT_INV)) { 217 312 psError(PPSUB_ERR_IO, false, "Unable to close subtraction files."); 218 return false; 313 success = false; 314 goto ESCAPE; 219 315 } 220 316 } else { … … 223 319 if (!ppSubFilesIterateUp(config, PPSUB_FILES_SUB)) { 224 320 psError(PPSUB_ERR_IO, false, "Unable to close subtraction files."); 225 return false; 226 } 227 } 228 229 return true; 321 success = false; 322 goto ESCAPE; 323 } 324 } 325 326 ESCAPE: 327 pmFPAfileDropInternal(config->files, "PSPHOT.BACKGND"); 328 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL"); 329 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL.STDEV"); 330 331 return success; 230 332 } -
branches/czw_branch/20101203/ppSub/src/ppSubMakePSF.c
r28049 r30118 35 35 36 36 psTimerStart("PPSUB_PHOT"); 37 38 psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSUB_RECIPE); // Recipe for ppSub39 psAssert(recipe, "We checked this earlier, so it should be here.");40 41 if (!psMetadataLookupBool(NULL, recipe, "PHOTOMETRY")) {42 return true;43 }44 37 45 38 bool reverse = psMetadataLookupBool(NULL, config->arguments, "REVERSE"); // Reverse sense of subtraction? … … 93 86 // use flags to toss totally bogus entries? 94 87 psArray *goodSources = ppSubSelectPSFSources (sources); 95 if (!psphotReadoutFindPSF(config, view, goodSources)) {88 if (!psphotReadoutFindPSF(config, view, "PSPHOT.INPUT", goodSources)) { 96 89 // This is likely a data quality issue 97 90 // XXX Split into multiple cases using error codes? -
branches/czw_branch/20101203/ppSub/src/ppSubMatchPSFs.c
r29593 r30118 72 72 // Extract the loaded sources from the associated readout, and generate PSF 73 73 // Here, we assume the image is background-subtracted 74 if (!psphotReadoutFindPSF(config, view, sources)) {74 if (!psphotReadoutFindPSF(config, view, "PSPHOT.INPUT", sources)) { 75 75 psErrorStackPrint(stderr, "Unable to determine PSF"); 76 76 psWarning("Unable to determine PSF."); -
branches/czw_branch/20101203/ppSub/src/ppSubReadoutPhotometry.c
r29003 r30118 31 31 32 32 if (!data->photometry) { 33 return true;34 }35 36 // Look up recipe values37 psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSUB_RECIPE); // Recipe for ppSim38 psAssert(recipe, "We checked this earlier, so it should be here.");39 40 if (!psMetadataLookupBool(NULL, recipe, "PHOTOMETRY")) {41 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL");42 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL.STDEV");43 33 return true; 44 34 } … … 81 71 } 82 72 83 if (!psphotReadoutMinimal(config, view )) {73 if (!psphotReadoutMinimal(config, view, "PSPHOT.INPUT")) { 84 74 // This is likely a data quality issue 85 75 // XXX Split into multiple cases using error codes? … … 90 80 91 81 // If no sources were found, there's no error, but we want to trigger 'bad quality' 82 psWarning("no sources found: why is this being set to bad quality??"); 92 83 pmDetections *detections = psMetadataLookupPtr(NULL, photRO->analysis, "PSPHOT.DETECTIONS"); // Sources 93 84 if (!detections) { … … 136 127 } 137 128 } 138 139 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL");140 pmFPAfileDropInternal(config->files, "PSPHOT.BACKMDL.STDEV");141 129 142 130 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
