1 #ifndef __FPA__IMAGE__FUNCTORS__IMAGEFUNCTION__H__
2 #define __FPA__IMAGE__FUNCTORS__IMAGEFUNCTION__H__
4 #include <itkFunctionBase.h>
14 template< class I, class O >
16 : public itk::FunctionBase< typename I::IndexType, O >
19 /// Type-related and pointers
20 typedef ImageFunction Self;
21 typedef itk::FunctionBase< typename I::IndexType, O > Superclass;
22 typedef itk::SmartPointer< Self > Pointer;
23 typedef itk::SmartPointer< const Self > ConstPointer;
25 typedef I TInputImage;
26 typedef O TOutputValue;
27 typedef typename I::IndexType TIndex;
30 itkTypeMacro( ImageFunction, itkFunctionBase );
32 itkGetConstObjectMacro( InputImage, I );
33 itkSetConstObjectMacro( InputImage, I );
36 virtual O Evaluate( const TIndex& idx ) const = 0;
42 virtual ~ImageFunction( )
46 // Purposely not implemented
47 ImageFunction( const Self& );
48 void operator=( const Self& );
51 typename I::ConstPointer m_InputImage;
60 #endif // __FPA__IMAGE__FUNCTORS__IMAGEFUNCTION__H__