]> Creatis software - cpPlugins.git/blobdiff - plugins/ImageThresholdFilters/ImageToBoundingBoxFromThreshold.cxx
...
[cpPlugins.git] / plugins / ImageThresholdFilters / ImageToBoundingBoxFromThreshold.cxx
index 52082a2b1b1b9952912c6efc41a57571107ee6db..4b86d54fc8a80dcdcc67c9c9523e1adc8a4614d8 100644 (file)
@@ -1,7 +1,9 @@
 #include <ImageThresholdFilters/ImageToBoundingBoxFromThreshold.h>
 #include <cpPlugins/DataObjects/Image.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 #include <cpPlugins/DataObjects/BoundingBox.h>
 
+#include <itkImage.h>
 #include <cpExtensions/Algorithms/ImageToBoundingBoxFromThreshold.h>
 
 // -------------------------------------------------------------------------
@@ -15,11 +17,8 @@ ImageToBoundingBoxFromThreshold( )
   this->_ConfigureInput< _TImage >( "Input", true, false );
   this->_ConfigureOutput< _TBBox >( "Output" );
 
-  this->m_Parameters.ConfigureAsReal( "LowerThreshold" );
-  this->m_Parameters.ConfigureAsReal( "UpperThreshold" );
-
-  this->m_Parameters.SetReal( "LowerThreshold", 0 );
-  this->m_Parameters.SetReal( "LowerThreshold", 0 );
+  this->m_Parameters.ConfigureAsReal( "LowerThreshold", 0 );
+  this->m_Parameters.ConfigureAsReal( "UpperThreshold", 0 );
 }
 
 // -------------------------------------------------------------------------
@@ -32,11 +31,9 @@ cpPluginsImageThresholdFilters::ImageToBoundingBoxFromThreshold::
 void cpPluginsImageThresholdFilters::ImageToBoundingBoxFromThreshold::
 _GenerateData( )
 {
-  /* TODO
-     auto o = this->GetInputData( "Input" );
-     cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-     else this->_Error( "Invalid input image." );
-  */
+  auto o = this->GetInputData( "Input" );
+  cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
@@ -44,27 +41,25 @@ template< class _TImage >
 void cpPluginsImageThresholdFilters::ImageToBoundingBoxFromThreshold::
 _GD0( _TImage* image )
 {
-  /* TODO
-     typedef
-     cpExtensions::Algorithms::ImageToBoundingBoxFromThreshold< _TImage >
-     _TFilter;
+  typedef
+    cpExtensions::Algorithms::ImageToBoundingBoxFromThreshold< _TImage >
+    _TFilter;
 
-     // Configure filter
-     _TFilter* filter = this->_CreateITK< _TFilter >( );
-     filter->SetImage( image );
-     filter->SetLowerThreshold( this->m_Parameters.GetReal( "LowerThreshold" ) );
-     filter->SetUpperThreshold( this->m_Parameters.GetReal( "UpperThreshold" ) );
-     filter->Compute( );
+  // Configure filter
+  _TFilter* filter = this->_CreateITK< _TFilter >( );
+  filter->SetImage( image );
+  filter->SetLowerThreshold( this->m_Parameters.GetReal( "LowerThreshold" ) );
+  filter->SetUpperThreshold( this->m_Parameters.GetReal( "UpperThreshold" ) );
+  filter->Compute( );
 
-     // Create output
-     auto reg = filter->GetRegion( );
-     auto bb = this->GetOutput< cpPlugins::DataObjects::BoundingBox >( "Output" );
-     typename _TImage::PointType p0, p1;
-     image->TransformIndexToPhysicalPoint( reg.GetIndex( ), p0 );
-     image->TransformIndexToPhysicalPoint( reg.GetIndex( ) + reg.GetSize( ), p1 );
-     bb->SetMinimum( p0 );
-     bb->SetMaximum( p1 );
-  */
+  // Create output
+  auto reg = filter->GetRegion( );
+  auto bb = this->GetOutput< cpPlugins::DataObjects::BoundingBox >( "Output" );
+  typename _TImage::PointType p0, p1;
+  image->TransformIndexToPhysicalPoint( reg.GetIndex( ), p0 );
+  image->TransformIndexToPhysicalPoint( reg.GetIndex( ) + reg.GetSize( ), p1 );
+  bb->SetMinimum( p0 );
+  bb->SetMaximum( p1 );
 }
 
 // eof - $RCSfile$