]> Creatis software - FrontAlgorithms.git/blobdiff - plugins/fpa/ImageDijkstra.cxx
...
[FrontAlgorithms.git] / plugins / fpa / ImageDijkstra.cxx
index b906a2179c92d61ef6f9b1a37e5521618e9564b3..ef86917f0134e2d1bb71760bae61863765c3ce23 100644 (file)
@@ -22,18 +22,18 @@ fpaPlugins::ImageDijkstra::
 }
 
 // -------------------------------------------------------------------------
-std::string fpaPlugins::ImageDijkstra::
+void fpaPlugins::ImageDijkstra::
 _GenerateData( )
 {
-  auto image = this->GetInputData( "Input" )->GetITK< itk::DataObject >( );
-  std::string   cpPlugin_Image_Demangle_Pixel_AllScalars( r, _GD0, image, 2 );
-  if( r != "" ) cpPlugin_Image_Demangle_Pixel_AllScalars( r, _GD0, image, 3 );
-  return( r );
+  auto image = this->GetInputData< itk::DataObject >( "Input" );
+  cpPlugins_Image_Demangle_Pixel_AllScalars     ( _GD0, image, 2 );
+  else cpPlugins_Image_Demangle_Pixel_AllScalars( _GD0, image, 3 );
+  else this->_Error( "No valid input image." );
 }
 
 // -------------------------------------------------------------------------
 template< class _TImage >
-std::string fpaPlugins::ImageDijkstra::
+void fpaPlugins::ImageDijkstra::
 _GD0( _TImage* image )
 {
   typedef float                                          _TPixel;
@@ -43,17 +43,14 @@ _GD0( _TImage* image )
   typedef itk::FunctionBase< _TCost, _TCost >            _TCostFunctor;
   typedef typename _TFilter::TMinimumSpanningTree        _TMST;
 
-  if( image == NULL )
-    return( "fpaPlugins::ImageDijkstra: Invalid image type." );
-
   auto base_functor =
-    this->GetInputData( "CostFunctor" )->GetITK< itk::LightObject >( );
+    this->GetInputData< itk::LightObject >( "CostFunctor" );
   _TCostFunctor* functor = NULL;
   if( base_functor != NULL )
   {
     functor = dynamic_cast< _TCostFunctor* >( base_functor );
     if( functor == NULL )
-      return( "fpaPlugins::ImageDijkstra: Given cost functor is invalid." );
+      this->_Error( "Given cost functor is invalid." );
 
   } // fi
   
@@ -66,9 +63,7 @@ _GD0( _TImage* image )
   this->_ExecuteFilter( filter );
 
   // Connect remaining output
-  this->GetOutputData( "Output" )->SetITK( filter->GetOutput( ) );
-  this->GetOutputData( "MST" )->SetITK( filter->GetMinimumSpanningTree( ) );
-  return( "" );
+  this->GetOutput( "MST" )->SetITK( filter->GetMinimumSpanningTree( ) );
 }
 
 // eof - $RCSfile$