#ifndef __CPEXTENSIONS__ALGORITHMS__MFLUXMEDIALNESS__H__ #define __CPEXTENSIONS__ALGORITHMS__MFLUXMEDIALNESS__H__ #include namespace cpExtensions { namespace Algorithms { /** */ template< class _TGradient, class _TMask = itk::Image< unsigned char, _TGradient::ImageDimension > > class MFluxMedialness : public GradientImageFunctionBase< _TGradient, _TMask > { public: typedef MFluxMedialness Self; typedef GradientImageFunctionBase< _TGradient, _TMask > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; itkStaticConstMacro( Dimension, unsigned int, Superclass::Dimension ); typedef typename Superclass::TOutput TOutput; typedef typename Superclass::TScalar TScalar; typedef typename Superclass::TIndex TIndex; typedef typename Superclass::TVector TVector; typedef typename Superclass::TPoint TPoint; typedef std::vector< double > TRCandidates; public: itkNewMacro( Self ); itkTypeMacro( MFluxMedialness, GradientImageFunctionBase ); itkGetConstMacro( RadiusStep, double ); itkGetConstMacro( MinRadius, double ); itkGetConstMacro( MaxRadius, double ); itkGetConstMacro( RadialSampling, unsigned int ); itkSetMacro( RadiusStep, double ); itkSetMacro( MinRadius, double ); itkSetMacro( MaxRadius, double ); itkSetMacro( RadialSampling, unsigned int ); protected: MFluxMedialness( ); virtual ~MFluxMedialness( ); virtual TOutput _Evaluate( const TIndex& i ) const cpExtensions_OVERRIDE; private: // Purposely not implemented. MFluxMedialness( const Self& ); void operator=( const Self& ); protected: double m_MinRadius; double m_MaxRadius; unsigned int m_RadialSampling; double m_RadiusStep; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __CPEXTENSIONS__ALGORITHMS__MFLUXMEDIALNESS__H__ // eof - $RCSfile$