#ifndef __FPA__IMAGE__REGIONGROW__H__ #define __FPA__IMAGE__REGIONGROW__H__ #include #include #include #include #include namespace fpa { namespace Image { /** * @param I Input image type * @param O Output image type */ template< class I, class O = I > class RegionGrow : 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, 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 typename Superclass::TSpace TSpace; typedef typename Superclass::TGrowingFunction TGrowingFunction; protected: typedef typename Superclass::_TVertices _TVertices; typedef typename Superclass::_TCollision _TCollision; typedef typename Superclass::_TCollisionsRow _TCollisionsRow; typedef typename Superclass::_TCollisions _TCollisions; typedef typename Superclass::_TNode _TNode; typedef typename Superclass::_TNodes _TNodes; public: itkNewMacro( Self ); itkTypeMacro( RegionGrow, Algorithm ); protected: RegionGrow( ); virtual ~RegionGrow( ); virtual void _InitResults( ); private: // Purposely not implemented RegionGrow( const Self& other ); Self& operator=( const Self& other ); }; } // ecapseman } // ecapseman #include #endif // __FPA__IMAGE__REGIONGROW__H__ // eof - $RCSfile$