X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpExtensions%2FAlgorithms%2FMultiScaleGaussianImageFilter.h;h=5dba45bfb2e710a1a1da8055b941e182d7fd19b5;hb=0bb74f9a32de4ce1559973ebf72fda495aa2c587;hp=2ad1b5072c26264d1aa6be9f3fd1e8b88816786e;hpb=2361f4f97631e09d88d8a5510a369817dcaa19db;p=cpPlugins.git diff --git a/lib/cpExtensions/Algorithms/MultiScaleGaussianImageFilter.h b/lib/cpExtensions/Algorithms/MultiScaleGaussianImageFilter.h index 2ad1b50..5dba45b 100644 --- a/lib/cpExtensions/Algorithms/MultiScaleGaussianImageFilter.h +++ b/lib/cpExtensions/Algorithms/MultiScaleGaussianImageFilter.h @@ -9,91 +9,93 @@ #include namespace cpExtensions +{ + namespace Algorithms { - namespace Algorithms + /** + */ + template< class I, class O > + class MultiScaleGaussianImageFilter + : public itk::ImageToImageFilter< I, O > { + public: + typedef MultiScaleGaussianImageFilter Self; + typedef itk::ImageToImageFilter< I, O > Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + typedef I TInputImage; + typedef O TOutputImage; + + typedef std::set< double > TScalesContainer; + + enum FilterId + { + Gradient = 0, + GradientMagnitude, + Hessian, + None + }; + + protected: /** */ - template< class I, class O > - class MultiScaleGaussianImageFilter - : public itk::ImageToImageFilter< I, O > + class _Greater { public: - typedef MultiScaleGaussianImageFilter Self; - typedef itk::ImageToImageFilter< I, O > Superclass; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; - - typedef I TInputImage; - typedef O TOutputImage; - - typedef std::set< double > TScalesContainer; - - enum FilterId - { - Gradient = 0, - GradientMagnitude, - Hessian, - None - }; - - protected: - /** - */ - class _Greater - { - public: - typedef typename O::PixelType _T; - - public: - _Greater( ); - virtual ~_Greater( ); - bool operator!=( const _Greater& b ) const; - bool operator==( const _Greater& b ) const; - inline _T operator()( const _T& a ) const; - inline _T operator()( const _T& a, const _T& b ) const; - }; + typedef typename O::PixelType _T; public: - itkNewMacro( Self ); - itkTypeMacro( MultiScaleGaussianImageFilter, itkImageToImageFilter ); + _Greater( ); + virtual ~_Greater( ); + bool operator!=( const _Greater& b ) const; + bool operator==( const _Greater& b ) const; + inline _T operator()( const _T& a ) const; + inline _T operator()( const _T& a, const _T& b ) const; + }; - public: - void SetFilterToGradient( ); - void SetFilterToGradientMagnitude( ); - void SetFilterToHessian( ); + public: + itkNewMacro( Self ); + itkTypeMacro( MultiScaleGaussianImageFilter, itkImageToImageFilter ); - bool IsGradientFilter( ) const; - bool IsGradientMagnitudeFilter( ) const; - bool IsHessianFilter( ) const; + public: + void SetFilterToGradient( ); + void SetFilterToGradientMagnitude( ); + void SetFilterToHessian( ); - void AddScale( const double& s ); - unsigned long GetNumberOfScales( ) const; + bool IsGradientFilter( ) const; + bool IsGradientMagnitudeFilter( ) const; + bool IsHessianFilter( ) const; - protected: - MultiScaleGaussianImageFilter( ); - virtual ~MultiScaleGaussianImageFilter( ); + void AddScale( const double& s ); + unsigned long GetNumberOfScales( ) const; - virtual void GenerateData( ); + protected: + MultiScaleGaussianImageFilter( ); + virtual ~MultiScaleGaussianImageFilter( ); - template< class F > - void _GenerateData( ); + virtual void GenerateData( ); - private: - // Purposely not implemented. - MultiScaleGaussianImageFilter( const Self& ); - void operator=( const Self& ); + template< class F > + void _GenerateData( ); - protected: - TScalesContainer m_Scales; - FilterId m_FilterId; - }; + private: + // Purposely not implemented. + MultiScaleGaussianImageFilter( const Self& ); + void operator=( const Self& ); + + protected: + TScalesContainer m_Scales; + FilterId m_FilterId; + }; } // ecapseman } // ecapseman +#ifndef ITK_MANUAL_INSTANTIATION #include +#endif // ITK_MANUAL_INSTANTIATION #endif // __CPEXTENSIONS__ALGORITHMS__MULTISCALEGAUSSIANIMAGEFILTER__H__