IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 6, 2007, 3:57:15 PM (18 years ago)
Author:
Paul Price
Message:

Implementing dual-convolution. This required reworking those
functions involved with calculating and solving the equations; moved
these into a separate file and made various other cleanups (e.g.,
assertions for pmSubtractionKernels). Removed the normalisation
(central pixel) term from all kernels, because this shouldn't be in
the second kernel (there's only one normalisation term between the two
kernels); the normalisation is treated explicitly in the equations,
along with the background (still only a constant background is
supported for now, but there's a lot of support for a polynomial
background for when I get around to putting it in the equations).
Tested the single convolution, and it's working; same results as
before, apparently. Haven't tested dual convolution yet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmStackReject.c

    r15449 r15756  
    5757    for (int i = 0; i < numRegions; i++) {
    5858        psRegion *region = regions->data[i]; // Region of interest
    59         psVector *solution = solutions->data[i]; // Solution of interest
    60         if (!pmSubtractionConvolve(convRO, inRO, NULL, NULL, 0, region, solution, kernels,
    61                                    PM_SUBTRACTION_MODE_1, true)) {
     59        if (!pmSubtractionConvolve(convRO, NULL, inRO, NULL, NULL, 0, region, kernels, true)) {
    6260            psError(PS_ERR_UNKNOWN, false, "Unable to convolve mask image in region %d.", i);
    6361            psFree(convRO);
     
    7270        float xNorm = (region->x0 + 0.5 * (region->x1 - region->x0) - numCols/2.0) / (float)numCols;
    7371        float yNorm = (region->y0 + 0.5 * (region->y1 - region->y0) - numRows/2.0) / (float)numRows;
    74         psImage *kernel = pmSubtractionKernelImage(solution, kernels, xNorm, yNorm);
     72        psImage *kernel = pmSubtractionKernelImage(kernels, xNorm, yNorm, false);
    7573        if (!kernel) {
    7674            psError(PS_ERR_UNKNOWN, false, "Unable to generate kernel image.");
Note: See TracChangeset for help on using the changeset viewer.