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