Changeset 26035 for trunk/psModules/src/imcombine/pmSubtractionMatch.c
- Timestamp:
- Nov 4, 2009, 4:52:05 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionMatch.c
r25464 r26035 68 68 float thresh2, // Threshold for stamp finding on readout 2 69 69 float stampSpacing, // Spacing between stamps 70 float sysError, // Relative systematic error in images 70 71 int size, // Kernel half-size 71 72 int footprint, // Convolution footprint for stamps … … 78 79 79 80 *stamps = pmSubtractionStampsFind(*stamps, image1, image2, subMask, region, thresh1, thresh2, 80 size, footprint, stampSpacing, mode);81 size, footprint, stampSpacing, sysError, mode); 81 82 if (!*stamps) { 82 83 psError(psErrorCodeLast(), false, "Unable to find stamps."); … … 101 102 const pmReadout *ro1, const pmReadout *ro2, // Input images 102 103 int stride, // Size for convolution patches 103 float sysError, // Relative systematic error 104 float sysError, // Systematic error in images 105 float kernelError, // Systematic error in kernel 104 106 psImageMaskType maskVal, // Value to mask for input 105 107 psImageMaskType maskBad, // Mask for output bad pixels … … 151 153 PS_ASSERT_FLOAT_LESS_THAN(sysError, 1.0, false); 152 154 } 155 if (isfinite(kernelError)) { 156 PS_ASSERT_FLOAT_LARGER_THAN_OR_EQUAL(kernelError, 0.0, false); 157 PS_ASSERT_FLOAT_LESS_THAN(kernelError, 1.0, false); 158 } 153 159 // Don't care about maskVal 154 160 // Don't care about maskBad … … 194 200 195 201 bool pmSubtractionMatchPrecalc(pmReadout *conv1, pmReadout *conv2, const pmReadout *ro1, const pmReadout *ro2, 196 psMetadata *analysis, int stride, float sysError,202 psMetadata *analysis, int stride, float kernelError, 197 203 psImageMaskType maskVal, psImageMaskType maskBad, psImageMaskType maskPoor, 198 204 float poorFrac, float badFrac) … … 264 270 } 265 271 266 if (!subtractionMatchCheck(conv1, conv2, ro1, ro2, stride, sysError, maskVal, maskBad, maskPoor,267 poorFrac, badFrac, mode)) {272 if (!subtractionMatchCheck(conv1, conv2, ro1, ro2, stride, NAN, kernelError, 273 maskVal, maskBad, maskPoor, poorFrac, badFrac, mode)) { 268 274 psFree(kernels); 269 275 psFree(regions); … … 300 306 301 307 if (!pmSubtractionConvolve(conv1, conv2, ro1, ro2, subMask, stride, maskBad, maskPoor, poorFrac, 302 sysError, region, kernel, true, useFFT)) {308 kernelError, region, kernel, true, useFFT)) { 303 309 psError(PS_ERR_UNKNOWN, false, "Unable to convolve image."); 304 310 psFree(outAnalysis); … … 330 336 int inner, int ringsOrder, int binning, float penalty, 331 337 bool optimum, const psVector *optFWHMs, int optOrder, float optThreshold, 332 int iter, float rej, float sysError, psImageMaskType maskVal, psImageMaskType maskBad, 333 psImageMaskType maskPoor, float poorFrac, float badFrac, pmSubtractionMode subMode) 334 { 335 if (!subtractionMatchCheck(conv1, conv2, ro1, ro2, stride, sysError, maskVal, maskBad, maskPoor, 336 poorFrac, badFrac, subMode)) { 338 int iter, float rej, float sysError, float kernelError, psImageMaskType maskVal, 339 psImageMaskType maskBad, psImageMaskType maskPoor, float poorFrac, 340 float badFrac, pmSubtractionMode subMode) 341 { 342 if (!subtractionMatchCheck(conv1, conv2, ro1, ro2, stride, sysError, kernelError, 343 maskVal, maskBad, maskPoor, poorFrac, badFrac, subMode)) { 337 344 return false; 338 345 } … … 463 470 if (stampsName && strlen(stampsName) > 0) { 464 471 stamps = pmSubtractionStampsSetFromFile(stampsName, ro1->image, subMask, region, size, 465 footprint, stampSpacing, s ubMode);472 footprint, stampSpacing, sysError, subMode); 466 473 } else if (sources) { 467 474 stamps = pmSubtractionStampsSetFromSources(sources, ro1->image, subMask, region, size, 468 footprint, stampSpacing, s ubMode);475 footprint, stampSpacing, sysError, subMode); 469 476 } 470 477 … … 472 479 // doesn't matter. 473 480 if (!subtractionGetStamps(&stamps, ro1, ro2, subMask, variance, NULL, stampThresh1, stampThresh2, 474 stampSpacing, size, footprint, subMode)) {481 stampSpacing, sysError, size, footprint, subMode)) { 475 482 goto MATCH_ERROR; 476 483 } … … 538 545 539 546 if (!subtractionGetStamps(&stamps, ro1, ro2, subMask, variance, region, 540 stampThresh1, stampThresh2, stampSpacing, 547 stampThresh1, stampThresh2, stampSpacing, sysError, 541 548 size, footprint, subMode)) { 542 549 goto MATCH_ERROR; … … 608 615 psTrace("psModules.imcombine", 2, "Convolving...\n"); 609 616 if (!pmSubtractionConvolve(conv1, conv2, ro1, ro2, subMask, stride, maskBad, maskPoor, poorFrac, 610 sysError, region, kernels, true, useFFT)) {617 kernelError, region, kernels, true, useFFT)) { 611 618 psError(PS_ERR_UNKNOWN, false, "Unable to convolve image."); 612 619 goto MATCH_ERROR;
Note:
See TracChangeset
for help on using the changeset viewer.
