12 #ifndef AIMS_SIGNALFILTER_FILTERINGFUNCTION_ELEMENT_RGB_H 13 #define AIMS_SIGNALFILTER_FILTERINGFUNCTION_ELEMENT_RGB_H 22 template <
typename T>
class VolumeRef;
25 class StructuringElement;
29 #define AIMS_ELEMENT_FILTERFUNC_MULTICHANNEL_DECLARE( NAME, VOXELTYPE ) \ 31 class NAME< VOXELTYPE >: public ElementFilteringFunction< VOXELTYPE > \ 34 NAME( carto::Object options = carto::none() ); \ 35 NAME( const NAME< VOXELTYPE > & other ); \ 37 NAME< VOXELTYPE > & operator=( const NAME< VOXELTYPE > & other ); \ 38 virtual NAME * clone() const; \ 39 virtual void setOptions( const carto::Object & options ); \ 40 virtual void updateOptions( const carto::Object & options ); \ 41 virtual VOXELTYPE execute( const carto::VolumeRef< VOXELTYPE > & in ) const; \ 42 virtual VOXELTYPE execute( const carto::VolumeRef< VOXELTYPE > & in, \ 43 const carto::rc_ptr<StructuringElement> & se ) const; \ 45 NAME< VOXELTYPE::ChannelType > _m; \
#define AIMS_ELEMENT_FILTERFUNC_MULTICHANNEL_DECLARE(NAME, VOXELTYPE)