]> Creatis software - cpPlugins.git/blob - plugins/cpPluginsImageFilters/JoinSeriesImageFilter.cxx
More plugins added
[cpPlugins.git] / plugins / cpPluginsImageFilters / JoinSeriesImageFilter.cxx
1 #include <cpPluginsImageFilters/JoinSeriesImageFilter.h>
2 #include <cpPlugins/Image.h>
3 #include <cpPlugins_ITKInstances/ImageFilters.h>
4
5 #include <itkJoinSeriesImageFilter.h>
6 #include <itkJoinSeriesImageFilter.hxx>
7 #include <itkImageAlgorithm.hxx>
8
9 // -------------------------------------------------------------------------
10 cpPluginsImageFilters::JoinSeriesImageFilter::
11 JoinSeriesImageFilter( )
12   : Superclass( )
13 {
14   this->_AddInput( "Input" );
15   this->_AddOutput< cpPlugins::Image >( "Output" );
16 }
17
18 // -------------------------------------------------------------------------
19 cpPluginsImageFilters::JoinSeriesImageFilter::
20 ~JoinSeriesImageFilter( )
21 {
22 }
23
24 // -------------------------------------------------------------------------
25 std::string cpPluginsImageFilters::JoinSeriesImageFilter::
26 _GenerateData( )
27 {
28   auto image = this->GetInputData( "Input" )->GetITK< itk::DataObject >( );
29   std::string cpPlugin_Image_Demangle_Pixel_AllScalars( r, _GD0, image, 2 );
30   return( r );
31 }
32
33 // -------------------------------------------------------------------------
34 template< class _TImage >
35 std::string cpPluginsImageFilters::JoinSeriesImageFilter::
36 _GD0( _TImage* image )
37 {
38   typedef
39     itk::Image< typename _TImage::PixelType, _TImage::ImageDimension + 1 >
40     _TOutImage;
41   typedef itk::JoinSeriesImageFilter< _TImage, _TOutImage > _TFilter;
42
43   if( image == NULL )
44     return(
45       "ImageFilters::JoinSeriesImageFilter: No valid input image."
46       );
47
48   // Configure filter
49   _TFilter* filter = this->_CreateITK< _TFilter >( );
50   filter->SetInput( image );
51   /* TODO
52      filter->SetLowerThreshold( lower_val );
53      filter->SetUpperThreshold( upper_val );
54      filter->SetInsideValue( in_val );
55      filter->SetOutsideValue( out_val );
56      filter->Update( );
57   */
58
59   // Connect output
60   this->GetOutputData( "Output" )->SetITK( filter->GetOutput( ) );
61   return( "" );
62 }
63
64 // eof - $RCSfile$