IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 29, 2007, 5:50:28 PM (19 years ago)
Author:
Paul Price
Message:

Extensive changes to image subtraction codes. Discovered that I
wasn't (again) implementing the algorithm correctly --- I was
accumulating

sum_x,y C_i(x,y) sum_x,y C_j(x,y)

instead of

sum_x,y C_i(x,y) C_j(x,y)

i.e., I was doing the sums separately. I'm amazed that it was
actually getting fairly decent results before, but now it's doing it
properly. As part of this fix, added in, for each stamp, images
corresponding to the convolution of the reference with each of the
kernel components. This allows fast rejection (instead of generating
the kernel and convolving, can simply sum the individual convolutions
with the correct scaling).
Added use of FFT to do convolutions. This involved changing around
the convolvePixel function (now convolveRef, since it generates the
entire image for the convolution of the reference stamp with a kernel
component, rather than a single pixel as previously). Tested with
POIS and ISIS kernels, but no others yet. FFT is nice and fast for
the large (size = 10) kernels I've been using, so I also moved it in
to the convolveRef function for appropriate kernel types.
As part of the FFT move, discovered that my convolutions were around
the wrong way --- supposed to be convolved = image[y][x] * conv[y - v][x - u]
instead of conv[y + v][x + u]. However, this problem didn't manifest
itself previously because everything was consistently around the wrong
way. The FFT does it the Correct Way, so it revealed the problem. This
is now fixed throughout the image subtraction code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmSubtraction.h

    r14648 r14701  
    66 * @author GLG, MHPCC
    77 *
    8  * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    9  * @date $Date: 2007-08-23 23:43:12 $
     8 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     9 * @date $Date: 2007-08-30 03:50:28 $
    1010 *
    1111 * Copyright 2004-207 Institute for Astronomy, University of Hawaii
     
    8181                           const psRegion *region, ///< Region to convolve (or NULL)
    8282                           const psVector *solution, ///< The solution vector
    83                            const pmSubtractionKernels *kernels ///< Kernel parameters
     83                           const pmSubtractionKernels *kernels, ///< Kernel parameters
     84                           bool useFFT  ///< Use Fast Fourier Transform for the convolution?
    8485    );
    8586
Note: See TracChangeset for help on using the changeset viewer.