The SeparableFilter class specifies methods a separable filter provides additionally to the filter methods defined in Filter.
More...
#include "libArrayToolbox/SeparableFilter.hh"
|
| SeparableFilter (BoundaryTreatmentType btType=ValueBT, DataT const &boundaryValue=traits< DataT >::zero) |
| Constructor. More...
|
|
virtual | ~SeparableFilter () |
| 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...
|
|
virtual void | applyAlongDim (blitz::Array< DataT, Dim > const &data, blitz::TinyVector< double, Dim > const &elementSizeUm, blitz::Array< ResultT, Dim > &result, int dim, iRoCS::ProgressReporter *pr=NULL) const =0 |
| Apply the filter along the specified dimension. More...
|
|
virtual void | applyAlongDim (Array< DataT, Dim > const &data, Array< ResultT, Dim > &result, int dim, iRoCS::ProgressReporter *pr=NULL) const |
| Apply the filter along the specified dimension. 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::SeparableFilter< DataT, Dim, ResultT >
The SeparableFilter class specifies methods a separable filter provides additionally to the filter methods defined in Filter.
- See also
- Filter
Definition at line 53 of file SeparableFilter.hh.
◆ SeparableFilter()
template<typename DataT, int Dim, typename ResultT>
Constructor.
- Parameters
-
btType | Defines the border treatment of this filter. The following border treatments are available: ValueBT , RepeatBT , MirrorBT , CyclicBT , CropBT |
boundaryValue | The value to use for out-of-Array positions if the btType is ValueBT |
◆ ~SeparableFilter()
template<typename DataT, int Dim, typename ResultT>
◆ applyAlongDim() [1/2]
template<typename DataT, int Dim, typename ResultT>
virtual void atb::SeparableFilter< DataT, Dim, ResultT >::applyAlongDim |
( |
blitz::Array< DataT, Dim > const & |
data, |
|
|
blitz::TinyVector< double, Dim > const & |
elementSizeUm, |
|
|
blitz::Array< ResultT, Dim > & |
result, |
|
|
int |
dim, |
|
|
iRoCS::ProgressReporter * |
pr = NULL |
|
) |
| const |
|
pure virtual |
Apply the filter along the specified dimension.
- Parameters
-
data | The data Array to filter |
elementSizeUm | The data voxel extents in micrometers |
result | The filter result |
dim | The dimension along which to apply the filter |
- Exceptions
-
RuntimeError | If an error occurs during the filter operation an exception of this kind is thrown |
Implemented in atb::CentralHessianUTFilter< DataT, Dim >, atb::DericheFilter< DataT, Dim >, atb::SeparableConvolutionFilter< DataT, Dim >, atb::LocalSumFilter< DataT, Dim >, atb::CentralHessianFilter< DataT, Dim >, atb::SeparableCorrelationFilter< DataT, Dim >, and atb::CentralGradientFilter< DataT, Dim >.
◆ applyAlongDim() [2/2]
template<typename DataT, int Dim, typename ResultT>
Apply the filter along the specified dimension.
- Parameters
-
data | The data Array to filter |
result | The filter result |
dim | The dimension along which to apply the filter |
- Exceptions
-
RuntimeError | If an error occurs during the filter operation an exception of this kind is thrown |
◆ boundaryTreatment()
template<typename DataT, int Dim, typename ResultT>
Get a read-only reference to the boundary treatment object associated with this filter.
- Returns
- A reference to the associated BoundaryTreatment object
◆ setBoundaryTreatment() [1/2]
template<typename DataT, int Dim, typename ResultT>
Change the boundary treatment type to the type specified.
- Parameters
-
bt | The boundary treatment this filter uses |
boundaryValue | If bt is ValueBT, this value will be used for out-of-Array access |
◆ setBoundaryTreatment() [2/2]
template<typename DataT, int Dim, typename ResultT>
Change the boundary treatment type to the type specified.
- Parameters
-
bt | The boundary treatment this filter uses |
◆ apply() [1/2]
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 virtualinherited |
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 >.
◆ apply() [2/2]
template<typename DataT, int Dim, typename ResultT>
Apply the filter to the given Array.
- Parameters
-
data | The Array to apply the filter to |
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 |
◆ p_bt
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.
The documentation for this class was generated from the following file: