#ifndef __FPA__IMAGE__REGIONGROWWITHMULTIPLECRITERIA__H__ #define __FPA__IMAGE__REGIONGROWWITHMULTIPLECRITERIA__H__ #include #include #include #include #include namespace fpa { namespace Image { /** * @param I Input image type */ template< class I > class RegionGrowWithMultipleCriteria : public Algorithm< I, fpa::Base::RegionGrowWithMultipleCriteria< typename I::IndexType, typename I::PixelType, typename I::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, I > > > { public: // Standard class typdedefs typedef typename I::IndexType TVertex; typedef typename I::PixelType TResult; typedef typename I::PixelType TVertexValue; typedef itk::ImageToImageFilter< I, I > TBaseFilter; typedef fpa::Base::RegionGrowWithMultipleCriteria< TVertex, TResult, TVertexValue, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, TBaseFilter > TBaseAlgorithm; typedef RegionGrowWithMultipleCriteria Self; typedef Algorithm< I, TBaseAlgorithm > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef fpa::Image::Functors::ImageFunction< I, bool > TMembershipFunction; typedef typename Superclass::TFunctions TFunctions; public: itkNewMacro( Self ); itkTypeMacro( RegionGrowWithMultipleCriteria, fpaBaseRegionGrowWithMultipleCriteria ); protected: RegionGrowWithMultipleCriteria( ) : Superclass( ) { } virtual ~RegionGrowWithMultipleCriteria( ) { } private: // Purposely not implemented RegionGrowWithMultipleCriteria( const Self& ); void operator=( const Self& ); }; } // ecapseman } // ecapseman #endif // __FPA__IMAGE__REGIONGROWWITHMULTIPLECRITERIA__H__ // eof - $RCSfile$