Changeset 27105 for trunk/ppStack
- Timestamp:
- Feb 26, 2010, 2:27:07 PM (16 years ago)
- Location:
- trunk/ppStack/src
- Files:
-
- 2 edited
-
ppStackMatch.c (modified) (1 diff)
-
ppStackReadout.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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.
