Changeset 19532 for trunk/ppStack/src/ppStackMatch.c
- Timestamp:
- Sep 11, 2008, 6:12:42 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackMatch.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackMatch.c
r19486 r19532 15 15 PM_SOURCE_MODE_CR_LIMIT) // Mask to apply to input sources 16 16 17 //#define TESTING // Enable debugging output17 #define TESTING // Enable debugging output 18 18 19 19 … … 48 48 #endif 49 49 50 bool ppStackMatch(pmReadout *readout, psArray **regions, psArray **kernels, 50 bool ppStackMatch(pmReadout *readout, psArray **regions, psArray **kernels, float *chi2, 51 51 const psArray *sources, const pmPSF *psf, psRandom *rng, const pmConfig *config) 52 52 { … … 111 111 PM_SUBTRACTION_ANALYSIS_KERNEL); // Kernels 112 112 float vf = pmSubtractionVarianceFactor(kernels, 0.0, 0.0, false); // Variance factor 113 psMetadataItem *vfItem = psMetadataLookup( output->parent->concepts, "CELL.VARFACTOR");113 psMetadataItem *vfItem = psMetadataLookup(readout->parent->concepts, "CELL.VARFACTOR"); 114 114 if (!isfinite(vf)) { 115 115 vf = 1.0; … … 341 341 assert((*regions)->n == (*kernels)->n); 342 342 343 // Correct the variance for the chi^2 344 { 345 *chi2 = 0.0; 346 int num = 0; // Number of measurements of chi^2 347 psString regex = NULL; // Regular expression 348 psStringAppend(®ex, "^%s$", PM_SUBTRACTION_ANALYSIS_KERNEL); 349 psMetadataIterator *iter = psMetadataIteratorAlloc(output->analysis, PS_LIST_HEAD, regex); // Iterator 350 psFree(regex); 351 psMetadataItem *item = NULL;// Item from iteration 352 while ((item = psMetadataGetAndIncrement(iter))) { 353 assert(item->type == PS_DATA_UNKNOWN); 354 pmSubtractionKernels *kernels = item->data.V; // Convolution kernels 355 *chi2 += kernels->mean; 356 num++; 357 } 358 psFree(iter); 359 360 float vf = psMetadataLookupF32(NULL, readout->parent->concepts, "CELL.VARFACTOR"); // Variance factor 361 *chi2 /= vf * num; 362 } 363 343 364 // Renormalise the variances if desired 344 365 if (renorm) {
Note:
See TracChangeset
for help on using the changeset viewer.
