]> Creatis software - cpPlugins.git/blob - lib/ivq/VTK/ImageToFourierSeriesFilter.h
...
[cpPlugins.git] / lib / ivq / VTK / ImageToFourierSeriesFilter.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __ivq__VTK__ImageToFourierSeriesFilter__h__
6 #define __ivq__VTK__ImageToFourierSeriesFilter__h__
7
8 #include <vtkImageAlgorithm.h>
9
10 namespace ivq
11 {
12   namespace VTK
13   {
14     /**
15      */
16     template< class _TFourierSeries >
17     class ImageToFourierSeriesFilter
18       : public vtkImageAlgorithm
19     {
20     public:
21       typedef ImageToFourierSeriesFilter Self;
22       typedef _TFourierSeries            TFourierSeries;
23
24     public:
25       vtkTypeMacro( ImageToFourierSeriesFilter, vtkImageAlgorithm );
26
27     public:
28       static Self* New( );
29
30       const TFourierSeries& GetOutput( ) const;
31       void SetNumberOfHarmonics( unsigned int q );
32       unsigned int GetNumberOfHarmonics( ) const;
33       const double& GetContourValue( ) const;
34       void SetContourValue( const double& v );
35
36     protected:
37       ImageToFourierSeriesFilter( );
38       virtual ~ImageToFourierSeriesFilter( );
39
40       int RequestData(
41         vtkInformation* information,
42         vtkInformationVector** input,
43         vtkInformationVector* output
44         );
45       int RequestInformation(
46         vtkInformation* information,
47         vtkInformationVector** input,
48         vtkInformationVector* output
49         );
50
51     private:
52       // Purposely not implemented
53       ImageToFourierSeriesFilter( const Self& );
54       void operator=( const Self& );
55
56     protected:
57       TFourierSeries m_FourierSeries;
58       double         m_ContourValue;
59     };
60
61   } // ecapseman
62
63 } // ecapseman
64
65 #endif // __ivq__VTK__ImageToFourierSeriesFilter__h__
66
67 // eof - $RCSfile$