#ifndef __FPA__IMAGE__FUNCTORS__REGIONGROWALLBELONGSFUNCTION__H__ #define __FPA__IMAGE__FUNCTORS__REGIONGROWALLBELONGSFUNCTION__H__ #include namespace fpa { namespace Image { namespace Functors { /** */ template< class I > class RegionGrowAllBelongsFunction : public itk::ImageFunction< I, bool > { public: /// Type-related and pointers typedef RegionGrowAllBelongsFunction Self; typedef itk::ImageFunction< I, bool > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; // Superclass' types typedef typename Superclass::InputImageType InputImageType; typedef typename Superclass::InputPixelType InputPixelType; typedef typename Superclass::OutputType OutputType; typedef typename Superclass::CoordRepType CoordRepType; typedef typename Superclass::IndexType IndexType; typedef typename Superclass::IndexValueType IndexValueType; typedef typename Superclass::ContinuousIndexType ContinuousIndexType; typedef typename Superclass::PointType PointType; public: itkNewMacro( Self ); itkTypeMacro( RegionGrowAllBelongsFunction, itkImageFunction ); public: virtual OutputType Evaluate( const PointType& point ) const { IndexType index; this->ConvertPointToNearestIndex( point, index ); return( this->EvaluateAtIndex( index ) ); } virtual OutputType EvaluateAtContinuousIndex( const ContinuousIndexType& cindex ) const { IndexType index; this->ConvertContinuousIndexToNearestIndex( cindex, index ); return( this->EvaluateAtIndex( index ) ); } virtual OutputType EvaluateAtIndex( const IndexType& index ) const { return( true ); } protected: RegionGrowAllBelongsFunction( ) : Superclass( ) { } virtual ~RegionGrowAllBelongsFunction( ) { } private: // Purposely not implemented RegionGrowAllBelongsFunction( const Self& ); void operator=( const Self& ); }; } // ecapseman } // ecapseman } // ecapseman #endif // __FPA__IMAGE__FUNCTORS__REGIONGROWALLBELONGSFUNCTION__H__ // eof - $RCSfile$