#include #include #include #include // ------------------------------------------------------------------------- cpPluginsImageArithmeticFilters::NaryAddImageFilter:: NaryAddImageFilter( ) : Superclass( ) { typedef cpPlugins::DataObjects::Image _TImage; this->_ConfigureInput< _TImage >( "Inputs", true, true ); this->_ConfigureOutput< _TImage >( "Output" ); } // ------------------------------------------------------------------------- cpPluginsImageArithmeticFilters::NaryAddImageFilter:: ~NaryAddImageFilter( ) { } // ------------------------------------------------------------------------- void cpPluginsImageArithmeticFilters::NaryAddImageFilter:: _GenerateData( ) { auto o = this->GetInputData( "Inputs", 0 ); cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 ) this->_Error( "Invalid input image (0)." ); } // ------------------------------------------------------------------------- template< class _TImage > void cpPluginsImageArithmeticFilters::NaryAddImageFilter:: _GD0( _TImage* image1 ) { typedef itk::NaryAddImageFilter< _TImage, _TImage > _TFilter; // Configure filter auto filter = this->_CreateITK< _TFilter >( ); filter->SetInput( 0, image1 ); unsigned int nInputs = this->GetInputSize( "Inputs" ); for( unsigned int i = 1; i < nInputs; ++i ) filter->SetInput( i, this->GetInputData< _TImage >( "Inputs", i ) ); filter->Update( ); this->GetOutput( "Output" )->SetITK( filter->GetOutput( ) ); } // eof - $RCSfile$