X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2Ffpa%2FImageRegionGrow.cxx;h=333c70865afbf8ce0f49b43263112a3649dbac7e;hb=e832f438861464a8d521464b61be7e31c896adb8;hp=a988c632bc8f894caf4ce480d929829ab4a3e742;hpb=8fafb83c41ab35dfc25eb637170882a612924433;p=FrontAlgorithms.git diff --git a/plugins/fpa/ImageRegionGrow.cxx b/plugins/fpa/ImageRegionGrow.cxx index a988c63..333c708 100644 --- a/plugins/fpa/ImageRegionGrow.cxx +++ b/plugins/fpa/ImageRegionGrow.cxx @@ -1,12 +1,7 @@ #include "ImageRegionGrow.h" #include -#include -#include -#include -#include -#include -#include +#include // ------------------------------------------------------------------------- fpaPlugins::ImageRegionGrow:: @@ -27,39 +22,35 @@ fpaPlugins::ImageRegionGrow:: } // ------------------------------------------------------------------------- -std::string fpaPlugins::ImageRegionGrow:: +void fpaPlugins::ImageRegionGrow:: _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::ImageRegionGrow:: +void fpaPlugins::ImageRegionGrow:: _GD0( _TImage* image ) { - typedef fpa::Image::RegionGrow< _TImage, _TImage > _TFilter; - typedef typename _TFilter::TGrowingFunction _TGrowFunctor; - typedef typename _TFilter::TResult _TResult; + typedef unsigned short _TPixel; + typedef itk::Image< _TPixel, _TImage::ImageDimension > _TOutImage; + typedef fpa::Image::RegionGrow< _TImage, _TOutImage > _TFilter; + typedef typename _TFilter::TGrowingFunction _TGrowFunctor; + typedef typename _TFilter::TResult _TResult; - if( image == NULL ) - return( "fpaPlugins::ImageRegionGrow: Invalid image type." ); + // Create filter + _TFilter* filter = this->_ConfigureFilter< _TFilter >( ); - // Get functor (if any) typename _TGrowFunctor::Pointer functor; - auto wrap_functor = this->GetInputData( "GrowFunctor" ); + auto wrap_functor = this->GetInput( "GrowFunctor" ); if( wrap_functor != NULL ) functor = wrap_functor->GetITK< _TGrowFunctor >( ); if( functor.IsNull( ) ) - functor = - fpa::Image::Functors::RegionGrowAllBelongsFunction< _TImage >::New( ); - - // Create filter - _TFilter* filter = this->_ConfigureFilter< _TFilter >( ); - filter->SetGrowingFunction( functor ); + filter->SetGrowingFunction( functor ); filter->SetInsideValue( _TResult( this->m_Parameters.GetUint( "InsideValue" ) ) ); @@ -69,10 +60,6 @@ _GD0( _TImage* image ) // Go!!! this->_ExecuteFilter( filter ); - - // Connect remaining output - this->GetOutputData( "Output" )->SetITK( filter->GetOutput( ) ); - return( "" ); } // eof - $RCSfile$