#include <cpPlugins/Image.h>
#include <fpa_Instances/Filters.h>
-#include <fpa/Image/Functors/RegionGrowAllBelongsFunction.h>
-
-#include <fpa/Base/Algorithm.hxx>
-#include <fpa/Base/RegionGrow.hxx>
-#include <fpa/Image/Algorithm.hxx>
-#include <fpa/Image/RegionGrow.hxx>
-#include <fpa/VTK/Image2DObserver.hxx>
-#include <fpa/VTK/Image3DObserver.hxx>
// -------------------------------------------------------------------------
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" ) )
);
// Go!!!
this->_ExecuteFilter( filter );
-
- // Connect remaining output
- this->GetOutputData( "Output" )->SetITK( filter->GetOutput( ) );
- return( "" );
}
// eof - $RCSfile$