1 #include "MedianImageFilter.h"
2 #include <cpPlugins/Interface/Image.h>
4 #include <itkMedianImageFilter.h>
6 // -------------------------------------------------------------------------
7 cpPlugins::BasicFilters::MedianImageFilter::
11 this->_AddInput( "Input" );
12 this->_MakeOutput< cpPlugins::Interface::Image >( "Output" );
14 this->m_Parameters->ConfigureAsUint( "Radius", 3 );
17 // -------------------------------------------------------------------------
18 cpPlugins::BasicFilters::MedianImageFilter::
23 // -------------------------------------------------------------------------
24 std::string cpPlugins::BasicFilters::MedianImageFilter::
27 cpPlugins::Interface::Image* image =
28 this->GetInput< cpPlugins::Interface::Image >( "Input" );
30 return( "MedianImageFilter: No input image." );
32 itk::DataObject* itk_image = NULL;
34 cpPlugins_Image_Demangle_AllScalarTypes( 2, image, itk_image, r, _GD0 );
35 else cpPlugins_Image_Demangle_AllScalarTypes( 3, image, itk_image, r, _GD0 );
36 else cpPlugins_Image_Demangle_AllScalarTypes( 4, image, itk_image, r, _GD0 );
37 else r = "MedianImageFilter: Input image type not supported.";
41 // -------------------------------------------------------------------------
43 std::string cpPlugins::BasicFilters::MedianImageFilter::
44 _GD0( itk::DataObject* image )
47 this->_RealGD< I, itk::Image< unsigned char, I::ImageDimension > >(
53 // -------------------------------------------------------------------------
54 template< class I, class O >
55 inline std::string cpPlugins::BasicFilters::MedianImageFilter::
56 _RealGD( itk::DataObject* image )
58 typedef itk::MedianImageFilter< I, O > _F;
59 typedef typename _F::RadiusType _RT;
63 rad_val.Fill( this->m_Parameters->GetUint( "Radius" ) );
66 _F* filter = this->_CreateITK< _F >( );
67 filter->SetInput( dynamic_cast< I* >( image ) );
68 filter->SetRadius( rad_val );
72 cpPlugins::Interface::Image* out =
73 this->GetOutput< cpPlugins::Interface::Image >( "Output" );
76 out->SetITK< O >( filter->GetOutput( ) );
80 return( "MedianImageFilter: output not correctly created." );