STIRA
0.1
|
Filters an image using a separable filter kernel. More...
#include <SeparableFilter.h>
Public Member Functions | |
SeparableFilter () | |
Constructor. | |
~SeparableFilter () | |
Destructor. | |
Static Public Member Functions | |
static bool | RunRow (ArrayGrid< double > *pInput, ArrayGrid< double > *pOutput, double *filtx, int filterLengthX, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies row by row filtering on a single grid with 1 1D filter kernel. More... | |
static bool | RunColumn (ArrayGrid< double > *pInputBand, ArrayGrid< double > *pOutputBand, double *filty, int filterLengthY, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies column by column filtering on a single grid with 1 1D filter kernel. More... | |
static ArrayGrid< double > * | RunRowColumn (ArrayGrid< double > *pInput, double *filterTapX, double *filterTapY, int filterLengthX, int filterLengthY, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies filtering on a single grid, first row by row and then column by column. More... | |
static ArrayGrid< double > * | RunColumnRow (ArrayGrid< double > *pInput, double *filterTapX, double *filterTapY, int filterLengthX, int filterLengthY, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies filtering on a single grid, first column by column and then row by row. More... | |
static Image * | RunRowColumn (Image *pInput, double *filterTapX, double *filterTapY, int filterLengthX, int filterLengthY, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies filtering on a multiband image, first row by row and then column by column. More... | |
static Image * | RunColumnRow (Image *pInput, double *filterTapX, double *filterTapY, int filterLengthX, int filterLengthY, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Applies filtering on a multiband image, first column by column and then row by row. More... | |
static void | BasicFilter1D (double *pInputArray1D, double *pFilterKernel, double *pOutputArray1D, int inputLength, int filterLength, GridExtender< double >::ExtensionType myType=GridExtender< double >::EXTEND_MIRROR) |
Filters a one dimensional data set (a single row or column) More... | |
Filters an image using a separable filter kernel.
|
static |
Filters a one dimensional data set (a single row or column)
pInputArray1D | 1D input array to filter (a row or a column of the image) |
pFilterKernel | the 1D filter kernel |
pOutputArray1D | output array after filtering |
inputLength | length of the 1D array |
filterLength | length of the filter |
myType | identifies how borders should be extended (mirror, tile, black) |
Referenced by stira::filter::GaussConvolve::CreateBlurredBars().
|
static |
Applies column by column filtering on a single grid with 1 1D filter kernel.
pInput | the input grid |
pOutput | the output grid (allocated but not necessarely initialized) |
filty | the 1D filter taps |
filterLengthY | length of the filter |
myType | identifies how borders should be extended (mirrored, tiled, padded with zeros) |
If the filter length is 1, the output grid is just a copy of the input grid
References stira::imagedata::ArrayGrid< T >::GetHeight(), stira::imagedata::ArrayGrid< T >::GetValue(), stira::imagedata::ArrayGrid< T >::GetWidth(), stira::imagedata::ArrayGrid< T >::SetGridValues(), and stira::imagedata::ArrayGrid< T >::SetValue().
|
static |
Applies filtering on a single grid, first column by column and then row by row.
pInput | the input grid |
filterTapX | the 1D filter taps for the x direction |
filterTapY | the 1D filter taps for the y direction |
filterLengthX | length of the filter for the x direction |
filterLengthY | length of the filter for the y direction |
myType | identifies how borders should be extended (mirror, tile, black) |
mallocs memory and returns response of input image filtered with filterTapX on the rows and filterTapY on the columns
References stira::imagedata::ArrayGrid< T >::GetHeight(), and stira::imagedata::ArrayGrid< T >::GetWidth().
Referenced by RunColumnRow().
|
static |
Applies filtering on a multiband image, first column by column and then row by row.
pInput | the input image |
filterTapX | the 1D filter taps for the x direction |
filterTapY | the 1D filter taps for the y direction |
filterLengthX | length of the filter for the x direction |
filterLengthY | length of the filter for the y direction |
myType | identifies how borders should be extended (mirror, tile, black) |
mallocs memory and returns response of input image filtered with filterTapX on the rows and filterTapY on the columns
References stira::imagedata::Image::AddBand(), stira::imagedata::Image::GetBands(), stira::imagedata::Image::GetHeight(), stira::imagedata::Image::GetNumberOfBands(), stira::imagedata::Image::GetWidth(), and RunColumnRow().
|
static |
Applies row by row filtering on a single grid with 1 1D filter kernel.
pInput | the input grid |
pOutput | the output grid (allocated but not necessarely initialized) |
filtx | the 1D filter taps |
filterLengthX | length of the filter |
myType | identifies how borders should be extended (mirrored, tiled, padded with zeros) |
If the filter length is 1, the output grid is just a copy of the input grid
References stira::imagedata::ArrayGrid< T >::GetHeight(), stira::imagedata::ArrayGrid< T >::GetValue(), stira::imagedata::ArrayGrid< T >::GetWidth(), stira::imagedata::ArrayGrid< T >::SetGridValues(), and stira::imagedata::ArrayGrid< T >::SetValue().
|
static |
Applies filtering on a single grid, first row by row and then column by column.
pInput | the input grid |
filterTapX | the 1D filter taps for the x direction |
filterTapY | the 1D filter taps for the y direction |
filterLengthX | length of the filter for the x direction |
filterLengthY | length of the filter for the y direction |
myType | identifies how borders should be extended (mirror, tile, black) |
mallocs memory and returns response of input image filtered with filterTapX on the rows and filterTapY on the columns
References stira::imagedata::ArrayGrid< T >::GetHeight(), and stira::imagedata::ArrayGrid< T >::GetWidth().
Referenced by stira::filter::GaussConvolve::DerivativeConvolveSeparable(), stira::steerable::PyramidBurtAdelson::GetPyramid(), stira::steerable::ComputeSteerableFilteredImages::Run(), and RunRowColumn().
|
static |
Applies filtering on a multiband image, first row by row and then column by column.
pInput | the input image |
filterTapX | the 1D filter taps for the x direction |
filterTapY | the 1D filter taps for the y direction |
filterLengthX | length of the filter for the x direction |
filterLengthY | length of the filter for the y direction |
myType | identifies how borders should be extended (mirror, tile, black) |
mallocs memory and returns response of input image filtered with filterTapX on the rows and filterTapY on the columns
References stira::imagedata::Image::AddBand(), stira::imagedata::Image::GetBands(), stira::imagedata::Image::GetHeight(), stira::imagedata::Image::GetNumberOfBands(), stira::imagedata::Image::GetWidth(), and RunRowColumn().