]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Common/Image/SkeletonWriter.h
...
[FrontAlgorithms.git] / lib / fpa / Common / Image / SkeletonWriter.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Common__Image__SkeletonWriter__h__
6 #define __fpa__Common__Image__SkeletonWriter__h__
7
8 #include <itkProcessObject.h>
9
10 namespace fpa
11 {
12   namespace Common
13   {
14     namespace Image
15     {
16       /**
17        */
18       template< class _TSkeleton >
19       class SkeletonWriter
20         : public itk::ProcessObject
21       {
22       public:
23         // Basic types
24         typedef SkeletonWriter                  Self;
25         typedef itk::ProcessObject              Superclass;
26         typedef itk::SmartPointer< Self >       Pointer;
27         typedef itk::SmartPointer< const Self > ConstPointer;
28
29         typedef _TSkeleton TSkeleton;
30         typedef typename TSkeleton::TEdges     TEdges;
31         typedef typename TSkeleton::TMatrix    TMatrix;
32         typedef typename TSkeleton::TMatrixRow TMatrixRow;
33         typedef typename TSkeleton::TPath      TPath;
34         typedef typename TSkeleton::TVertex    TVertex;
35
36       public:
37         itkNewMacro( Self );
38         itkTypeMacro( SkeletonWriter, itk::ProcessObject );
39
40         itkGetConstMacro( FileName, std::string );
41         itkSetMacro( FileName, std::string );
42
43       public:
44         const TSkeleton* GetInput( ) const;
45         void SetInput( const TSkeleton* skeleton );
46         virtual void Update( ) override;
47
48       protected:
49         SkeletonWriter( );
50         virtual ~SkeletonWriter( );
51
52         virtual void GenerateData( ) override;
53
54       private:
55         // Purposely not implemented
56         SkeletonWriter( const Self& );
57         void operator=( const Self& );
58
59       protected:
60         std::string m_FileName;
61       };
62
63     } // ecapseman
64
65   } // ecapseman
66
67 } // ecapseman
68
69 #ifndef ITK_MANUAL_INSTANTIATION
70 #  include <fpa/Common/Image/SkeletonWriter.hxx>
71 #endif // ITK_MANUAL_INSTANTIATION
72 #endif // __fpa__Common__Image__SkeletonWriter__h__
73
74 // eof - $RCSfile$