// ------------------------------------------------------------------------- // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) // ------------------------------------------------------------------------- #ifndef __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__ #define __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__ #include #include namespace cpExtensions { namespace Algorithms { /** */ template< class G > class GulsunTekMedialness : public GradientFunctionBase< G > { public: // Standard itk types typedef GulsunTekMedialness Self; typedef GradientFunctionBase< G > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; // Types from superclass typedef typename Superclass::TGradient TGradient; typedef typename Superclass::TVector TVector; typedef typename Superclass::TScalar TScalar; typedef typename Superclass::TInput TInput; typedef typename Superclass::TOutput TOutput; typedef typename Superclass::TPoint TPoint; typedef typename Superclass::TContIndex TContIndex; typedef typename Superclass::TIndex TIndex; typedef typename Superclass::TBuffer TBuffer; typedef typename TIndex::OffsetType TOffset; typedef std::vector< double > TProfile; typedef std::vector< TOffset > TOffsets; public: itkNewMacro( Self ); itkTypeMacro( GulsunTekMedialness, GradientFunctionBase ); itkGetConstMacro( MinRadius, double ); itkGetConstMacro( MaxRadius, double ); itkGetConstMacro( ProfileSampling, unsigned int ); itkGetConstMacro( RadialSampling, unsigned int ); itkSetMacro( MinRadius, double ); itkSetMacro( MaxRadius, double ); itkSetMacro( ProfileSampling, unsigned int ); itkSetMacro( RadialSampling, unsigned int ); protected: GulsunTekMedialness( ); virtual ~GulsunTekMedialness( ); virtual TOutput _Evaluate( const TIndex& i ) const; private: // Purposely not implemented. GulsunTekMedialness( const Self& ); void operator=( const Self& ); protected: double m_MinRadius; double m_MaxRadius; unsigned int m_ProfileSampling; unsigned int m_RadialSampling; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION #include #endif // ITK_MANUAL_INSTANTIATION #endif // __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__ // eof - $RCSfile$