X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FFilters%2FAlgorithm.h;fp=lib%2Ffpa%2FFilters%2FAlgorithm.h;h=0000000000000000000000000000000000000000;hb=a8ac405fe1422bc0792a810f7f0693096a22c20e;hp=f0a6cfba26d579a942cbc697da92fc32f78236d0;hpb=8abe87eaa0d29ba667d5cbf35f4ca1ca2e38c6c4;p=FrontAlgorithms.git diff --git a/lib/fpa/Filters/Algorithm.h b/lib/fpa/Filters/Algorithm.h deleted file mode 100644 index f0a6cfb..0000000 --- a/lib/fpa/Filters/Algorithm.h +++ /dev/null @@ -1,115 +0,0 @@ -// ========================================================================= -// @author Leonardo Florez Valencia -// @email florez-l@javeriana.edu.co -// ========================================================================= -#ifndef __fpa__Filters__Algorithm__h__ -#define __fpa__Filters__Algorithm__h__ - -#include -#include -#include -#include - -namespace fpa -{ - namespace Filters - { - /** - */ - template< class _TTraits > - class Algorithm - : public _TTraits::TFilter, - public _TTraits::TMarksInterface, - public _TTraits::TSeedsInterface - { - public: - typedef _TTraits TTraits; - fpaTraitsMacro( typename, TTraits ); - - typedef TFilter Superclass; - typedef Algorithm Self; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; - - typedef fpa::Filters::Event< TVertex > TEvent; - - protected: - itkConceptMacro( - Check_Marks, - ( itk::Concept::IsUnsignedInteger< TMark > ) - ); - - public: - itkTypeMacro( fpa::Filters::Image::Algorithm, TFilter ); - - itkBooleanMacro( VisualDebug ); - itkGetConstMacro( VisualDebug, bool ); - itkSetMacro( VisualDebug, bool ); - - itkGetConstMacro( InitValue, TOutputValue ); - itkSetMacro( InitValue, TOutputValue ); - - public: - virtual itk::ModifiedTimeType GetMTime( ) const override; - virtual void InvokeEvent( const itk::EventObject& e ); - virtual void InvokeEvent( const itk::EventObject& e ) const; - - protected: - Algorithm( ); - virtual ~Algorithm( ); - - virtual void GenerateData( ) override; - - // Object association - void _Associate( itk::Object* o ); - void _Deassociate( itk::Object* o ); - void _DeassociateAll( ); - - // Preparation and termination - virtual void _BeforeGenerateData( ); - virtual void _AfterGenerateData( ); - virtual void _Reinitialize( ); - - // Memory allocation - virtual void _ConfigureOutputs( ) = 0; - - // Value assignation/recuperation - virtual const itk::DataObject* _GetReferenceInput( ) const; - virtual TInputValue _GetInputValue( const TVertex& v ) const = 0; - virtual TInputValue _GetInputValue( const TNode& n ) const; - virtual TOutputValue _GetOutputValue( const TVertex& v ) const = 0; - virtual TOutputValue _GetOutputValue( const TNode& n ) const; - virtual TNeighborhood _GetNeighbors( const TVertex& v ) const = 0; - virtual void _UpdateOutputValue( TNode& n ) = 0; - - // Queue management - virtual void _QueueClear( ) = 0; - virtual TNode _QueuePop( ) = 0; - virtual void _QueuePush( const TNode& n ) = 0; - virtual unsigned long _QueueSize( ) const = 0; - - // Value update according to the particular algorithm - virtual void _ComputeOutputValue( TNode& n ) = 0; - - private: - // Purposely not implemented. - Algorithm( const Self& other ); - Self& operator=( const Self& other ); - - protected: - bool m_VisualDebug; - TOutputValue m_InitValue; - - std::set< itk::Object* > m_AssociatedObjects; - }; - - } // ecapseman - -} // ecapseman - -#ifndef ITK_MANUAL_INSTANTIATION -# include -#endif // ITK_MANUAL_INSTANTIATION - -#endif // __fpa__Filters__Algorithm__h__ -// eof - $RCSfile$