X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FFilters%2FImage%2FMori.h;fp=lib%2Ffpa%2FFilters%2FImage%2FMori.h;h=66a5fa3457e714641848a14b01c155c16824b69b;hb=2047276c8f1a02432fbcc7014722d460d6c1e60f;hp=0000000000000000000000000000000000000000;hpb=3c639e5da479c7216a0a302ffa156ac6762caeed;p=FrontAlgorithms.git diff --git a/lib/fpa/Filters/Image/Mori.h b/lib/fpa/Filters/Image/Mori.h new file mode 100644 index 0000000..66a5fa3 --- /dev/null +++ b/lib/fpa/Filters/Image/Mori.h @@ -0,0 +1,83 @@ +// ========================================================================= +// @author Leonardo Florez Valencia +// @email florez-l@javeriana.edu.co +// ========================================================================= +#ifndef __fpa__Filters__Image__Mori__h__ +#define __fpa__Filters__Image__Mori__h__ + +#include +#include +#include +#include +#include + +namespace fpa +{ + namespace Filters + { + namespace Image + { + /** + */ + template< class _TInputImage, class _TOutputImage > + class MoriTraits + : public fpa::Filters::Image::DefaultTraits< _TInputImage, _TOutputImage, unsigned long > + { + public: + typedef _TInputImage TInputImage; + typedef _TOutputImage TOutputImage; + typedef fpa::Filters::Image::DefaultTraits< TInputImage, TOutputImage, unsigned long > Superclass; + + typedef typename Superclass::TInternalTraits TInternalTraits; + typedef typename Superclass::TFilter TFilter; + typedef fpa::Filters::MarksInterface< TInternalTraits > TMarksInterface; + typedef fpa::Filters::SingleSeedInterface< TInternalTraits > TSeedsInterface; + }; + + /** + */ + template< class _TInputImage, class _TOutputImage, class _TTraits = fpa::Filters::Image::MoriTraits< _TInputImage, _TOutputImage > > + class Mori + : public fpa::Filters::Image::Algorithm< fpa::Filters::Mori< _TTraits > > + { + public: + typedef _TInputImage TInputImage; + typedef _TOutputImage TOutputImage; + typedef _TTraits TTraits; + fpaTraitsMacro( typename, TTraits ); + + typedef fpa::Filters::Mori< TTraits > TAlgorithm; + typedef fpa::Filters::Image::Algorithm< TAlgorithm > Superclass; + typedef Mori Self; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + public: + itkNewMacro( Self ); + itkTypeMacro( + fpa::Filters::Image::Mori, fpa::Filters::Image::Algorithm + ); + + protected: + Mori( ) + : Superclass( ) + { + } + virtual ~Mori( ) + { + } + + private: + // Purposely not implemented. + Mori( const Self& other ); + Self& operator=( const Self& other ); + }; + + } // ecapseman + + } // ecapseman + +} // ecapseman + +#endif // __fpa__Filters__Image__Mori__h__ +// eof - $RCSfile$