// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __ivq__VTK__ImageToFourierSeriesFilter__h__ #define __ivq__VTK__ImageToFourierSeriesFilter__h__ #include #include namespace ivq { namespace VTK { /** */ template< class _TFourierSeries > class IVQ_EXPORT ImageToFourierSeriesFilter : public vtkImageAlgorithm { public: typedef ImageToFourierSeriesFilter Self; typedef _TFourierSeries TFourierSeries; public: vtkTypeMacro( ImageToFourierSeriesFilter, vtkImageAlgorithm ); public: static Self* New( ); const TFourierSeries& GetOutput( ) const; void SetNumberOfHarmonics( unsigned int q ); unsigned int GetNumberOfHarmonics( ) const; const double& GetContourValue( ) const; void SetContourValue( const double& v ); protected: ImageToFourierSeriesFilter( ); virtual ~ImageToFourierSeriesFilter( ); int RequestData( vtkInformation* information, vtkInformationVector** input, vtkInformationVector* output ); int RequestInformation( vtkInformation* information, vtkInformationVector** input, vtkInformationVector* output ); private: // Purposely not implemented ImageToFourierSeriesFilter( const Self& ); void operator=( const Self& ); protected: TFourierSeries m_FourierSeries; double m_ContourValue; }; } // ecapseman } // ecapseman #endif // __ivq__VTK__ImageToFourierSeriesFilter__h__ // eof - $RCSfile$