1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
5 #ifndef __cpExtensions__Algorithms__SkeletonReader__h__
6 #define __cpExtensions__Algorithms__SkeletonReader__h__
8 #include <cpExtensions/Config.h>
9 #include <itkProcessObject.h>
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
18 template< class _TSkeleton >
20 : public itk::ProcessObject
24 typedef SkeletonReader Self;
25 typedef itk::ProcessObject Superclass;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
29 typedef _TSkeleton TSkeleton;
33 itkTypeMacro( SkeletonReader, itk::ImageSource );
35 itkGetConstMacro( FileName, std::string );
36 itkSetMacro( FileName, std::string );
39 TSkeleton* GetOutput( );
40 TSkeleton* GetOutput( unsigned int i );
42 virtual void GraftOutput( itk::DataObject* out );
43 virtual void GraftOutput(
44 const typename Superclass::DataObjectIdentifierType& key,
47 virtual void GraftNthOutput( unsigned int i, itk::DataObject* out );
48 virtual itk::DataObject::Pointer MakeOutput(
49 itk::ProcessObject::DataObjectPointerArraySizeType i
50 ) cpExtensions_OVERRIDE;
52 virtual void Update( ) cpExtensions_OVERRIDE
53 { this->GenerateData( ); }
57 virtual ~SkeletonReader( );
59 virtual void GenerateData( ) cpExtensions_OVERRIDE;
62 virtual void GenerateOutputInformation( ) cpExtensions_OVERRIDE
66 // Purposely not implemented
67 SkeletonReader( const Self& );
68 void operator=( const Self& );
71 std::string m_FileName;
78 // -------------------------------------------------------------------------
79 #ifndef ITK_MANUAL_INSTANTIATION
80 # include <cpExtensions/Algorithms/SkeletonReader.hxx>
81 #endif // ITK_MANUAL_INSTANTIATION
83 #endif // __cpExtensions__Algorithms__SkeletonReader__h__