}
// -------------------------------------------------------------------------
-std::string cpPluginsIO::ImageReader::
+void cpPluginsIO::ImageReader::
_GenerateData( )
{
// Get filenames
auto fnames = this->m_Parameters.GetOpenFileNameList( "FileNames" );
- std::string r = "";
if( fnames.size( ) >= 1 )
{
// Guess image properties
switch( io->GetNumberOfDimensions( ) )
{
// TODO: case 1: r = this->_GD0< 1 >( io ); break;
- case 2: r = this->_GD0< 2 >( io ); break;
- case 3: r = this->_GD0< 3 >( io ); break;
+ case 2: this->_GD0< 2 >( io ); break;
+ case 3: this->_GD0< 3 >( io ); break;
// TODO: case 4: r = this->_GD0< 4 >( io ); break;
default:
- r = "IO::ImageReader: Image dimension not supported.";
+ this->_Error( "Image dimension not supported." );
break;
} // hctiws
} // fi
}
else
- r =
- "IO::ImageReader: Could not CreateImageIO for \"" +
+ this->_Error(
+ std::string( "Could not create an ImageIO for \"" ) +
fnames[ 0 ] +
- "\"";
+ std::string( "\"" )
+ );
}
else
- r = "IO::ImageReader: No image(s) given";
- return( r );
+ this->_Error( "No image(s) given" );
}
// -------------------------------------------------------------------------
template< unsigned int _Dim >
-std::string cpPluginsIO::ImageReader::
+void cpPluginsIO::ImageReader::
_GD0( itk::ImageIOBase* io )
{
typedef unsigned char uchar;
itk::ImageIOBase::IOComponentType ct = io->GetComponentType( );
itk::ImageIOBase::IOPixelType pt = io->GetPixelType( );
- std::string r = "";
if( pt == itk::ImageIOBase::SCALAR )
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< char, _Dim >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< short, _Dim >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< int, _Dim >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< long, _Dim >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< float, _Dim >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< double, _Dim >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< uchar, _Dim >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< ushort, _Dim >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< uint, _Dim >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< ulong, _Dim >( io ); break;
- default:
- r = "IO::ImageReader: Scalar pixel type not supported.";
- break;
+ case itk::ImageIOBase::CHAR : this->_GD1< char, _Dim >( io ); break;
+ case itk::ImageIOBase::SHORT : this->_GD1< short, _Dim >( io ); break;
+ case itk::ImageIOBase::INT : this->_GD1< int, _Dim >( io ); break;
+ case itk::ImageIOBase::LONG : this->_GD1< long, _Dim >( io ); break;
+ case itk::ImageIOBase::FLOAT : this->_GD1< float, _Dim >( io ); break;
+ case itk::ImageIOBase::DOUBLE : this->_GD1< double, _Dim >( io ); break;
+ case itk::ImageIOBase::UCHAR : this->_GD1< uchar, _Dim >( io ); break;
+ case itk::ImageIOBase::USHORT : this->_GD1< ushort, _Dim >( io ); break;
+ case itk::ImageIOBase::UINT : this->_GD1< uint, _Dim >( io ); break;
+ case itk::ImageIOBase::ULONG : this->_GD1< ulong, _Dim >( io ); break;
+ default: this->_Error( "Scalar pixel type not supported." ); break;
} // hctiws
}
else if( pt == itk::ImageIOBase::RGB )
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< itk::RGBPixel< char >, _Dim >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< itk::RGBPixel< short >, _Dim >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< itk::RGBPixel< int >, _Dim >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< itk::RGBPixel< long >, _Dim >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< itk::RGBPixel< float >, _Dim >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< itk::RGBPixel< double >, _Dim >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< itk::RGBPixel< uchar >, _Dim >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< itk::RGBPixel< ushort >, _Dim >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< itk::RGBPixel< uint >, _Dim >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< itk::RGBPixel< ulong >, _Dim >( io ); break;
- default:
- r = "IO::ImageReader: RGB pixel type not supported.";
- break;
+ case itk::ImageIOBase::CHAR : this->_GD1< itk::RGBPixel< char >, _Dim >( io ); break;
+ case itk::ImageIOBase::SHORT : this->_GD1< itk::RGBPixel< short >, _Dim >( io ); break;
+ case itk::ImageIOBase::INT : this->_GD1< itk::RGBPixel< int >, _Dim >( io ); break;
+ case itk::ImageIOBase::LONG : this->_GD1< itk::RGBPixel< long >, _Dim >( io ); break;
+ case itk::ImageIOBase::FLOAT : this->_GD1< itk::RGBPixel< float >, _Dim >( io ); break;
+ case itk::ImageIOBase::DOUBLE : this->_GD1< itk::RGBPixel< double >, _Dim >( io ); break;
+ case itk::ImageIOBase::UCHAR : this->_GD1< itk::RGBPixel< uchar >, _Dim >( io ); break;
+ case itk::ImageIOBase::USHORT : this->_GD1< itk::RGBPixel< ushort >, _Dim >( io ); break;
+ case itk::ImageIOBase::UINT : this->_GD1< itk::RGBPixel< uint >, _Dim >( io ); break;
+ case itk::ImageIOBase::ULONG : this->_GD1< itk::RGBPixel< ulong >, _Dim >( io ); break;
+ default: this->_Error( "RGB pixel type not supported." ); break;
} // hctiws
}
else if( pt == itk::ImageIOBase::RGBA )
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< itk::RGBAPixel< char >, _Dim >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< itk::RGBAPixel< short >, _Dim >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< itk::RGBAPixel< int >, _Dim >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< itk::RGBAPixel< long >, _Dim >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< itk::RGBAPixel< float >, _Dim >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< itk::RGBAPixel< double >, _Dim >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< itk::RGBAPixel< uchar >, _Dim >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< itk::RGBAPixel< ushort >, _Dim >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< itk::RGBAPixel< uint >, _Dim >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< itk::RGBAPixel< ulong >, _Dim >( io ); break;
- default:
- r = "IO::ImageReader: RGBA pixel type not supported.";
- break;
+ case itk::ImageIOBase::CHAR : this->_GD1< itk::RGBAPixel< char >, _Dim >( io ); break;
+ case itk::ImageIOBase::SHORT : this->_GD1< itk::RGBAPixel< short >, _Dim >( io ); break;
+ case itk::ImageIOBase::INT : this->_GD1< itk::RGBAPixel< int >, _Dim >( io ); break;
+ case itk::ImageIOBase::LONG : this->_GD1< itk::RGBAPixel< long >, _Dim >( io ); break;
+ case itk::ImageIOBase::FLOAT : this->_GD1< itk::RGBAPixel< float >, _Dim >( io ); break;
+ case itk::ImageIOBase::DOUBLE : this->_GD1< itk::RGBAPixel< double >, _Dim >( io ); break;
+ case itk::ImageIOBase::UCHAR : this->_GD1< itk::RGBAPixel< uchar >, _Dim >( io ); break;
+ case itk::ImageIOBase::USHORT : this->_GD1< itk::RGBAPixel< ushort >, _Dim >( io ); break;
+ case itk::ImageIOBase::UINT : this->_GD1< itk::RGBAPixel< uint >, _Dim >( io ); break;
+ case itk::ImageIOBase::ULONG : this->_GD1< itk::RGBAPixel< ulong >, _Dim >( io ); break;
+ default: this->_Error( "RGBA pixel type not supported." ); break;
} // hctiws
}
else if( pt == itk::ImageIOBase::COMPLEX )
{
switch( ct )
{
- case itk::ImageIOBase::FLOAT : r = this->_GD1< std::complex< float >, _Dim >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< std::complex< double >, _Dim >( io ); break;
- default:
- r = "IO::ImageReader: complex pixel type not supported.";
- break;
+ case itk::ImageIOBase::FLOAT : this->_GD1< std::complex< float >, _Dim >( io ); break;
+ case itk::ImageIOBase::DOUBLE : this->_GD1< std::complex< double >, _Dim >( io ); break;
+ default: this->_Error( "Complex pixel type not supported." ); break;
} // hctiws
}
/* TODO
}
*/
else
- r = "IO::ImageReader: Image pixel type not yet supported.";
- return( r );
+ this->_Error( "Image pixel type not yet supported." );
}
// -------------------------------------------------------------------------
template< class _TPixel, unsigned int _Dim >
-std::string cpPluginsIO::ImageReader::
+void cpPluginsIO::ImageReader::
_GD1( itk::ImageIOBase* io )
{
typedef itk::Image< _TPixel, _Dim > _TImage;
// Get filenames
- std::string r = "";
auto fnames = this->m_Parameters.GetOpenFileNameList( "FileNames" );
if( fnames.size( ) == 1 )
{
}
catch( itk::ExceptionObject& err )
{
- r = "IO::ImageReader: " + std::string( err.GetDescription( ) );
+ this->_Error( err.GetDescription( ) );
}
}
else // if( fnames.size( ) > 1 )
}
catch( itk::ExceptionObject& err )
{
- r = "IO::ImageReader: " + std::string( err.GetDescription( ) );
+ this->_Error( err.GetDescription( ) );
}
} // fi
- return( r );
}
// eof - $RCSfile$