#include <ossimFilter.h>
|
| ossimFilter () |
|
virtual | ~ossimFilter () |
|
virtual double | filter (double x, double support) const =0 |
|
virtual NEWMAT::Matrix * | newMatrix (long width=3, double middle=0.0, double scale=0.0) const |
|
virtual void | createMatrix (NEWMAT::Matrix &m, long width=3, double middle=0.0, double scale=0.0) const |
|
virtual NEWMAT::RowVector * | newVector (long width, double middle=0.0, double scale=1.0) const |
|
virtual double | getSupport () const =0 |
|
|
static double | Sinc (double x) |
|
static double | Sinc (double x, double) |
|
Definition at line 8 of file ossimFilter.h.
◆ ossimFilter()
ossimFilter::ossimFilter |
( |
| ) |
|
|
inline |
◆ ~ossimFilter()
virtual ossimFilter::~ossimFilter |
( |
| ) |
|
|
inlinevirtual |
◆ createMatrix()
void ossimFilter::createMatrix |
( |
NEWMAT::Matrix & |
m, |
|
|
long |
width = 3 , |
|
|
double |
middle = 0.0 , |
|
|
double |
scale = 0.0 |
|
) |
| const |
|
virtual |
Definition at line 263 of file ossimFilter.cpp.
References filter(), and getSupport().
Referenced by newMatrix().
268 NEWMAT::ColumnVector colVec(width);
269 NEWMAT::RowVector rowVec(width);
282 for(
long index = 0; index < width; index++)
284 t = (double)index/(
double)(width-1);
285 t = middle + (t - .5)*scale;
virtual double getSupport() const =0
virtual double filter(double x, double support) const =0
◆ filter()
virtual double ossimFilter::filter |
( |
double |
x, |
|
|
double |
support |
|
) |
| const |
|
pure virtual |
Implemented in ossimTriangleFilter, ossimQuadraticFilter, ossimMitchellFilter, ossimMagicFilter, ossimLanczosFilter, ossimHermiteFilter, ossimHammingFilter, ossimHanningFilter, ossimGaussianFilter, ossimBSplineFilter, ossimCubicFilter, ossimCatromFilter, ossimBlackmanBesselFilter, ossimBlackmanSincFilter, ossimBlackmanFilter, ossimBesselFilter, ossimBesselOrderOneFilter, ossimBellFilter, ossimSincFilter, and ossimBoxFilter.
Referenced by ossimFilterTable::buildTable(), createMatrix(), newVector(), ossimScaleFilter::runHorizontalFilterTemplate(), and ossimScaleFilter::runVerticalFilterTemplate().
◆ getSupport()
virtual double ossimFilter::getSupport |
( |
| ) |
const |
|
pure virtual |
Implemented in ossimTriangleFilter, ossimQuadraticFilter, ossimMitchellFilter, ossimMagicFilter, ossimLanczosFilter, ossimHermiteFilter, ossimHammingFilter, ossimHanningFilter, ossimGaussianFilter, ossimBSplineFilter, ossimCubicFilter, ossimCatromFilter, ossimBlackmanBesselFilter, ossimBlackmanSincFilter, ossimBlackmanFilter, ossimBesselFilter, ossimBesselOrderOneFilter, ossimNearestNeighborFilter, ossimBellFilter, ossimSincFilter, and ossimBoxFilter.
Referenced by ossimFilterTable::buildTable(), createMatrix(), ossimFilterResampler::getKernelSupport(), ossimScaleFilter::getSupport(), newVector(), ossimScaleFilter::runHorizontalFilterTemplate(), and ossimScaleFilter::runVerticalFilterTemplate().
◆ newMatrix()
NEWMAT::Matrix * ossimFilter::newMatrix |
( |
long |
width = 3 , |
|
|
double |
middle = 0.0 , |
|
|
double |
scale = 0.0 |
|
) |
| const |
|
virtual |
Will call the filter method to create a convolution matrix. This matrix will not have normalized weights.
Will generate a matrix by creating an outer product of the 1-D filter array. This matrix will be square width-by-width.
note: the matrix is a new matrix and needs to be destroyed by the caller
Definition at line 298 of file ossimFilter.cpp.
References createMatrix().
302 NEWMAT::Matrix *result =
new NEWMAT::Matrix(width, width);
virtual void createMatrix(NEWMAT::Matrix &m, long width=3, double middle=0.0, double scale=0.0) const
◆ newVector()
NEWMAT::RowVector * ossimFilter::newVector |
( |
long |
width, |
|
|
double |
middle = 0.0 , |
|
|
double |
scale = 1.0 |
|
) |
| const |
|
virtual |
Definition at line 312 of file ossimFilter.cpp.
References filter(), and getSupport().
316 NEWMAT::RowVector *result =
new NEWMAT::RowVector(width);
321 for(
long index = 0; index < width; index++)
323 t = (double)index/(
double)(width-1);
324 t = middle + (t- .5)*scale;
326 (*result)[index] = val;
virtual double getSupport() const =0
virtual double filter(double x, double support) const =0
◆ Sinc() [1/2]
static double ossimFilter::Sinc |
( |
double |
x | ) |
|
|
inlinestatic |
◆ Sinc() [2/2]
static double ossimFilter::Sinc |
( |
double |
x, |
|
|
double |
|
|
) |
| |
|
inlinestatic |
The documentation for this class was generated from the following files: