Changeset 42022
- Timestamp:
- Feb 7, 2022, 11:36:08 AM (4 years ago)
- Location:
- branches/eam_branches/ipp-20211108/psphot/src
- Files:
-
- 2 edited
-
psphotEfficiency.c (modified) (6 diffs)
-
psphotFitSourcesLinear.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20211108/psphot/src/psphotEfficiency.c
r37590 r42022 3 3 #define MODEL_MASK (PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE | \ 4 4 PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_LIMITS) // Mask to apply to models 5 6 # define TESTING 07 5 8 6 // Calculate the limiting magnitude for an image … … 122 120 meanVar, *covarFactor, thresh, *norm, *magLim); 123 121 124 *radius = smoothSigma * smoothNsigma;122 *radius = 5 * smoothSigma * smoothNsigma; 125 123 126 124 *minFlux = 0.1 * sqrtf(meanVar); 125 126 psLogMsg ("psphot", PS_LOG_INFO, "Detection efficiency PSF radius: %d, minFlux: %f\n", *radius, *minFlux); 127 127 128 128 return true; … … 291 291 psphotRemoveAllSourcesByArray(realSources, recipe); 292 292 293 # define TESTING 0 293 294 #if TESTING 294 295 { … … 340 341 psphotSaveImage(NULL, readout->mask, "fake_mask.fits"); 341 342 #endif 343 #undef TESTING 342 344 343 345 // XXX Could speed this up significantly by only convolving the central pixels of each fake source … … 424 426 continue; 425 427 } 428 429 // XXX this radius is too small : for faint sources the modelSum < 0.8*modelNorm and the 430 // source is rejected. Add a factor of 2.0 to be sure we get value fluxes 426 431 float sourceRadius = PS_MAX(radius, model->class->modelRadius(model->params, minFlux)); // Radius for source 427 432 psFree(model); … … 536 541 psVectorInit(magMask, 0); 537 542 543 # define TESTING 1 538 544 #if TESTING 539 545 psString name = NULL; -
branches/eam_branches/ipp-20211108/psphot/src/psphotFitSourcesLinear.c
r41444 r42022 217 217 int Nsat = 0; 218 218 219 // track number kept at several stages of the analysis 220 int Nstep_0 = 0; 221 int Nstep_1 = 0; 222 int Nstep_2 = 0; 223 int Nstep_3 = 0; 224 int Nstep_4 = 0; 225 int Nstep_5 = 0; 226 219 227 // select the sources which will be used for the fitting analysis 220 228 for (int i = 0; i < sources->n; i++) { … … 246 254 if (source->mode & PM_SOURCE_MODE_MOMENTS_FAILURE) continue; 247 255 256 Nstep_0++; 257 248 258 // XXX count saturated stars 249 259 if (source->mode & PM_SOURCE_MODE_SATSTAR) { … … 255 265 if (!pmSourceCacheModel (source, maskVal)) continue; 256 266 } 267 Nstep_1++; 257 268 258 269 // save the original coords … … 265 276 if (x > AnalysisRegion.x1) continue; 266 277 if (y > AnalysisRegion.y1) continue; 278 Nstep_2++; 267 279 268 280 // check the integral of the model : is it large enough? … … 283 295 continue; 284 296 } 297 Nstep_3++; 298 285 299 bool isPSF = false; 286 300 pmModel *model = pmSourceGetModel (&isPSF, source); … … 306 320 } 307 321 if (modelSum < cutModelSum * normFlux) continue; 322 Nstep_4++; 323 308 324 if (maskedSum < cutMaskedSum * normFlux) continue; 325 Nstep_5++; 309 326 310 327 // clear the 'mark' pixels and remask on the fit aperture … … 322 339 } 323 340 psLogMsg ("psphot.ensemble", PS_LOG_MINUTIA, "built fitSources: %f sec (%ld objects)\n", psTimerMark ("psphot.linear"), sources->n); 341 psLogMsg ("psphot.ensemble", PS_LOG_INFO, "Number of sources kept at each stage: %d %d %d %d %d %d\n", Nstep_0, Nstep_1, Nstep_2, Nstep_3, Nstep_4, Nstep_5); 324 342 325 343 if (fitSources->n == 0) {
Note:
See TracChangeset
for help on using the changeset viewer.
