Changeset 14701 for trunk/psModules/src/imcombine/pmSubtractionKernels.c
- Timestamp:
- Aug 29, 2007, 5:50:28 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionKernels.c
r14690 r14701 216 216 217 217 // Subtract a reference kernel from all the others to maintain flux scaling 218 int subIndex = 0; // Index of kernel to subtract from others 219 psKernel *subtract = kernels->preCalc->data[subIndex]; // Kernel to subtract from others 220 int numGaussians = fwhms->n; // Number of Gaussians 221 for (int i = 0, index = 0; i < numGaussians; i++) { 222 for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) { 223 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) { 224 if (uOrder % 2 == 0 && vOrder % 2 == 0 && index != subIndex) { 225 psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract 226 psBinaryOp(kernel->image, kernel->image, "-", subtract->image); 218 // if (spatialOrder > 0) { 219 int subIndex = 0; // Index of kernel to subtract from others 220 psKernel *subtract = kernels->preCalc->data[subIndex]; // Kernel to subtract from others 221 int numGaussians = fwhms->n; // Number of Gaussians 222 for (int i = 0, index = 0; i < numGaussians; i++) { 223 for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) { 224 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) { 225 if (uOrder % 2 == 0 && vOrder % 2 == 0 && index != subIndex) { 226 psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract 227 psBinaryOp(kernel->image, kernel->image, "-", subtract->image); 228 } 227 229 } 228 230 } 229 231 } 230 }232 // } 231 233 232 234 if (psTraceGetLevel("psModules.imcombine.kernel") >= 10) { … … 452 454 // Subtract unity from the kernels to maintain photometric flux scaling 453 455 int numGaussians = fwhms->n; // Number of Gaussians 454 for (int i = 0, index = 0; i < numGaussians; i++) { 455 for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) { 456 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) { 457 if (uOrder % 2 == 0 && vOrder % 2 == 0) { 458 psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract 459 kernel->kernel[0][0] -= 1.0; 456 // if (spatialOrder > 0) { 457 for (int i = 0, index = 0; i < numGaussians; i++) { 458 for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) { 459 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) { 460 if (uOrder % 2 == 0 && vOrder % 2 == 0) { 461 psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract 462 kernel->kernel[0][0] -= 1.0; 463 } 460 464 } 461 465 } 462 466 } 463 }467 // } 464 468 465 469 int numISIS = kernels->num; // Number of ISIS kernels 466 470 int numInner = PS_SQR(2 * inner + 1); // Number of inner kernel elements 467 471 468 if (!p_pmSubtractionKernelsAddGrid(kernels, num Gaussians, inner)) {472 if (!p_pmSubtractionKernelsAddGrid(kernels, numISIS, inner)) { 469 473 psAbort("Should never get here."); 470 474 }
Note:
See TracChangeset
for help on using the changeset viewer.
