Skip to content
Snippets Groups Projects
Commit f786e394 authored by Jonathan Guinet's avatar Jonathan Guinet
Browse files

BUG: writer is not instantiated with ImagePixelType_int8 (switch case...

BUG: writer is not instantiated with  ImagePixelType_int8 (switch case Pixel_type=0 and type =0) mantis ref #438.
parent fd71acff
Branches
Tags
No related merge requests found
...@@ -291,98 +291,107 @@ OutputImageParameter::GetWriter() ...@@ -291,98 +291,107 @@ OutputImageParameter::GetWriter()
// 1 : VectorImage // 1 : VectorImage
// 2 : RGBAImage // 2 : RGBAImage
// 3 : RGBImage // 3 : RGBImage
if ( dynamic_cast<Int8VectorImageType*>( m_Image.GetPointer()) || if (dynamic_cast<Int8VectorImageType*> (m_Image.GetPointer())
dynamic_cast<UInt8VectorImageType*>( m_Image.GetPointer()) || || dynamic_cast<UInt8VectorImageType*> (m_Image.GetPointer())
dynamic_cast<Int16VectorImageType*>( m_Image.GetPointer()) || || dynamic_cast<Int16VectorImageType*> (m_Image.GetPointer())
dynamic_cast<UInt16VectorImageType*>(m_Image.GetPointer()) || || dynamic_cast<UInt16VectorImageType*> (m_Image.GetPointer())
dynamic_cast<Int32VectorImageType*>( m_Image.GetPointer()) || || dynamic_cast<Int32VectorImageType*> (m_Image.GetPointer())
dynamic_cast<UInt32VectorImageType*>(m_Image.GetPointer()) || || dynamic_cast<UInt32VectorImageType*> (m_Image.GetPointer())
dynamic_cast<FloatVectorImageType*>( m_Image.GetPointer()) || || dynamic_cast<FloatVectorImageType*> (m_Image.GetPointer())
dynamic_cast<DoubleVectorImageType*>(m_Image.GetPointer()) ) || dynamic_cast<DoubleVectorImageType*> (m_Image.GetPointer()))
{ {
type = 1; type = 1;
} }
else if( dynamic_cast<UInt8RGBAImageType*>( m_Image.GetPointer()) ) else
{ if (dynamic_cast<UInt8RGBAImageType*> (m_Image.GetPointer()))
type = 2; {
} type = 2;
else if( dynamic_cast<UInt8RGBImageType*>( m_Image.GetPointer()) ) }
{ else
type = 3; if (dynamic_cast<UInt8RGBImageType*> (m_Image.GetPointer()))
} {
type = 3;
}
itk::ProcessObject* writer = 0; itk::ProcessObject* writer = 0;
switch ( GetPixelType() ) switch (GetPixelType())
{ {
case ImagePixelType_int8: case ImagePixelType_int8:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorInt8Writer; writer = m_VectorInt8Writer;
break; else
} if (type == 0) writer = m_Int8Writer;
break;
}
case ImagePixelType_uint8: case ImagePixelType_uint8:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorUInt8Writer; writer = m_VectorUInt8Writer;
else if(type == 0) else
writer = m_UInt8Writer; if (type == 0)
else if(type == 2) writer = m_UInt8Writer;
writer = m_RGBAUInt8Writer; else
else if (type == 2)
writer = m_RGBUInt8Writer; writer = m_RGBAUInt8Writer;
break; else writer = m_RGBUInt8Writer;
} break;
}
case ImagePixelType_int16: case ImagePixelType_int16:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorInt16Writer; writer = m_VectorInt16Writer;
else if(type == 0) else
writer = m_Int16Writer; if (type == 0) writer = m_Int16Writer;
break; break;
} }
case ImagePixelType_uint16: case ImagePixelType_uint16:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorUInt16Writer; writer = m_VectorUInt16Writer;
else if(type == 0) else
writer = m_UInt16Writer; if (type == 0) writer = m_UInt16Writer;
break; break;
} }
case ImagePixelType_int32: case ImagePixelType_int32:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorInt32Writer; writer = m_VectorInt32Writer;
else if(type == 0) else
writer = m_Int32Writer; if (type == 0) writer = m_Int32Writer;
break; break;
} }
case ImagePixelType_uint32: case ImagePixelType_uint32:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorUInt32Writer; writer = m_VectorUInt32Writer;
else if(type == 0) else
writer = m_UInt32Writer; if (type == 0) writer = m_UInt32Writer;
break; break;
} }
case ImagePixelType_float: case ImagePixelType_float:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorFloatWriter; writer = m_VectorFloatWriter;
else if(type == 0) else
writer = m_FloatWriter; if (type == 0) writer = m_FloatWriter;
break; break;
} }
case ImagePixelType_double: case ImagePixelType_double:
{ {
if( type == 1 ) if (type == 1)
writer = m_VectorDoubleWriter; writer = m_VectorDoubleWriter;
else if(type == 0) else
writer = m_DoubleWriter; if (type == 0) writer = m_DoubleWriter;
break; break;
}
} }
if (0 == writer)
{
itkExceptionMacro("Unknown Writer type.");
} }
return writer; return writer;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment