]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/DefaultTraits.h
9ce95eb67a718b9f707b02501270945fb6a792cb
[FrontAlgorithms.git] / lib / fpa / Image / DefaultTraits.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Image__DefaultTraits__h__
7 #define __fpa__Image__DefaultTraits__h__
8
9 #include <vector>
10 #include <itkConceptChecking.h>
11 #include <itkImageToImageFilter.h>
12
13 namespace fpa
14 {
15   namespace Image
16   {
17     /**
18      */
19     template< class _TInputImage, class _TOutputImage, class _TFrontId >
20     class DefaultTraits
21     {
22     public:
23       typedef DefaultTraits Self;
24       typedef _TInputImage  TInputImage;
25       typedef _TOutputImage TOutputImage;
26       typedef _TFrontId     TFrontId;
27       itkStaticConstMacro( Dimension, unsigned int, TInputImage::ImageDimension );
28
29       typedef typename TInputImage::IndexType        TVertex;
30       typedef typename TInputImage::PixelType        TInputValue;
31       typedef typename TInputImage::PointType        TPoint;
32       typedef typename TOutputImage::PixelType       TOutputValue;
33       typedef typename TVertex::LexicographicCompare TCompare;
34
35       typedef std::vector< TVertex > TNeighborhood;
36
37       typedef typename TSeedsInterface::TNode  TNode;
38       typedef typename TSeedsInterface::TNodes TNodes;
39       typedef typename TSeedsInterface::TSeed  TSeed;
40       typedef typename TSeedsInterface::TSeeds TSeeds;
41
42     private:
43       itkConceptMacro(
44         Check_SameDimension,
45         ( itk::Concept::SameDimension< Self::Dimension, TOutputImage::ImageDimension > )
46         );
47
48     private:
49       // Purposely not implemented.
50       DefaultTraits( );
51       DefaultTraits( const Self& other );
52       virtual ~DefaultTraits( );
53       Self& operator=( const Self& other );
54     };
55
56   } // ecapseman
57
58 } // ecapseman
59
60 #endif // __fpa__Image__DefaultTraits__h__
61
62 // eof - $RCSfile$