}
// -------------------------------------------------------------------------
-template< unsigned int D >
+template< unsigned int _Dim >
std::string cpPluginsIO::ImageReader::
_GD0( itk::ImageIOBase* io )
{
+ typedef unsigned char uchar;
+ typedef unsigned short ushort;
+ typedef unsigned int uint;
+ typedef unsigned long ulong;
+
itk::ImageIOBase::IOComponentType ct = io->GetComponentType( );
itk::ImageIOBase::IOPixelType pt = io->GetPixelType( );
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< char, D >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< short, D >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< int, D >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< long, D >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< float, D >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< double, D >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< unsigned char, D >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< unsigned short, D >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< unsigned int, D >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< unsigned long, D >( io ); break;
+ 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;
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< itk::RGBPixel< char >, D >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< itk::RGBPixel< short >, D >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< itk::RGBPixel< int >, D >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< itk::RGBPixel< long >, D >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< itk::RGBPixel< float >, D >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< itk::RGBPixel< double >, D >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< itk::RGBPixel< unsigned char >, D >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< itk::RGBPixel< unsigned short >, D >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< itk::RGBPixel< unsigned int >, D >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< itk::RGBPixel< unsigned long >, D >( io ); break;
+ 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;
{
switch( ct )
{
- case itk::ImageIOBase::CHAR : r = this->_GD1< itk::RGBAPixel< char >, D >( io ); break;
- case itk::ImageIOBase::SHORT : r = this->_GD1< itk::RGBAPixel< short >, D >( io ); break;
- case itk::ImageIOBase::INT : r = this->_GD1< itk::RGBAPixel< int >, D >( io ); break;
- case itk::ImageIOBase::LONG : r = this->_GD1< itk::RGBAPixel< long >, D >( io ); break;
- case itk::ImageIOBase::FLOAT : r = this->_GD1< itk::RGBAPixel< float >, D >( io ); break;
- case itk::ImageIOBase::DOUBLE : r = this->_GD1< itk::RGBAPixel< double >, D >( io ); break;
- case itk::ImageIOBase::UCHAR : r = this->_GD1< itk::RGBAPixel< unsigned char >, D >( io ); break;
- case itk::ImageIOBase::USHORT : r = this->_GD1< itk::RGBAPixel< unsigned short >, D >( io ); break;
- case itk::ImageIOBase::UINT : r = this->_GD1< itk::RGBAPixel< unsigned int >, D >( io ); break;
- case itk::ImageIOBase::ULONG : r = this->_GD1< itk::RGBAPixel< unsigned long >, D >( io ); break;
+ 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;
} // 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;
+ } // hctiws
+ }
/* TODO
else if( pt == itk::ImageIOBase::VECTOR )
{
else if( pt == itk::ImageIOBase::DIFFUSIONTENSOR3D )
{
}
- else if( pt == itk::ImageIOBase::COMPLEX )
- {
- }
else if( pt == itk::ImageIOBase::OFFSET )
{
}
}
// -------------------------------------------------------------------------
-template< class P, unsigned int D >
+template< class _TPixel, unsigned int _Dim >
std::string cpPluginsIO::ImageReader::
_GD1( itk::ImageIOBase* io )
{
- typedef itk::Image< P, D > _I;
+ typedef itk::Image< _TPixel, _Dim > _TImage;
// Get filenames
std::string r = "";
auto fnames = this->m_Parameters.GetOpenFileNameList( "FileNames" );
if( fnames.size( ) == 1 )
{
- auto f = this->_CreateITK< itk::ImageFileReader< _I > >( );
+ auto f = this->_CreateITK< itk::ImageFileReader< _TImage > >( );
f->SetFileName( fnames[ 0 ] );
f->SetImageIO( io );
try
}
else // if( fnames.size( ) > 1 )
{
- auto f = this->_CreateITK< itk::ImageSeriesReader< _I > >( );
+ auto f = this->_CreateITK< itk::ImageSeriesReader< _TImage > >( );
for( auto i = fnames.begin( ); i != fnames.end( ); ++i )
f->AddFileName( *i );
f->SetImageIO( io );