Changeset 26588
- Timestamp:
- Jan 13, 2010, 5:18:55 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20091201/psModules/src/imcombine/pmSubtractionKernels.c
r26587 r26588 220 220 } 221 221 if (forceZeroNull) { 222 // Force rescaling and subtraction of null pixel even though the order doesn't indicate it's even 223 scale2D = 1.0 / fabs(sum); 222 224 zeroNull = true; 223 225 } … … 236 238 237 239 psBinaryOp(preCalc->kernel->image, preCalc->kernel->image, "*", psScalarAlloc(scale2D, PS_TYPE_F32)); 238 penalty *= PS_SQR(scale2D);240 penalty *= 1.0 / sum2; 239 241 240 242 if (zeroNull) { … … 242 244 } 243 245 244 #if 0 245 sum = 0.0; // Sum of kernel component 246 min = FLT_MAX; 247 max = FLT_MIN; 248 for (int v = -size; v <= size; v++) { 249 for (int u = -size; u <= size; u++) { 250 sum += preCalc->kernel->kernel[v][u]; 251 min = PS_MIN(preCalc->kernel->kernel[v][u], min); 252 max = PS_MAX(preCalc->kernel->kernel[v][u], max); 253 } 254 } 255 fprintf(stderr, "%d mod: %lf, null: %f, min: %lf, max: %lf, scale: %f\n", index, sum, preCalc->kernel->kernel[0][0], min, max, scale2D); 246 #if 1 247 { 248 double sum = 0.0; // Sum of kernel component 249 float min = INFINITY, max = -INFINITY; // Minimum and maximum kernel value 250 for (int v = -size; v <= size; v++) { 251 for (int u = -size; u <= size; u++) { 252 sum += preCalc->kernel->kernel[v][u]; 253 min = PS_MIN(preCalc->kernel->kernel[v][u], min); 254 max = PS_MAX(preCalc->kernel->kernel[v][u], max); 255 } 256 } 257 fprintf(stderr, "%d mod: %lf, null: %f, min: %lf, max: %lf, scale: %f\n", index, sum, preCalc->kernel->kernel[0][0], min, max, scale2D); 258 } 256 259 #endif 257 260
Note:
See TracChangeset
for help on using the changeset viewer.
