]> Creatis software - cpPlugins.git/blob - plugins/ITKUnaryFunctorFilters/AbsImageFilter.cxx
6e7c27c1aff2ce5982827ddf0557c652a37458c1
[cpPlugins.git] / plugins / ITKUnaryFunctorFilters / AbsImageFilter.cxx
1 #include <ITKUnaryFunctorFilters/AbsImageFilter.h>
2 #include <cpInstances/DataObjects/Image.h>
3
4 #include <itkAbsImageFilter.h>
5
6 // -------------------------------------------------------------------------
7 cpPluginsITKUnaryFunctorFilters::AbsImageFilter::
8 AbsImageFilter( )
9   : Superclass( )
10 {
11   typedef cpInstances::DataObjects::Image _TImage;
12
13   this->_ConfigureInput< _TImage >( "Input", true, false );
14   this->_ConfigureOutput< _TImage >( "Output" );
15 }
16
17 // -------------------------------------------------------------------------
18 cpPluginsITKUnaryFunctorFilters::AbsImageFilter::
19 ~AbsImageFilter( )
20 {
21 }
22
23 // -------------------------------------------------------------------------
24 void cpPluginsITKUnaryFunctorFilters::AbsImageFilter::
25 _GenerateData( )
26 {
27   auto o = this->GetInputData( "Input" );
28   cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
29     this->_Error( "Invalid input image." );
30 }
31
32 // -------------------------------------------------------------------------
33 template< class _TImage >
34 void cpPluginsITKUnaryFunctorFilters::AbsImageFilter::
35 _GD0( _TImage* image )
36 {
37   typedef itk::AbsImageFilter< _TImage, _TImage > _TFilter;
38
39   // Configure filter
40   auto filter = this->_CreateITK< _TFilter >( );
41   filter->SetInput( image );
42   filter->Update( );
43   this->GetOutput( "Output" )->SetITK( filter->GetOutput( ) );
44 }
45
46 // eof - $RCSfile$