X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FMinimumSpanningTree.h;h=a93157cac6acb00c3b4d524f66d12e66981af8db;hb=ed2108383e59a45c6fa2e9259a27256a93d8aa6a;hp=4a4e0e62bbbc53ebbc4cd5830ca6ec1d005c144e;hpb=203ea510f7cc3990e606dd93a97dd0b5075d35c4;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/MinimumSpanningTree.h b/lib/fpa/Image/MinimumSpanningTree.h index 4a4e0e6..a93157c 100644 --- a/lib/fpa/Image/MinimumSpanningTree.h +++ b/lib/fpa/Image/MinimumSpanningTree.h @@ -1,8 +1,12 @@ +// ========================================================================= +// @author Leonardo Florez Valencia +// @email florez-l@javeriana.edu.co +// ========================================================================= + #ifndef __fpa__Image__MinimumSpanningTree__h__ #define __fpa__Image__MinimumSpanningTree__h__ #include -#include #include namespace fpa @@ -13,41 +17,47 @@ namespace fpa */ template< unsigned int _VDim > class MinimumSpanningTree - : public fpa::Base::MinimumSpanningTree< itk::Index< _VDim >, cpExtensions::DataStructures::PolyLineParametricPath< _VDim >, itk::Image< itk::Offset< _VDim >, _VDim > > + : public fpa::Base::MinimumSpanningTree< itk::Index< _VDim >, itk::Image< itk::Offset< _VDim >, _VDim > > { public: - typedef itk::Index< _VDim > TVertex; - typedef cpExtensions::DataStructures::PolyLineParametricPath< _VDim > TPath; - typedef itk::Offset< _VDim > TOffset; - typedef itk::Image< TOffset, _VDim > TImage; - typedef fpa::Base::MinimumSpanningTree< TVertex, TPath, TImage > Superclass; - typedef MinimumSpanningTree Self; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; + typedef itk::Index< _VDim > TVertex; + typedef itk::Image< itk::Offset< _VDim >, _VDim > TBaseImage; + + typedef MinimumSpanningTree Self; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + typedef fpa::Base::MinimumSpanningTree< TVertex, TBaseImage > Superclass; + + typedef typename Superclass::TCollision TCollision; + typedef typename Superclass::TCollisionsRow TCollisionsRow; + typedef typename Superclass::TCollisions TCollisions; + typedef typename Superclass::TVertices TVertices; public: itkNewMacro( Self ); itkTypeMacro( - fpa::Image::MinimumSpanningTree, fpa::Base::MinimumSpanningTree + fpa::Image::MinimumSpanningTree, + fpa::Base::MinimumSpanningTree ); public: - virtual TVertex GetParent( const TVertex& v ) const fpa_OVERRIDE; - virtual void SetParent( const TVertex& v, const TVertex& p ) fpa_OVERRIDE; - - virtual void GetPath( - typename TPath::Pointer& path, const TVertex& a - ) const fpa_OVERRIDE; - virtual void GetPath( - typename TPath::Pointer& path, const TVertex& a, const TVertex& b - ) const fpa_OVERRIDE; + virtual TVertex GetParent( const TVertex& v ) const override + { + return( v + this->GetPixel( v ) ); + } + virtual void SetParent( const TVertex& v, const TVertex& p ) override + { + this->SetPixel( v, p - v ); + } protected: - MinimumSpanningTree( ); - virtual ~MinimumSpanningTree( ); + MinimumSpanningTree( ) + : Superclass( ) + { } + virtual ~MinimumSpanningTree( ) + { } private: - // Purposely not defined MinimumSpanningTree( const Self& other ); Self& operator=( const Self& other ); }; @@ -56,10 +66,6 @@ namespace fpa } // ecapseman -#ifndef ITK_MANUAL_INSTANTIATION -# include -#endif // ITK_MANUAL_INSTANTIATION - #endif // __fpa__Image__MinimumSpanningTree__h__ // eof - $RCSfile$