#ifndef __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__ #define __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__ #include #include #include namespace fpa { namespace Base { /** */ template< class T > class ExtractPathFromMinimumSpanningTree : public itk::ProcessObject { public: typedef ExtractPathFromMinimumSpanningTree Self; typedef itk::ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef T TMinimumSpanningTree; typedef typename T::TVertex TVertex; typedef cpExtensions::DataStructures::PolyLineParametricPath< TVertex::Dimension > TPath; public: itkNewMacro( Self ); itkTypeMacro( ExtractPathFromMinimumSpanningTree, itk::ProcessObject ); itkGetConstMacro( Vertex0, TVertex ); itkGetConstMacro( Vertex1, TVertex ); itkSetMacro( Vertex0, TVertex ); itkSetMacro( Vertex1, TVertex ); public: const T* GetInput( ) const; void SetInput( const T* tree ); TPath* GetOutput( ); protected: ExtractPathFromMinimumSpanningTree( ); virtual ~ExtractPathFromMinimumSpanningTree( ); virtual void GenerateData( ) ITK_OVERRIDE; private: // Purposely not implemented ExtractPathFromMinimumSpanningTree( const Self& other ); Self& operator=( const Self& other ); protected: TVertex m_Vertex0; TVertex m_Vertex1; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION #include #endif // ITK_MANUAL_INSTANTIATION #endif // __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__H__ // eof - $RCSfile$