]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/Functors/GulsunTekMedialness.h
81ea1d5fa5c650650de64a71229059cf7123c1e5
[FrontAlgorithms.git] / lib / fpa / Image / Functors / GulsunTekMedialness.h
1 #ifndef __FPA__IMAGE__FUNCTORS__GULSUNTEKMEDIALNESS__H__
2 #define __FPA__IMAGE__FUNCTORS__GULSUNTEKMEDIALNESS__H__
3
4 #include <fpa/Image/Functors/GradientImageFunctionBase.h>
5
6 namespace fpa
7 {
8   namespace Image
9   {
10     namespace Functors
11     {
12       /**
13        */
14       template< class _TGradient >
15       class GulsunTekMedialness
16         : public GradientImageFunctionBase< _TGradient >
17       {
18       public:
19         typedef GulsunTekMedialness                     Self;
20         typedef GradientImageFunctionBase< _TGradient > Superclass;
21         typedef itk::SmartPointer< Self >               Pointer;
22         typedef itk::SmartPointer< const Self >         ConstPointer;
23
24         itkStaticConstMacro( Dimension, unsigned int, Superclass::Dimension );
25
26         typedef typename Superclass::TOutput TOutput;
27         typedef typename Superclass::TScalar TScalar;
28         typedef typename Superclass::TIndex  TIndex;
29         typedef typename Superclass::TVector TVector;
30         typedef typename Superclass::TPoint  TPoint;
31         typedef typename TIndex::OffsetType  TOffset;
32
33         typedef std::vector< double >  TProfile;
34         typedef std::vector< TOffset > TOffsets;
35
36       public:
37         itkNewMacro( Self );
38         itkTypeMacro( GulsunTekMedialness, GradientImageFunctionBase );
39
40         itkGetConstMacro( MinRadius, double );
41         itkGetConstMacro( MaxRadius, double );
42         itkGetConstMacro( ProfileSampling, unsigned int );
43         itkGetConstMacro( RadialSampling, unsigned int );
44
45         itkSetMacro( MinRadius, double );
46         itkSetMacro( MaxRadius, double );
47         itkSetMacro( ProfileSampling, unsigned int );
48         itkSetMacro( RadialSampling, unsigned int );
49
50       protected:
51         GulsunTekMedialness( );
52         virtual ~GulsunTekMedialness( );
53
54         virtual TOutput _Evaluate( const TIndex& i ) const;
55
56       private:
57         // Purposely not implemented.
58         GulsunTekMedialness( const Self& );
59         void operator=( const Self& );
60
61       protected:
62         double       m_MinRadius;
63         double       m_MaxRadius;
64         unsigned int m_ProfileSampling;
65         unsigned int m_RadialSampling;
66       };
67
68     } // ecapseman
69
70   } // ecapseman
71
72 } // ecapseman
73
74 #ifndef ITK_MANUAL_INSTANTIATION
75 #include <fpa/Image/Functors/GulsunTekMedialness.hxx>
76 #endif // ITK_MANUAL_INSTANTIATION
77
78 #endif // __FPA__IMAGE__FUNCTORS__GULSUNTEKMEDIALNESS__H__
79
80 // eof - $RCSfile$