Changeset 27105
- Timestamp:
- Feb 26, 2010, 2:27:07 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
ippconfig/recipes/ppStack.config (modified) (2 diffs)
-
ppStack/src/ppStackMatch.c (modified) (1 diff)
-
ppStack/src/ppStackReadout.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippconfig/recipes/ppStack.config
r26902 r27105 24 24 VARIANCE BOOL TRUE # Use variance in rejection? 25 25 SAFE BOOL TRUE # Play safe when combining small number of values? 26 WEIGHTS BOOL TRUE # Use 1/noise^2 weighting? 26 27 BIN1 S32 4 # Binning factor for first level 27 28 BIN2 S32 4 # Binning factor for second level … … 84 85 # Faster processing for PR images 85 86 PR METADATA 86 IMAGE.REJ F32 0.5 87 IMAGE.REJ F32 0.5 88 WEIGHTS BOOL FALSE 87 89 CONVOLVE BOOL FALSE 88 90 SKIP.BG.SUB BOOL FALSE -
trunk/ppStack/src/ppStackMatch.c
r27004 r27105 628 628 629 629 // Measure the variance level for the weighting 630 if (!psImageBackground(bg, NULL, readout->variance, readout->mask, maskVal | maskBad, rng)) { 631 psError(PPSTACK_ERR_DATA, false, "Can't measure mean variance for image."); 632 psFree(rng); 633 psFree(bg); 634 return false; 635 } 636 options->weightings->data.F32[index] = 1.0 / (psStatsGetValue(bg, PS_STAT_ROBUST_MEDIAN) * 637 psImageCovarianceFactor(readout->covariance)); 630 if (psMetadataLookupBool(NULL, recipe, "WEIGHTS")) { 631 if (!psImageBackground(bg, NULL, readout->variance, readout->mask, maskVal | maskBad, rng)) { 632 psError(PPSTACK_ERR_DATA, false, "Can't measure mean variance for image."); 633 psFree(rng); 634 psFree(bg); 635 return false; 636 } 637 options->weightings->data.F32[index] = 1.0 / (psStatsGetValue(bg, PS_STAT_ROBUST_MEDIAN) * 638 psImageCovarianceFactor(readout->covariance)); 639 } else { 640 options->weightings->data.F32[index] = 1.0; 641 } 638 642 psLogMsg("ppStack", PS_LOG_INFO, "Weighting for image %d is %f\n", 639 643 index, options->weightings->data.F32[index]); 640 psMetadataAddF32(readout->analysis, PS_LIST_TAIL, "PPSTACK.WEIGHTING", 0,641 "Weighting by 1/noise^2 for stack", options->weightings->data.F32[index]);642 644 643 645 psFree(rng); -
trunk/ppStack/src/ppStackReadout.c
r26898 r27105 143 143 } 144 144 145 #if 0146 // This doesn't seem to work, so getting the weightings directly from a vector147 float weighting = psMetadataLookupF32(&mdok, ro->analysis, "PPSTACK.WEIGHTING"); // Relative weight148 if (!mdok || !isfinite(weighting)) {149 psWarning("No weighting supplied for image %d --- set to unity.", i);150 weighting = 1.0;151 } else {152 psLogMsg("ppStack", PS_LOG_INFO, "Weighting for image %d is %f", i, weighting);153 }154 #endif155 156 145 // Ensure there is a mask, or pmStackCombine will complain 157 146 if (!ro->mask) { … … 243 232 } 244 233 245 #if 0246 // This doesn't seem to work, so getting the weightings directly from a vector247 bool mdok; // Status of MD lookup248 float weighting = psMetadataLookupF32(&mdok, ro->analysis, "PPSTACK.WEIGHTING"); // Relative weight249 if (!mdok || !isfinite(weighting)) {250 psWarning("No WEIGHTING supplied for image %d --- set to unity.", i);251 weighting = 1.0;252 }253 #endif254 255 234 // Ensure there is a mask, or pmStackCombine will complain 256 235 if (!ro->mask) {
Note:
See TracChangeset
for help on using the changeset viewer.
