// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Image__Functors__Dijkstra__Identity__h__ #define __fpa__Image__Functors__Dijkstra__Identity__h__ #include namespace fpa { namespace Image { namespace Functors { namespace Dijkstra { /** */ template< class _TInputImage, class _TOutputValue > class Identity : public fpa::Image::Functors::Dijkstra::Function< _TInputImage, _TOutputValue > { public: typedef Identity Self; typedef fpa::Image::Functors::Dijkstra::Function< _TInputImage, _TOutputValue > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef typename Superclass::TVertex TVertex; public: itkNewMacro( Self ); itkTypeMacro( fpa::Image::Functors::Dijkstra::Identity, fpa::Image::Functors::Dijkstra::Function ); public: virtual _TOutputValue Evaluate( const TVertex& v, const TVertex& p ) const override { return( _TOutputValue( this->m_Image->GetPixel( v ) ) ); } protected: Identity( ) : Superclass( ) { } virtual ~Identity( ) { } private: // Purposely not implemented Identity( const Self& other ); Self& operator=( const Self& other ); }; } // ecapseman } // ecapseman } // ecapseman } // ecapseman #endif // __fpa__Image__Functors__Dijkstra__Identity__h__ // eof - $RCSfile$