1 #include "MacheteImageFilter.h"
2 #include <cpPlugins/Interface/Image.h>
4 //#include <MacheteImageFilter.h>
6 #include <itkBinaryBallStructuringElement.h>
8 #include <cpExtensions/Algorithms/MacheteImageFilter.h>
10 // -------------------------------------------------------------------------
11 cpPlugins::BasicFilters::MacheteImageFilter::
15 this->_AddInput( "Input" );
16 this->_MakeOutput< cpPlugins::Interface::Image >( "Output" );
18 this->m_Parameters->ConfigureAsUint( "Radius", 2 );
22 // -------------------------------------------------------------------------
23 cpPlugins::BasicFilters::MacheteImageFilter::
24 ~MacheteImageFilter( )
28 // -------------------------------------------------------------------------
29 std::string cpPlugins::BasicFilters::MacheteImageFilter::
32 cpPlugins::Interface::Image* image =
33 this->GetInput< cpPlugins::Interface::Image >( "Input" );
35 return( "MacheteImageFilter: No input image." );
37 itk::DataObject* itk_image = NULL;
39 cpPlugins_Image_Demangle_AllScalarTypes( 2, image, itk_image, r, _GD0 );
40 else cpPlugins_Image_Demangle_AllScalarTypes( 3, image, itk_image, r, _GD0 );
41 else cpPlugins_Image_Demangle_AllScalarTypes( 4, image, itk_image, r, _GD0 );
42 else r = "MacheteImageFilter: Input image type not supported.";
46 // -------------------------------------------------------------------------
48 std::string cpPlugins::BasicFilters::MacheteImageFilter::
49 _GD0( itk::DataObject* image )
52 this->_RealGD< I, itk::Image< unsigned char, I::ImageDimension > >(
58 // -------------------------------------------------------------------------
59 template< class I, class O >
60 inline std::string cpPlugins::BasicFilters::MacheteImageFilter::
61 _RealGD( itk::DataObject* image )
63 typedef cpExtensions::Algorithms::MacheteImageFilter< I, O > _F;
64 //typedef typename _F::radius _RT;
68 //rad_val.Fill( this->m_Parameters->GetUint( "Radius" ) );
72 _F* filter = this->_CreateITK< _F >();
73 filter->SetInput(dynamic_cast< I* >(image));
74 filter->SetRadius(this->m_Parameters->GetUint("Radius"));
77 //_F* filter = this->_CreateITK< _F >( );
78 //filter->SetInput( dynamic_cast< I* >( image ) );
82 cpPlugins::Interface::Image* out =
83 this->GetOutput< cpPlugins::Interface::Image >( "Output" );
86 //out->SetITK< O >( filter->GetOutput( ) );
90 return( "MacheteImageFilter: output not correctly created." );