35 #ifndef AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_H 36 #define AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_H 53 class StructuringElementRef;
55 StructuringElementRef
none();
83 virtual const std::vector<int> & getAmplitude()
const = 0;
105 static void registerFunction(
const std::string & name,
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 ) {}
std::vector< float > _voxelsize
#define AIMS_DECLARE_LINFILTERUNC_CUSTOMIZED(NAME)
const AlgorithmCaller::LaunchExecution execute
std::vector< int > _amplitude
Pure virtual class: interface for filtering functions called by aims::FilteringImageAlgorithm and aim...
carto::VolumeRef< double > _kernel
LinearFilteringFunction()
Base class for linear filtering functions.
virtual ~LinearFilteringFunction()