Changeset 26893 for trunk/psModules/src/imcombine/pmSubtractionParams.c
- Timestamp:
- Feb 10, 2010, 7:34:39 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionParams.c
r26035 r26893 204 204 int spatialOrder, const psVector *fwhms, int maxOrder, 205 205 const pmSubtractionStampList *stamps, int footprint, 206 float tolerance, float penalty, pmSubtractionMode mode) 206 float tolerance, float penalty, psRegion bounds, 207 pmSubtractionMode mode) 207 208 { 208 209 if (type != PM_SUBTRACTION_KERNEL_ISIS && type != PM_SUBTRACTION_KERNEL_GUNK) { … … 232 233 psVectorInit(orders, maxOrder); 233 234 pmSubtractionKernels *kernels = p_pmSubtractionKernelsRawISIS(size, spatialOrder, fwhms, orders, 234 penalty, mode); // Kernels235 penalty, bounds, mode); // Kernels 235 236 psFree(orders); 236 237 psFree(kernels->description); … … 482 483 // Maintain photometric scaling 483 484 if (type == PM_SUBTRACTION_KERNEL_ISIS) { 484 psKernel *subtract = kernels->preCalc->data[0]; // Kernel to subtract from the rest 485 486 // XXX in r26035, this code was just wrong. we had: 487 488 // psKernel *subtract = kernels->preCalc->data[0] 489 490 // but, kernels->preCalc was an array of psArray, not an array of kernels. It is now 491 // an array of pmSubtractionKernelPreCalc. 492 493 pmSubtractionKernelPreCalc *subtract = kernels->preCalc->data[0]; // Kernel to subtract from the rest 494 485 495 for (int i = 1; i < newSize; i++) { 486 496 if (kernels->u->data.S32[i] % 2 == 0 && kernels->v->data.S32[i] % 2 == 0) { 487 p sKernel *kernel= kernels->preCalc->data[i]; // Kernel of interest488 psBinaryOp( kernel->image, kernel->image, "-", subtract->image);497 pmSubtractionKernelPreCalc *preCalc = kernels->preCalc->data[i]; // Kernel of interest 498 psBinaryOp(preCalc->kernel->image, preCalc->kernel->image, "-", subtract->kernel->image); 489 499 } 490 500 } … … 495 505 for (int i = 0; i < newSize; i++) { 496 506 if (kernels->u->data.S32[i] % 2 == 0 && kernels->v->data.S32[i] % 2 == 0) { 497 p sKernel *kernel= kernels->preCalc->data[i]; // Kernel of interest498 kernel->kernel[0][0] -= 1.0;507 pmSubtractionKernelPreCalc *preCalc = kernels->preCalc->data[i]; // Kernel of interest 508 preCalc->kernel->kernel[0][0] -= 1.0; 499 509 } 500 510 }
Note:
See TracChangeset
for help on using the changeset viewer.
