IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 16, 2007, 3:49:12 PM (19 years ago)
Author:
Paul Price
Message:

Expanding psImageConvolveMaskDirect and psImageConvolveMaskFFT to allow convolution in-place, and expanding operations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/imageops/psImageConvolve.h

    r15320 r15321  
    55 * @author Robert DeSonia, MHPCC
    66 *
    7  * @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
    8  * @date $Date: 2007-10-16 23:31:03 $
     7 * @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
     8 * @date $Date: 2007-10-17 01:49:12 $
    99 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
    1010 */
     
    155155/// Convolve a mask image with a kernel, using direct convolution
    156156///
    157 /// Returns a mask, grown by the supplied kernel.  Only those pixels specified by the maskVal are grown; the
    158 /// rest are simply propagated.
    159 psImage *psImageConvolveMaskDirect(const psImage *mask, ///< Mask to convolve
     157/// Returns a mask, grown by the supplied convolution bounds.  Only those pixels specified by the maskVal are
     158/// grown, being ORed with setVal; the rest are simply propagated.  If setVal is zero, then individual bits
     159/// matching maskVal are grown.
     160psImage *psImageConvolveMaskDirect(psImage *out, ///< Output image, or NULL
     161                                   const psImage *mask, ///< Mask to convolve
    160162                                   psMaskType maskVal, ///< Mask value to convolve
    161                                    const psKernel *kernel ///< Kernel by which to convolve
     163                                   psMaskType setVal, ///< Mask value to set; 0 to propagate maskVal
     164                                   int xMin, int xMax, int yMin, int yMax ///< Convolution bounds
    162165    );
    163166
    164167/// Convolve a mask image with a kernel, using the FFT
    165168///
    166 /// Returns a mask, grown by the supplied kernel.  Only those pixels specified by the maskVal are grown; the
    167 /// rest are simply propagated.  Uses psImageConvolveFFT to convolve the mask, and then thresholds at the
    168 /// specified level.
    169 psImage *psImageConvolveMaskFFT(const psImage *mask, ///< Mask to convolve
     169/// Returns a mask, grown by the supplied convolution bounds.  Only those pixels specified by the maskVal are
     170/// grown, being ORed with setVal; the rest are simply propagated.  If setVal is zero, uses maskVal; note that
     171/// the mode of growing individual bits in maskVal is NOT supported because this algorithm does not enable it.
     172/// Uses psImageConvolveFFT to convolve those pixels which are masked, and then thresholds at the specified
     173/// level.
     174psImage *psImageConvolveMaskFFT(psImage *out, ///< Output image, or NULL
     175                                const psImage *mask, ///< Mask to convolve
    170176                                psMaskType maskVal, ///< Mask value to convolve
    171                                 const psKernel *kernel, ///< Kernel by which to convolve
     177                                psMaskType setVal, ///< Mask value to set; 0 to use maskVal
     178                                int xMin, int xMax, int yMin, int yMax, ///< Convolution bounds
    172179                                float thresh ///< Threshold (0..1) for convolved floating-point image
    173180    );
    174 
    175181
    176182/// Smooths an image by parts using 1D Gaussian independently in x and y.
Note: See TracChangeset for help on using the changeset viewer.