- if( this->m_Parameters.HasStringValue( "OutputType" ) )
- {
- std::string output_type = this->m_Parameters.GetValueAsString( "OutputType" );
- std::string r = "";
- if( output_type == "char" )
- r = this->_RealGD< I, itk::Image< char, I::ImageDimension > >( image );
- else if( output_type == "uchar" )
- r = this->_RealGD< I, itk::Image< unsigned char, I::ImageDimension > >( image );
- else if( output_type == "short" )
- r = this->_RealGD< I, itk::Image< short, I::ImageDimension > >( image );
- else if( output_type == "ushort" )
- r = this->_RealGD< I, itk::Image< unsigned short, I::ImageDimension > >( image );
- else if( output_type == "int" )
- r = this->_RealGD< I, itk::Image< int, I::ImageDimension > >( image );
- else if( output_type == "uint" )
- r = this->_RealGD< I, itk::Image< unsigned int, I::ImageDimension > >( image );
- else if( output_type == "long" )
- r = this->_RealGD< I, itk::Image< long, I::ImageDimension > >( image );
- else if( output_type == "ulong" )
- r = this->_RealGD< I, itk::Image< unsigned long, I::ImageDimension > >( image );
- else if( output_type == "float" )
- r = this->_RealGD< I, itk::Image< float, I::ImageDimension > >( image );
- else if( output_type == "double" )
- r = this->_RealGD< I, itk::Image< double, I::ImageDimension > >( image );
- else
- r = "OtsuThresholdImageFilter: Invalid output type.";
- }
- else
- return( this->_RealGD< I, I >( image ) );