- Timestamp:
- Jan 28, 2010, 5:32:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/pap/psModules/src/imcombine/pmSubtractionKernels.c
r26686 r26717 15 15 16 16 #define RINGS_BUFFER 10 // Buffer size for RINGS data 17 18 #define NORM_WIDTH 7.5 17 19 18 20 // Free function for pmSubtractionKernels … … 30 32 psFree(kernels->solution2); 31 33 psFree(kernels->sampleStamps); 34 psFree(kernels->norm); 32 35 } 33 36 … … 242 245 243 246 if (zeroNull) { 244 preCalc->kernel->kernel[0][0] -= 1.0; 247 // preCalc->kernel->kernel[0][0] -= 1.0; 248 for (int v = -size; v <= size; v++) { 249 for (int u = -size; u <= size; u++) { 250 preCalc->kernel->kernel[v][u] -= kernels->norm->kernel[v][u]; 251 } 252 } 245 253 } 246 254 … … 582 590 kernels->fMinResMean = NAN; 583 591 kernels->fMinResStdev = NAN; 592 593 kernels->norm = psKernelAlloc(-size, size, -size, size); 594 double sumNorm = 0.0; 595 float sigma = NORM_WIDTH / 2.35; 596 for (int y = -size; y <= size; y++) { 597 for (int x = -size; x <= size; x++) { 598 float z = 0.5 * (PS_SQR(x) + PS_SQR(y)) / PS_SQR(sigma); 599 sumNorm += kernels->norm->kernel[y][x] = expf(-z); 600 } 601 } 602 for (int y = -size; y <= size; y++) { 603 for (int x = -size; x <= size; x++) { 604 kernels->norm->kernel[y][x] /= sumNorm; 605 } 606 } 584 607 585 608 return kernels;
Note:
See TracChangeset
for help on using the changeset viewer.
