IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 28, 2010, 5:32:15 PM (16 years ago)
Author:
Paul Price
Message:

Attempting to use a wide function for the normalisation component, rather than delta-function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/pap/psModules/src/imcombine/pmSubtraction.c

    r26667 r26717  
    188188    if (normalise) {
    189189        // Put in the normalisation component
    190         kernel->kernel[0][0] += (wantDual ? 1.0 : p_pmSubtractionSolutionNorm(kernels));
     190//        kernel->kernel[0][0] += (wantDual ? 1.0 : p_pmSubtractionSolutionNorm(kernels));
     191        double value = wantDual ? 1.0 : p_pmSubtractionSolutionNorm(kernels);
     192        for (int v = -size; v <= size; v++) {
     193            for (int u = -size; u <= size; u++) {
     194                kernel->kernel[v][u] += value * kernels->norm->kernel[v][u];
     195            }
     196        }
    191197    }
    192198
     
    754760      case PM_SUBTRACTION_MODE_1:
    755761        stamp->convolutions1 = convolveStamp(stamp->convolutions1, stamp->image1, kernels, footprint);
     762        stamp->normConv = p_pmSubtractionConvolveStampPrecalc(stamp->image1, kernels->norm);
    756763        break;
    757764      case PM_SUBTRACTION_MODE_2:
    758765        stamp->convolutions2 = convolveStamp(stamp->convolutions2, stamp->image2, kernels, footprint);
     766        stamp->normConv = p_pmSubtractionConvolveStampPrecalc(stamp->image2, kernels->norm);
    759767        break;
    760768      case PM_SUBTRACTION_MODE_UNSURE:
     
    762770        stamp->convolutions1 = convolveStamp(stamp->convolutions1, stamp->image1, kernels, footprint);
    763771        stamp->convolutions2 = convolveStamp(stamp->convolutions2, stamp->image2, kernels, footprint);
     772        stamp->normConv = p_pmSubtractionConvolveStampPrecalc(stamp->image1, kernels->norm);
    764773        break;
    765774      default:
     
    908917                psFree(stamp->vector);
    909918                stamp->vector = NULL;
     919
     920                psFree(stamp->normConv);
     921                stamp->normConv = NULL;
    910922            } else {
    911923                numGood++;
Note: See TracChangeset for help on using the changeset viewer.