diff --git a/Modules/Core/Common/include/itkCommonEnums.h b/Modules/Core/Common/include/itkCommonEnums.h index 127275afd9c..b57bd025f52 100644 --- a/Modules/Core/Common/include/itkCommonEnums.h +++ b/Modules/Core/Common/include/itkCommonEnums.h @@ -71,6 +71,8 @@ class CommonEnums * Enums used to manipulate the component type. The component type * refers to the actual storage class associated with either a * SCALAR pixel type or elements of a compound pixel. + * + * \note The enum `CHAR` represents `signed char` (not just plain `char`). */ ITK_CLANG_PRAGMA_PUSH ITK_CLANG_SUPPRESS_Wduplicate_enum diff --git a/Modules/Core/TestKernel/src/itkTestDriverInclude.cxx b/Modules/Core/TestKernel/src/itkTestDriverInclude.cxx index 340c4f708b9..ed627dde194 100644 --- a/Modules/Core/TestKernel/src/itkTestDriverInclude.cxx +++ b/Modules/Core/TestKernel/src/itkTestDriverInclude.cxx @@ -828,7 +828,7 @@ HashTestImage(const char * testImageFilename, const std::vector & b switch (componentType) { case itk::IOComponentEnum::CHAR: - testMD5 = ComputeHash>(testImageFilename); + testMD5 = ComputeHash>(testImageFilename); break; case itk::IOComponentEnum::UCHAR: testMD5 = ComputeHash>(testImageFilename); diff --git a/Modules/IO/ImageBase/include/itkImageFileReader.hxx b/Modules/IO/ImageBase/include/itkImageFileReader.hxx index 78b4207f03e..ba4b27151a2 100644 --- a/Modules/IO/ImageBase/include/itkImageFileReader.hxx +++ b/Modules/IO/ImageBase/include/itkImageFileReader.hxx @@ -482,7 +482,7 @@ ImageFileReader::DoConvertBuffer(const void * { } ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::UCHAR, unsigned char) - ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, char) + ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, signed char) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::USHORT, unsigned short) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::SHORT, short) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::UINT, unsigned int) diff --git a/Modules/IO/ImageBase/src/itkImageIOBase.cxx b/Modules/IO/ImageBase/src/itkImageIOBase.cxx index 76737643537..c2c4022600b 100644 --- a/Modules/IO/ImageBase/src/itkImageIOBase.cxx +++ b/Modules/IO/ImageBase/src/itkImageIOBase.cxx @@ -824,7 +824,7 @@ ImageIOBase::ReadBufferAsASCII(std::istream & is, void * buffer, IOComponentEnum break; case IOComponentEnum::CHAR: { - auto * buf = static_cast(buffer); + auto * buf = static_cast(buffer); ReadBuffer(is, buf, numComp); } break; diff --git a/Modules/IO/MeshBase/include/itkMeshFileReader.hxx b/Modules/IO/MeshBase/include/itkMeshFileReader.hxx index f95533631b5..5d0d6ca0472 100644 --- a/Modules/IO/MeshBase/include/itkMeshFileReader.hxx +++ b/Modules/IO/MeshBase/include/itkMeshFileReader.hxx @@ -703,7 +703,7 @@ MeshFileReader::Co { } ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::UCHAR, unsigned char) - ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, char) + ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, signed char) ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::USHORT, unsigned short) ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::SHORT, short) ITK_CONVERT_POINT_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::UINT, unsigned int) @@ -778,7 +778,7 @@ MeshFileReader::Co { } ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::UCHAR, unsigned char) - ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, char) + ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, signed char) ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::USHORT, unsigned short) ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::SHORT, short) ITK_CONVERT_CELL_PIXEL_BUFFER_IF_BLOCK(IOComponentEnum::UINT, unsigned int) diff --git a/Modules/IO/TIFF/test/itkTIFFImageIOCompressionTest.cxx b/Modules/IO/TIFF/test/itkTIFFImageIOCompressionTest.cxx index 939ca44cc9c..7cff904d43c 100644 --- a/Modules/IO/TIFF/test/itkTIFFImageIOCompressionTest.cxx +++ b/Modules/IO/TIFF/test/itkTIFFImageIOCompressionTest.cxx @@ -200,7 +200,7 @@ itkTIFFImageIOCompressionTest(int argc, char * argv[]) } case itk::IOComponentEnum::CHAR: { - using PixelType = char; + using PixelType = signed char; return itkTIFFImageIOCompressionTestHelper>(argc, argv, JPEGQuality); } case itk::IOComponentEnum::USHORT: diff --git a/Modules/Video/IO/include/itkVideoFileReader.hxx b/Modules/Video/IO/include/itkVideoFileReader.hxx index d4d3199c434..f0c52feaac5 100644 --- a/Modules/Video/IO/include/itkVideoFileReader.hxx +++ b/Modules/Video/IO/include/itkVideoFileReader.hxx @@ -274,7 +274,7 @@ VideoFileReader::DoConvertBuffer(const void * inputData, Fra { } ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::UCHAR, unsigned char) - ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, char) + ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::CHAR, signed char) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::USHORT, unsigned short) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::SHORT, short) ITK_CONVERT_BUFFER_IF_BLOCK(IOComponentEnum::UINT, unsigned int)