|
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().