Changeset 18181
- Timestamp:
- Jun 18, 2008, 3:15:28 PM (18 years ago)
- Location:
- trunk/psModules/src/imcombine
- Files:
-
- 2 edited
-
pmSubtractionMatch.c (modified) (2 diffs)
-
pmSubtractionMatch.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionMatch.c
r17783 r18181 89 89 90 90 91 92 91 // Record the variance factor in a readout 92 static bool recordVarianceFactor(pmReadout *ro, // Readout of interest 93 float varFactor, // Variance factor 94 const psRegion *region // Region of interest 95 ) 96 { 97 varFactor *= (region->x1 - region->x1 + 1) * (region->y1 * region->y1 + 1) / 98 (ro->image->numCols * ro->image->numRows); 99 100 psMetadataItem *vfItem = psMetadataLookup(ro->analysis, PM_SUBTRACTION_ANALYSIS_VARFACTOR); 101 if (vfItem) { 102 psAssert(vfItem->type == PS_TYPE_F32, "Should be the type we said."); 103 vfItem->data.F32 += varFactor; 104 } else { 105 psMetadataAddF32(ro->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_VARFACTOR, 0, 106 "Variance factor weighted by the area", varFactor); 107 } 108 109 return true; 110 } 93 111 94 112 bool pmSubtractionMatch(pmReadout *conv1, pmReadout *conv2, const pmReadout *ro1, const pmReadout *ro2, … … 507 525 } 508 526 } 527 528 529 // Set the variance factors 530 float xMid = 0.5 * (region->x0 + region->x1); // Average x position 531 float yMid = 0.5 * (region->y0 + region->y1); // Average y position 532 switch (mode) { 533 case PM_SUBTRACTION_MODE_1: { 534 recordVarianceFactor(conv1, pmSubtractionVarianceFactor(kernels, xMid, yMid, false), 535 region); 536 break; 537 } 538 case PM_SUBTRACTION_MODE_2: 539 recordVarianceFactor(conv1, pmSubtractionVarianceFactor(kernels, xMid, yMid, false), 540 region); 541 break; 542 case PM_SUBTRACTION_MODE_DUAL: 543 recordVarianceFactor(conv1, pmSubtractionVarianceFactor(kernels, xMid, yMid, false), 544 region); 545 recordVarianceFactor(conv2, pmSubtractionVarianceFactor(kernels, xMid, yMid, true), 546 region); 547 break; 548 default: 549 psAbort("Should never reach here."); 550 } 509 551 } 510 552 } -
trunk/psModules/src/imcombine/pmSubtractionMatch.h
r17783 r18181 14 14 #define PM_SUBTRACTION_ANALYSIS_STAMPS_RMS "SUBTRACTION.RMS" // Name of stamp rms in the analysis metadata 15 15 #define PM_SUBTRACTION_ANALYSIS_STAMPS_NUM "SUBTRACTION.NUM"// Name of the number of stamps in the analysis MD 16 #define PM_SUBTRACTION_ANALYSIS_VARFACTOR "SUBTRACTION.VARFACTOR"// Name of variance factor in the analysis MD 16 17 17 18 /// Match two images
Note:
See TracChangeset
for help on using the changeset viewer.
