]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/Functors/MFluxMedialness.h
...
[FrontAlgorithms.git] / lib / fpa / Image / Functors / MFluxMedialness.h
1 #ifndef __FPA__IMAGE__FUNCTORS__MFLUXMEDIALNESS__H__
2 #define __FPA__IMAGE__FUNCTORS__MFLUXMEDIALNESS__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 MFluxMedialness
16         : public GradientImageFunctionBase< _TGradient >
17       {
18       public:
19         typedef MFluxMedialness                         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
32         typedef std::vector< double > TRCandidates;
33
34       public:
35         itkNewMacro( Self );
36         itkTypeMacro( MFluxMedialness, GradientImageFunctionBase );
37
38         itkGetConstMacro( RadiusStep, double );
39         itkGetConstMacro( MinRadius, double );
40         itkGetConstMacro( MaxRadius, double );
41         itkGetConstMacro( RadialSampling, unsigned int );
42
43         itkSetMacro( RadiusStep, double );
44         itkSetMacro( MinRadius, double );
45         itkSetMacro( MaxRadius, double );
46         itkSetMacro( RadialSampling, unsigned int );
47
48       protected:
49         MFluxMedialness( );
50         virtual ~MFluxMedialness( );
51
52         virtual TOutput _Evaluate( const TIndex& i ) const;
53
54       private:
55         // Purposely not implemented.
56         MFluxMedialness( const Self& );
57         void operator=( const Self& );
58
59       protected:
60         double       m_MinRadius;
61         double       m_MaxRadius;
62         unsigned int m_RadialSampling;
63         double       m_RadiusStep;
64       };
65
66     } // ecapseman
67
68   } // ecapseman
69
70 } // ecapseman
71
72 #ifndef ITK_MANUAL_INSTANTIATION
73 #include <fpa/Image/Functors/MFluxMedialness.hxx>
74 #endif // ITK_MANUAL_INSTANTIATION
75
76 #endif // __FPA__IMAGE__FUNCTORS__MFLUXMEDIALNESS__H__
77
78 // eof - $RCSfile$