OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimDiscreteConvolutionKernel.h>
Public Member Functions | |
ossimDiscreteConvolutionKernel (long width, long height, bool doWeightedAverage=true) | |
ossimDiscreteConvolutionKernel (const NEWMAT::Matrix &kernel, bool doWeightedAverage=true) | |
virtual | ~ossimDiscreteConvolutionKernel () |
virtual void | setKernel (const NEWMAT::Matrix &kernel) |
virtual void | convolve (const float *data, double &result, float nullPixel=OSSIM_DEFAULT_NULL_PIX_FLOAT) const |
virtual void | convolveSubImage (const float *data, long dataWidth, double &result, float nullPixel=OSSIM_DEFAULT_NULL_PIX_FLOAT) const |
virtual void | convolve (const double *data, double &result, double nullPixel=OSSIM_DEFAULT_NULL_PIX_DOUBLE) const |
virtual void | convolveSubImage (const double *data, long dataWidth, double &result, double nullPixel=OSSIM_DEFAULT_NULL_PIX_DOUBLE) const |
virtual void | convolve (const short *data, double &result, ossim_sint16 nullPixel=OSSIM_DEFAULT_NULL_PIX_SINT16) const |
virtual void | convolveSubImage (const short *data, long dataWidth, double &result, ossim_sint16 nullPixel=OSSIM_DEFAULT_NULL_PIX_SINT16) const |
virtual void | convolve (const unsigned short *data, double &result, ossim_uint16 nullPixel=OSSIM_DEFAULT_NULL_PIX_UINT16) const |
virtual void | convolveSubImage (const unsigned short *data, long dataWidth, double &result, ossim_uint16 nullPixel=OSSIM_DEFAULT_NULL_PIX_UINT16) const |
virtual void | convolve (const unsigned char *data, double &result, ossim_uint8 nullPixel=OSSIM_DEFAULT_NULL_PIX_UINT8) const |
virtual void | convolveSubImage (const unsigned char *data, long dataWidth, double &result, ossim_uint8 nullPixel=OSSIM_DEFAULT_NULL_PIX_UINT8) const |
virtual void | buildConvolution (double, double) |
virtual long | getWidth () const |
virtual long | getHeight () const |
const NEWMAT::Matrix & | getKernel () const |
Static Public Member Functions | |
static void | buildSymmetric (const std::vector< float > &coefficients, NEWMAT::Matrix &result) |
static void | buildSymmetric (float *coefficients, long size, NEWMAT::Matrix &result) |
Protected Attributes | |
NEWMAT::Matrix * | theKernel |
long | theWidth |
long | theHeight |
bool | theComputeWeightedAverageFlag |
Definition at line 19 of file ossimDiscreteConvolutionKernel.h.
ossimDiscreteConvolutionKernel::ossimDiscreteConvolutionKernel | ( | long | width, |
long | height, | ||
bool | doWeightedAverage = true |
||
) |
Definition at line 12 of file ossimDiscreteConvolutionKernel.cpp.
References theHeight, theKernel, and theWidth.
ossimDiscreteConvolutionKernel::ossimDiscreteConvolutionKernel | ( | const NEWMAT::Matrix & | kernel, |
bool | doWeightedAverage = true |
||
) |
Definition at line 27 of file ossimDiscreteConvolutionKernel.cpp.
References theHeight, theKernel, and theWidth.
|
virtual |
Definition at line 36 of file ossimDiscreteConvolutionKernel.cpp.
References theKernel.
|
inlinevirtual |
This is used to allow me to continually adjust a convolution kernel based on where it center lies on a pixel. The xLocation and yLocation are all from the center of pixel. If I am convolving at full resolution then xLocation and yLocation should both be 0. Let's pretend that we contract an image by .5 scale factor or zooming out by a factor of 2. Then we actually of it .5 off from cneter of pixel in both the x and y direction. This information can be used to allow a kernel to adjust it's waits accordingly.
Typically if the xLocation and yLocation is directly on the center indicated by 0 vor both then the kernel defaults to 1 in the middle and all other weights are zero.
Reimplemented in ossimDiscreteNearestNeighbor, and ossimDiscrete3x3HatFilter.
Definition at line 113 of file ossimDiscreteConvolutionKernel.h.
|
static |
|
static |
|
virtual |
Will expect a data buffer of size width*height and is row ordered.
Reimplemented in ossimDiscrete3x3HatFilter.
Definition at line 91 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Will expect a data buffer of size width*height and is row ordered.
Definition at line 453 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Will expect a data buffer of size width*height and is row ordered.
Definition at line 362 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Will expect a data buffer of size width*height and is row ordered.
Definition at line 272 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Reimplemented in ossimDiscrete3x3HatFilter.
Definition at line 181 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Reimplemented in ossimDiscrete3x3HatFilter.
Definition at line 133 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
Referenced by ossimConvolutionSource::convolve(), and ossimTilePatch::fillTileTemplate().
|
virtual |
Definition at line 495 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Definition at line 404 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
Definition at line 314 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
virtual |
this allows you to pass a subImage to the convolution engine. It needs to know the width of the buffer so it can increment to the next element.
Reimplemented in ossimDiscrete3x3HatFilter.
Definition at line 223 of file ossimDiscreteConvolutionKernel.cpp.
References theComputeWeightedAverageFlag, theHeight, and theWidth.
|
inlinevirtual |
Definition at line 120 of file ossimDiscreteConvolutionKernel.h.
References theHeight.
Referenced by ossimConvolutionSource::convolve(), ossimTilePatch::convolve(), and ossimTilePatch::fillTileTemplate().
|
inline |
Definition at line 124 of file ossimDiscreteConvolutionKernel.h.
References theKernel.
|
inlinevirtual |
Definition at line 116 of file ossimDiscreteConvolutionKernel.h.
References theWidth.
Referenced by ossimConvolutionSource::convolve(), ossimTilePatch::convolve(), and ossimTilePatch::fillTileTemplate().
|
virtual |
Definition at line 80 of file ossimDiscreteConvolutionKernel.cpp.
References theHeight, theKernel, and theWidth.
|
protected |
Definition at line 132 of file ossimDiscreteConvolutionKernel.h.
Referenced by convolve(), and convolveSubImage().
|
protected |
Definition at line 131 of file ossimDiscreteConvolutionKernel.h.
Referenced by convolve(), convolveSubImage(), getHeight(), ossimDiscreteConvolutionKernel(), and setKernel().
|
protected |
Definition at line 129 of file ossimDiscreteConvolutionKernel.h.
Referenced by getKernel(), ossimDiscreteConvolutionKernel(), setKernel(), and ~ossimDiscreteConvolutionKernel().
|
protected |
Definition at line 130 of file ossimDiscreteConvolutionKernel.h.
Referenced by convolve(), convolveSubImage(), getWidth(), ossimDiscreteConvolutionKernel(), and setKernel().