#ifndef __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__ #define __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__ // ------------------------------------------------------------------------- template< class _TGradient > void cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: Prepare( ) const { } // ------------------------------------------------------------------------- template< class _TGradient > typename cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: TOutput cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: Evaluate( const TPoint& p ) const { TIndex i; this->GetInputImage( )->TransformPhysicalPointToIndex( p, i ); return( this->EvaluateAtIndex( i ) ); } // ------------------------------------------------------------------------- template< class _TGradient > typename cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: TOutput cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: EvaluateAtIndex( const TIndex& i ) const { return( this->_Evaluate( i ) ); } // ------------------------------------------------------------------------- template< class _TGradient > typename cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: TOutput cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: EvaluateAtContinuousIndex( const TContIndex& i ) const { TPoint p; this->GetInputImage( )->TransformContinuousIndexToPhysicalPoint( i, p ); return( this->Evaluate( p ) ); } // ------------------------------------------------------------------------- template< class _TGradient > cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: GradientImageFunctionBase( ) : Superclass( ) { } // ------------------------------------------------------------------------- template< class _TGradient > cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient >:: ~GradientImageFunctionBase( ) { } #endif // __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__ // eof - $RCSfile$