1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
5 #ifndef __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__
6 #define __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__
9 #include <cpExtensions/Algorithms/GradientFunctionBase.h>
11 namespace cpExtensions
18 class GulsunTekMedialness
19 : public GradientFunctionBase< G >
23 typedef GulsunTekMedialness Self;
24 typedef GradientFunctionBase< G > Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
28 // Types from superclass
29 typedef typename Superclass::TGradient TGradient;
30 typedef typename Superclass::TVector TVector;
31 typedef typename Superclass::TScalar TScalar;
32 typedef typename Superclass::TInput TInput;
33 typedef typename Superclass::TOutput TOutput;
34 typedef typename Superclass::TPoint TPoint;
35 typedef typename Superclass::TContIndex TContIndex;
36 typedef typename Superclass::TIndex TIndex;
37 typedef typename Superclass::TBuffer TBuffer;
39 typedef typename TIndex::OffsetType TOffset;
40 typedef std::vector< double > TProfile;
41 typedef std::vector< TOffset > TOffsets;
45 itkTypeMacro( GulsunTekMedialness, GradientFunctionBase );
47 itkGetConstMacro( MinRadius, double );
48 itkGetConstMacro( MaxRadius, double );
49 itkGetConstMacro( ProfileSampling, unsigned int );
50 itkGetConstMacro( RadialSampling, unsigned int );
52 itkSetMacro( MinRadius, double );
53 itkSetMacro( MaxRadius, double );
54 itkSetMacro( ProfileSampling, unsigned int );
55 itkSetMacro( RadialSampling, unsigned int );
58 GulsunTekMedialness( );
59 virtual ~GulsunTekMedialness( );
61 virtual TOutput _Evaluate( const TIndex& i ) const;
64 // Purposely not implemented.
65 GulsunTekMedialness( const Self& );
66 void operator=( const Self& );
71 unsigned int m_ProfileSampling;
72 unsigned int m_RadialSampling;
79 #include <cpExtensions/Algorithms/GulsunTekMedialness.hxx>
81 #endif // __CPEXTENSIONS__ALGORITHMS__GULSUNTEKMEDIALNESS__H__