]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Algorithms/GradientImageFunctionBase.hxx
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / cpExtensions / Algorithms / GradientImageFunctionBase.hxx
1 #ifndef __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__
2 #define __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__
3
4 // -------------------------------------------------------------------------
5 template< class _TGradient, class _TMask >
6 void
7 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
8 Prepare( ) const
9 {
10 }
11
12 // -------------------------------------------------------------------------
13 template< class _TGradient, class _TMask >
14 typename
15 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
16 TOutput
17 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
18 Evaluate( const TPoint& p ) const
19 {
20   TIndex i;
21   this->GetInputImage( )->TransformPhysicalPointToIndex( p, i );
22   return( this->EvaluateAtIndex( i ) );
23 }
24
25 // -------------------------------------------------------------------------
26 template< class _TGradient, class _TMask >
27 typename
28 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
29 TOutput
30 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
31 EvaluateAtIndex( const TIndex& i ) const
32 {
33   bool eval = true;
34   if( this->m_Mask.IsNotNull( ) )
35     eval = ( ( unsigned long )( this->m_Mask->GetPixel( i ) ) > 0 );
36   if( eval )
37     return( this->_Evaluate( i ) );
38   else
39     return( TOutput( -1 ) );
40 }
41
42 // -------------------------------------------------------------------------
43 template< class _TGradient, class _TMask >
44 typename
45 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
46 TOutput
47 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
48 EvaluateAtContinuousIndex( const TContIndex& i ) const
49 {
50   TPoint p;
51   this->GetInputImage( )->TransformContinuousIndexToPhysicalPoint( i, p );
52   return( this->Evaluate( p ) );
53 }
54
55 // -------------------------------------------------------------------------
56 template< class _TGradient, class _TMask >
57 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
58 GradientImageFunctionBase( )
59   : Superclass( )
60 {
61 }
62
63 // -------------------------------------------------------------------------
64 template< class _TGradient, class _TMask >
65 cpExtensions::Algorithms::GradientImageFunctionBase< _TGradient, _TMask >::
66 ~GradientImageFunctionBase( )
67 {
68 }
69
70 #endif // __CPEXTENSIONS__ALGORITHMS__GRADIENTIMAGEFUNCTIONBASE__HXX__
71
72 // eof - $RCSfile$