|
| Filter (BoundaryTreatmentType bt=ValueBT, DataT const &boundaryValue=traits< DataT >::zero) |
| Constructor. More...
|
|
virtual | ~Filter () |
| Destructor. More...
|
|
virtual void | apply (blitz::Array< DataT, Dim > const &data, blitz::TinyVector< double, Dim > const &elementSizeUm, blitz::Array< ResultT, Dim > &result, iRoCS::ProgressReporter *pr=NULL) const =0 |
| Apply the filter to the given Array. More...
|
|
virtual void | apply (Array< DataT, Dim > const &data, Array< ResultT, Dim > &result, iRoCS::ProgressReporter *pr=NULL) const |
| Apply the filter to the given Array. More...
|
|
BoundaryTreatment< DataT, Dim > const & | boundaryTreatment () const |
| Get a read-only reference to the boundary treatment object associated with this filter. More...
|
|
void | setBoundaryTreatment (BoundaryTreatmentType bt, DataT const &boundaryValue=traits< DataT >::zero) |
| Change the boundary treatment type to the type specified. More...
|
|
void | setBoundaryTreatment (BoundaryTreatment< DataT, Dim > const &bt) |
| Change the boundary treatment type to the type specified. More...
|
|
template<typename DataT, int Dim, typename ResultT>
class atb::Filter< DataT, Dim, ResultT >
The Filter class is the base class for all filter implementations.
It is responsible for handling the boundary treatment and provides apply() methods to filter different types of Arrays.
Definition at line 55 of file Filter.hh.
template<typename DataT, int Dim, typename ResultT>
virtual void atb::Filter< DataT, Dim, ResultT >::apply |
( |
blitz::Array< DataT, Dim > const & |
data, |
|
|
blitz::TinyVector< double, Dim > const & |
elementSizeUm, |
|
|
blitz::Array< ResultT, Dim > & |
result, |
|
|
iRoCS::ProgressReporter * |
pr = NULL |
|
) |
| const |
|
pure virtual |
Apply the filter to the given Array.
- Parameters
-
data | The blitz++ Array to apply the filter to |
elementSizeUm | The element size of the Array |
result | The filtering result |
pr | If given progress will be reported to this ProgressReporter |
- Exceptions
-
RuntimeError | If an error occurs during the filter operation an exception of this kind is thrown |
Implemented in atb::AnisotropicDiffusionFilter< DataT, Dim >, atb::CentralHessianUTFilter< DataT, Dim >, atb::DericheFilter< DataT, Dim >, atb::SeparableConvolutionFilter< DataT, Dim >, atb::LaplacianOfGaussianFilter< DataT, Dim >, atb::LocalSumFilter< DataT, Dim >, atb::CentralHessianFilter< DataT, Dim >, atb::SeparableCorrelationFilter< DataT, Dim >, atb::CentralGradientFilter< DataT, Dim >, atb::GaussianFilter< DataT, Dim >, atb::FastCorrelationFilter< DataT, Dim >, atb::FastConvolutionFilter< DataT, Dim >, atb::FastNormalizedCorrelationFilter< DataT, Dim >, atb::IsotropicPercentileFilter< DataT, Dim >, atb::LaplacianFilter< DataT, Dim >, atb::FastPhaseOnlyCorrelationFilter< DataT, Dim >, atb::MedianFilter< DataT, Dim >, and atb::IsotropicMedianFilter< DataT, Dim >.
template<typename DataT, int Dim, typename ResultT>
The boundary treatment object to use for out-of-Array access.
This is set during Filter object creation and can be changed by calling the setBoundaryTreatment() method. It gets destroyed, when the filter is deleted. If you delete the BoundaryTreatment object in a subclass, you must set this pointer to the NULL pointer.
Definition at line 159 of file Filter.hh.