aimsalgo 6.0.0
Neuroimaging image processing
filteringfunction_linear_rgb.h
Go to the documentation of this file.
1/* Copyright (C) 2000-2013 CEA
2 *
3 * This software and supporting documentation were developed by
4 * bioPICSEL
5 * CEA/DSV/I²BM/MIRCen/LMN, Batiment 61,
6 * 18, route du Panorama
7 * 92265 Fontenay-aux-Roses
8 * France
9 */
10
11
12#ifndef AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_RGB_H
13#define AIMS_SIGNALFILTER_FILTERINGFUNCTION_LINEAR_RGB_H
14
15//--- aims -------------------------------------------------------------------
16#include <aims/rgb/rgb.h>
18//--- cartobase --------------------------------------------------------------
19#include <cartobase/object/object.h>
20//--- forward declarations ---------------------------------------------------
21namespace carto {
22 template <typename T> class VolumeRef;
23}
24namespace aims {
26}
27//----------------------------------------------------------------------------
28
29#define AIMS_LIN_FILTERFUNC_MULTICHANNEL_DECLARE( NAME, T ) \
30 template <> \
31 class NAME< T >: public LinearFilteringFunction< T > \
32 { \
33 public: \
34 NAME( carto::Object options = carto::none() ); \
35 NAME( const NAME< T > & other ); \
36 virtual ~NAME(); \
37 NAME<T> & operator=( const NAME< T > & other ); \
38 virtual NAME * clone() const; \
39 virtual void setOptions( const carto::Object & options ); \
40 virtual void updateOptions( const carto::Object & options ); \
41 const std::vector<int> & getAmplitude() const; \
42 virtual T execute( const carto::VolumeRef<T> & in ) const; \
43 protected: \
44 NAME< T::ChannelType > _m; \
45 }
46
47namespace aims {
50} // namespace aims
51
52#endif
#define AIMS_LIN_FILTERFUNC_MULTICHANNEL_DECLARE(NAME, T)
carto::VoxelRGBA AimsRGBA
carto::VoxelRGB AimsRGB