X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2Ffpa%2FImageDijkstra.cxx;h=ef86917f0134e2d1bb71760bae61863765c3ce23;hb=e832f438861464a8d521464b61be7e31c896adb8;hp=44f5822e4ebbb05bbde2146a243315309e4858d6;hpb=8fafb83c41ab35dfc25eb637170882a612924433;p=FrontAlgorithms.git diff --git a/plugins/fpa/ImageDijkstra.cxx b/plugins/fpa/ImageDijkstra.cxx index 44f5822..ef86917 100644 --- a/plugins/fpa/ImageDijkstra.cxx +++ b/plugins/fpa/ImageDijkstra.cxx @@ -2,12 +2,7 @@ #include "MinimumSpanningTree.h" #include -#include -#include -#include -#include -#include -#include +#include // ------------------------------------------------------------------------- fpaPlugins::ImageDijkstra:: @@ -27,36 +22,35 @@ 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 fpa::Image::Dijkstra< _TImage, _TImage > _TFilter; - typedef typename _TFilter::TResult _TCost; - typedef itk::FunctionBase< _TCost, _TCost > _TCostFunctor; - typedef typename _TFilter::TMinimumSpanningTree _TMST; - - if( image == NULL ) - return( "fpaPlugins::ImageDijkstra: Invalid image type." ); + typedef float _TPixel; + typedef itk::Image< _TPixel, _TImage::ImageDimension > _TOutImage; + typedef fpa::Image::Dijkstra< _TImage, _TOutImage > _TFilter; + typedef typename _TFilter::TResult _TCost; + typedef itk::FunctionBase< _TCost, _TCost > _TCostFunctor; + typedef typename _TFilter::TMinimumSpanningTree _TMST; 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 @@ -69,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$