NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
|
This is an abstract base class for any type of a data filter. Requires some methods to be implemented by its child classes. More...
#include <filtering.hpp>
Public Member Functions | |
Filter (size_t row, size_t col) | |
Filter base constructor. Will set the used window sizes. More... | |
virtual | ~Filter () |
Empty virtual abstract destructor. More... | |
virtual double | operator() (size_t i, size_t j) const =0 |
Virtual operator() override. Has to be implemented in the child classes and shall return the kernel value at position (i,j). More... | |
virtual mu::value_type | apply (size_t i, size_t j, const mu::value_type &val) const =0 |
Virtual method for applying the filter to a distinct value. Has to be implemented in all child classes. More... | |
bool | isConvolution () const |
This method returns, whether the current filter is a convolution, ie. whether the returned value may be used directly or if all values of a window have to be accumulated first. More... | |
FilterSettings::FilterType | getType () const |
This method returns the type of the current filter as a value of the FilterType enumeration. More... | |
std::pair< size_t, size_t > | getWindowSize () const |
This method returns the window size of the current filter as a std::pair in the order (row,col). More... | |
FilterBuffer & | getBuffer () |
This method returns the internal filtering buffer queue to store already smoothed points avoiding leakage effects. More... | |
FilterBuffer2D & | get2DBuffer () |
This method returns the internal filtering buffer queue for 2D data to store already smoothed points avoiding leakage effects. More... | |
Protected Attributes | |
FilterSettings::FilterType | m_type |
std::pair< size_t, size_t > | m_windowSize |
bool | m_isConvolution |
FilterBuffer | m_buffer |
FilterBuffer2D | m_buffer2D |
This is an abstract base class for any type of a data filter. Requires some methods to be implemented by its child classes.
Definition at line 116 of file filtering.hpp.
|
inline |
Filter base constructor. Will set the used window sizes.
row | size_t |
col | size_t |
Definition at line 134 of file filtering.hpp.
References m_windowSize, and max.
|
inlinevirtual |
Empty virtual abstract destructor.
Definition at line 144 of file filtering.hpp.
|
pure virtual |
Virtual method for applying the filter to a distinct value. Has to be implemented in all child classes.
i | size_t |
j | size_t |
val | const mu::value_type& |
Implemented in NumeRe::WeightedLinearFilter, NumeRe::GaussianFilter, NumeRe::SavitzkyGolayFilter, NumeRe::SavitzkyGolayDiffFilter, and NumeRe::RetouchRegion.
Referenced by Memory::smoothingWindow1D(), and Memory::smoothingWindow2D().
|
inline |
This method returns the internal filtering buffer queue for 2D data to store already smoothed points avoiding leakage effects.
Definition at line 234 of file filtering.hpp.
References m_buffer2D.
Referenced by Memory::smoothingWindow2D().
|
inline |
This method returns the internal filtering buffer queue to store already smoothed points avoiding leakage effects.
Definition at line 220 of file filtering.hpp.
References m_buffer.
Referenced by Memory::smoothingWindow1D().
|
inline |
This method returns the type of the current filter as a value of the FilterType enumeration.
Definition at line 194 of file filtering.hpp.
References m_type.
|
inline |
This method returns the window size of the current filter as a std::pair in the order (row,col).
Definition at line 207 of file filtering.hpp.
References m_windowSize.
Referenced by Memory::smoothingWindow1D(), and Memory::smoothingWindow2D().
|
inline |
This method returns, whether the current filter is a convolution, ie. whether the returned value may be used directly or if all values of a window have to be accumulated first.
Definition at line 181 of file filtering.hpp.
References m_isConvolution.
Referenced by Memory::smoothingWindow1D(), and Memory::smoothingWindow2D().
|
pure virtual |
Virtual operator() override. Has to be implemented in the child classes and shall return the kernel value at position (i,j).
i | size_t |
j | size_t |
Implemented in NumeRe::WeightedLinearFilter, NumeRe::GaussianFilter, NumeRe::SavitzkyGolayFilter, NumeRe::SavitzkyGolayDiffFilter, and NumeRe::RetouchRegion.
|
protected |
Definition at line 122 of file filtering.hpp.
Referenced by getBuffer().
|
protected |
Definition at line 123 of file filtering.hpp.
Referenced by get2DBuffer().
|
protected |
Definition at line 121 of file filtering.hpp.
Referenced by NumeRe::GaussianFilter::GaussianFilter(), isConvolution(), NumeRe::RetouchRegion::RetouchRegion(), NumeRe::SavitzkyGolayDiffFilter::SavitzkyGolayDiffFilter(), NumeRe::SavitzkyGolayFilter::SavitzkyGolayFilter(), and NumeRe::WeightedLinearFilter::WeightedLinearFilter().
|
protected |
Definition at line 119 of file filtering.hpp.
Referenced by NumeRe::GaussianFilter::GaussianFilter(), getType(), NumeRe::RetouchRegion::RetouchRegion(), NumeRe::SavitzkyGolayDiffFilter::SavitzkyGolayDiffFilter(), NumeRe::SavitzkyGolayFilter::SavitzkyGolayFilter(), and NumeRe::WeightedLinearFilter::WeightedLinearFilter().
|
protected |
Definition at line 120 of file filtering.hpp.
Referenced by NumeRe::WeightedLinearFilter::apply(), NumeRe::GaussianFilter::apply(), NumeRe::SavitzkyGolayFilter::apply(), NumeRe::SavitzkyGolayDiffFilter::apply(), NumeRe::RetouchRegion::apply(), NumeRe::RetouchRegion::bottomleft(), NumeRe::RetouchRegion::bottomright(), NumeRe::WeightedLinearFilter::createKernel(), NumeRe::SavitzkyGolayFilter::createKernel(), NumeRe::RetouchRegion::createKernel(), NumeRe::GaussianFilter::createKernel(), NumeRe::SavitzkyGolayDiffFilter::createKernel(), Filter(), NumeRe::SavitzkyGolayFilter::findColumn(), getWindowSize(), NumeRe::WeightedLinearFilter::operator()(), NumeRe::GaussianFilter::operator()(), NumeRe::SavitzkyGolayFilter::operator()(), NumeRe::SavitzkyGolayDiffFilter::operator()(), NumeRe::RetouchRegion::operator()(), and NumeRe::RetouchRegion::topright().