]> Creatis software - cpPlugins.git/blob - plugins/ImageFilters/BinaryDilateParaImageFilter.cxx
Code cleaning
[cpPlugins.git] / plugins / ImageFilters / BinaryDilateParaImageFilter.cxx
1 #include <plugins/ImageFilters/BinaryDilateParaImageFilter.h>
2 #include <cpPlugins/Image.h>
3 #include <cpPlugins_Instances_MorphologicalImageFilters.h>
4
5 // -------------------------------------------------------------------------
6 cpPluginsImageFilters::BinaryDilateParaImageFilter::
7 BinaryDilateParaImageFilter( )
8   : Superclass( )
9 {
10   this->_AddInput( "Input" );
11   this->_AddOutput< cpPlugins::Image >( "Output" );
12   this->m_Parameters.ConfigureAsReal( "Radius" );
13   this->m_Parameters.ConfigureAsBool( "Circular" );
14   this->m_Parameters.ConfigureAsBool( "UseImageSpacing" );
15
16   this->m_Parameters.SetReal( "Radius", 3 );
17   this->m_Parameters.SetBool( "Circular", true );
18   this->m_Parameters.SetBool( "UseImageSpacing", false );
19 }
20
21 // -------------------------------------------------------------------------
22 cpPluginsImageFilters::BinaryDilateParaImageFilter::
23 ~BinaryDilateParaImageFilter( )
24 {
25 }
26
27 // -------------------------------------------------------------------------
28 void cpPluginsImageFilters::BinaryDilateParaImageFilter::
29 _GenerateData( )
30 {
31   auto image = this->GetInputData< itk::DataObject >( "Input" );
32   cpPlugins_Image_Demangle_Pixel_AllScalars     ( _GD0, image, 2 );
33   else cpPlugins_Image_Demangle_Pixel_AllScalars( _GD0, image, 3 );
34   else this->_Error( "No valid input image." );
35 }
36
37 // -------------------------------------------------------------------------
38 template< class _TInputImage >
39 void cpPluginsImageFilters::BinaryDilateParaImageFilter::
40 _GD0( _TInputImage* input_image )
41 {
42   typedef itk::BinaryDilateParaImageFilter< _TInputImage > _TFilter;
43
44   auto filter = this->_CreateITK< _TFilter >( );
45   filter->SetInput( input_image );
46   filter->SetRadius( this->m_Parameters.GetReal( "Radius" ) );
47   filter->SetCircular( this->m_Parameters.GetBool( "Circular" ) );
48   filter->SetUseImageSpacing( this->m_Parameters.GetBool( "UseImageSpacing" ) );
49   filter->Update( );
50   this->GetOutput( "Output" )->SetITK( filter->GetOutput( ) );
51 }
52
53 // eof - $RCSfile$