35 #ifndef AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_H
36 #define AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_H
53 class StructuringElementRef;
55 StructuringElementRef
none();
107 static std::set<std::string>
names();
110 static std::map<std::string,carto::rc_ptr<LinearFilteringFunction<T> > > &
_map();
119 #define AIMS_DECLARE_LINFILTERUNC_CUSTOMIZED( NAME ) \
120 template <typename T> \
121 class NAME: public LinearFilteringFunction<T> \
124 NAME( carto::Object options = carto::none() ) \
125 { setOptions( options ); } \
126 NAME( const NAME<T> & other ); \
127 NAME<T> & operator=( const NAME<T> & ); \
129 virtual NAME<T> *clone() const { return new NAME<T>(*this); } \
130 virtual void setOptions( const carto::Object & options ); \
131 virtual void updateOptions( const carto::Object & options ); \
132 const std::vector<int> & getAmplitude() const; \
133 virtual T execute( const carto::VolumeRef<T> & in ) const;
135 #define AIMS_DECLARE_LINFILTERFUNC_BASIC( NAME ) \
136 AIMS_DECLARE_LINFILTERUNC_CUSTOMIZED(NAME) \
138 template <typename T> \
139 NAME<T>::NAME( const NAME<T> & other ) {} \
140 template <typename T> \
141 NAME<T>::~NAME() {} \
142 template <typename T> \
143 NAME<T> & NAME<T>::operator=( const NAME<T> & other ) {}
Pure virtual class: interface for filtering functions called by aims::FilteringImageAlgorithm and aim...
static std::map< std::string, carto::rc_ptr< LinearFilteringFunction< T > > > & _map()
static std::set< std::string > names()
static LinearFilteringFunction< T > * create(const std::string &name, carto::Object options=carto::none())
static void registerFunction(const std::string &name, const LinearFilteringFunction< T > &func)
Base class for linear filtering functions.
virtual T execute(const carto::VolumeRef< T > &in) const =0
virtual const std::vector< int > & getAmplitude() const =0
Return a vector fo size 6 describing the border needed in each direction (x-, x+, y-,...
virtual LinearFilteringFunction< T > * clone() const =0
clone
LinearFilteringFunction()
LinearFilteringFunction(const LinearFilteringFunction< T > &)
virtual ~LinearFilteringFunction()
LinearFilteringFunction< T > & operator=(const LinearFilteringFunction< T > &)
#define AIMS_DECLARE_LINFILTERUNC_CUSTOMIZED(NAME)
StructuringElementRef none()
std::vector< int > _amplitude
carto::VolumeRef< double > _kernel
std::vector< float > _voxelsize