1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
6 #ifndef __fpa__Image__Mori__h__
7 #define __fpa__Image__Mori__h__
9 #include <fpa/Base/Mori.h>
10 #include <fpa/Base/MarksInterface.h>
11 #include <fpa/Base/SingleSeedInterface.h>
12 #include <fpa/Image/Algorithm.h>
13 #include <fpa/Image/DefaultTraits.h>
21 template< class _TInputImage, class _TOutputImage, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, typename _TOutputImage::PixelType > >
23 : public fpa::Base::Mori< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterface< _TTraits >, fpa::Base::SingleSeedInterface< _TTraits > > >
26 typedef _TInputImage TInputImage;
27 typedef _TOutputImage TOutputImage;
28 typedef _TTraits TTraits;
29 typedef fpa::Base::MarksInterface< _TTraits > TMarksInterface;
30 typedef fpa::Base::SingleSeedInterface< _TTraits > TSeedsInterface;
31 typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
34 typedef fpa::Base::Mori< TAlgorithm > Superclass;
35 typedef itk::SmartPointer< Self > Pointer;
36 typedef itk::SmartPointer< const Self > ConstPointer;
38 typedef typename TAlgorithm::TMarks TMarks;
42 itkTypeMacro( fpa::Image::Mori, fpa::Base::Mori );
45 TOutputImage* GetThresholdedOutput( );
46 const TOutputImage* GetThresholdedOutput( ) const;
52 virtual void _AfterGenerateData( ) override;
55 // Purposely not implemented.
56 Mori( const Self& other );
57 Self& operator=( const Self& other );
60 unsigned long m_ThresholdedOutputIdx;
67 #ifndef ITK_MANUAL_INSTANTIATION
68 # include <fpa/Image/Mori.hxx>
69 #endif // ITK_MANUAL_INSTANTIATION
71 #endif // __fpa__Image__Mori__h__