- Timestamp:
- Oct 13, 2009, 7:54:28 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/pap/psModules/src/imcombine/pmSubtractionKernels.c
r25120 r25833 140 140 for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) { 141 141 for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) { 142 psArray *preCalc = psArrayAlloc( 2); // Array to hold precalculated values142 psArray *preCalc = psArrayAlloc(3); // Array to hold precalculated values 143 143 psVector *xKernel = preCalc->data[0] = subtractionKernelISIS(sigma, uOrder, size); // x Kernel 144 144 psVector *yKernel = preCalc->data[1] = subtractionKernelISIS(sigma, vOrder, size); // y Kernel 145 psKernel *kernel = preCalc->data[2] = psKernelAlloc(-size, size, -size, size); // Kernel 145 146 146 147 // Calculate moments … … 149 150 for (int u = -size, x = 0; u <= size; u++, x++) { 150 151 double value = xKernel->data.F32[x] * yKernel->data.F32[y]; // Value of kernel 152 kernel->kernel[v][u] = value; 151 153 moment += value * (PS_SQR(u) + PS_SQR(v)); 152 154 } … … 164 166 psBinaryOp(xKernel, xKernel, "*", psScalarAlloc(sum, PS_TYPE_F32)); 165 167 psBinaryOp(yKernel, yKernel, "*", psScalarAlloc(sum, PS_TYPE_F32)); 168 psBinaryOp(kernel->image, kernel->image, "*", psScalarAlloc(PS_SQR(sum), PS_TYPE_F32)); 169 kernel->kernel[0][0] -= 1.0; 166 170 moment *= PS_SQR(sum); 167 171 }
Note:
See TracChangeset
for help on using the changeset viewer.
