X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FRegionGrow.h;h=b8147985d53f1fb60c6e99bcd5f28a80d6dc8792;hb=6468f1fda5fed2788fbaef1a7925c91ecff83d13;hp=71db89cb1eb04e2abb06a5b310ffcfed20512f10;hpb=6fcc9fc78c44fa789bf092e2897cb6b391259b42;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/RegionGrow.h b/lib/fpa/Image/RegionGrow.h index 71db89c..b814798 100644 --- a/lib/fpa/Image/RegionGrow.h +++ b/lib/fpa/Image/RegionGrow.h @@ -15,25 +15,25 @@ namespace fpa * @param I Input image type * @param O Output image type */ - template< class I, class O > + template< class I, class O = I > class RegionGrow - : public Algorithm< I, O, fpa::Base::RegionGrow< typename I::IndexType, typename I::PixelType, typename O::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > > + : public Algorithm< I, O, fpa::Base::RegionGrow< typename I::IndexType, typename I::PixelType, typename O::PixelType, I, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > > { public: - typedef fpa::Base::RegionGrow< typename I::IndexType, typename I::PixelType, typename O::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > TBaseAlgorithm; + typedef fpa::Base::RegionGrow< typename I::IndexType, typename I::PixelType, typename O::PixelType, I, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > TBaseAlgorithm; typedef RegionGrow Self; typedef Algorithm< I, O, TBaseAlgorithm > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; - typedef typename Superclass::TInputImage TInputImage; - typedef typename Superclass::TOutputImage TOutputImage; - typedef typename Superclass::TVertex TVertex; - typedef typename Superclass::TValue TValue; - typedef typename Superclass::TResult TResult; - - typedef itk::FunctionBase< TValue, bool > TMembershipFunction; + typedef typename Superclass::TInputImage TInputImage; + typedef typename Superclass::TOutputImage TOutputImage; + typedef typename Superclass::TVertex TVertex; + typedef typename Superclass::TValue TValue; + typedef typename Superclass::TResult TResult; + typedef typename Superclass::TSpace TSpace; + typedef typename Superclass::TGrowingFunction TGrowingFunction; protected: typedef typename Superclass::_TVertices _TVertices; @@ -47,24 +47,16 @@ namespace fpa itkNewMacro( Self ); itkTypeMacro( RegionGrow, Algorithm ); - itkGetObjectMacro( MembershipFunction, TMembershipFunction ); - itkGetConstObjectMacro( MembershipFunction, TMembershipFunction ); - itkSetObjectMacro( MembershipFunction, TMembershipFunction ); - protected: RegionGrow( ); virtual ~RegionGrow( ); - virtual bool _CheckMembership( const TVertex& v ) const; virtual void _InitResults( ); private: // Purposely not implemented RegionGrow( const Self& other ); Self& operator=( const Self& other ); - - protected: - typename TMembershipFunction::Pointer m_MembershipFunction; }; } // ecapseman