]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/Functors/RegionGrowThresholdFunction.h
CMake updated. Some other filters added.
[FrontAlgorithms.git] / lib / fpa / Image / Functors / RegionGrowThresholdFunction.h
index 00a813f682a1694b756ca5d0d7238052a6d5df27..3d7d5ac8b167ff413ead2f2ac13d18b6057d1e4c 100644 (file)
@@ -24,14 +24,9 @@ namespace fpa
         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;
+        typedef I                     TInputImage;
+        typedef typename I::IndexType TIndex;
+        typedef typename I::PixelType TPixel;
 
       public:
         itkNewMacro( Self );
@@ -40,27 +35,22 @@ namespace fpa
           RegionGrowAllBelongsFunction
           );
 
-        itkGetConstMacro( LowerThreshold, InputPixelType );
-        itkGetConstMacro( UpperThreshold, InputPixelType );
+        itkGetConstMacro( LowerThreshold, TPixel );
+        itkGetConstMacro( UpperThreshold, TPixel );
 
-        itkSetMacro( LowerThreshold, InputPixelType );
-        itkSetMacro( UpperThreshold, InputPixelType );
+        itkSetMacro( LowerThreshold, TPixel );
+        itkSetMacro( UpperThreshold, TPixel );
 
       public:
-        virtual OutputType EvaluateAtIndex( const IndexType& index ) const
+        virtual bool Evaluate( const TIndex& idx ) const
           {
-            const I* img = this->GetInputImage( );
+            const I* img = this->GetSpace( );
             if( img != NULL )
             {
-              if( this->IsInsideBuffer( index ) )
-              {
-                InputPixelType v = img->GetPixel( index );
-                return(
-                  this->m_LowerThreshold <= v &&
-                  v <= this->m_UpperThreshold
-                  );
-
-              } // fi
+              TPixel v = img->GetPixel( idx );
+              return(
+                !( v < this->m_LowerThreshold || this->m_UpperThreshold < v )
+                );
 
             } // fi
             return( false );
@@ -69,8 +59,8 @@ namespace fpa
       protected:
         RegionGrowThresholdFunction( )
           : Superclass( ),
-            m_LowerThreshold( std::numeric_limits< InputPixelType >::min( ) ),
-            m_UpperThreshold( std::numeric_limits< InputPixelType >::max( ) )
+            m_LowerThreshold( std::numeric_limits< TPixel >::min( ) ),
+            m_UpperThreshold( std::numeric_limits< TPixel >::max( ) )
           { }
         virtual ~RegionGrowThresholdFunction( )
           { }
@@ -81,8 +71,8 @@ namespace fpa
         void operator=( const Self& );
 
       protected:
-        InputPixelType m_LowerThreshold;
-        InputPixelType m_UpperThreshold;
+        TPixel m_LowerThreshold;
+        TPixel m_UpperThreshold;
       };
 
     } // ecapseman