Mercurial > hg > orthanc
comparison OrthancFramework/UnitTestsSources/ImageProcessingTests.cpp @ 4974:fcdf399f9fc0
fix ImageProcessing::ShiftScale2() on floating-point images
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 08 Apr 2022 11:48:54 +0200 |
parents | 924b15d983c7 |
children | 0ea402b4d901 |
comparison
equal
deleted
inserted
replaced
4973:17c91e054636 | 4974:fcdf399f9fc0 |
---|---|
1053 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, 0)); | 1053 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, 0)); |
1054 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, 2)); | 1054 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, 2)); |
1055 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, 5)); | 1055 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, 5)); |
1056 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, 10)); | 1056 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, 10)); |
1057 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 255)); | 1057 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 255)); |
1058 } | |
1059 | |
1060 | |
1061 TEST(ImageProcessing, ShiftFloatBuggy) | |
1062 { | |
1063 // This test failed in Orthanc 1.10.1 | |
1064 | |
1065 Image image(PixelFormat_Float32, 3, 1, false); | |
1066 ImageTraits<PixelFormat_Float32>::SetFloatPixel(image, -1.0f, 0, 0); | |
1067 ImageTraits<PixelFormat_Float32>::SetFloatPixel(image, 0.0f, 1, 0); | |
1068 ImageTraits<PixelFormat_Float32>::SetFloatPixel(image, 1.0f, 2, 0); | |
1069 | |
1070 std::unique_ptr<Image> cloned(Image::Clone(image)); | |
1071 | |
1072 ImageProcessing::ShiftScale2(image, 0, 0.000539, true); | |
1073 ASSERT_FLOAT_EQ(-0.000539f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(image, 0, 0)); | |
1074 ASSERT_FLOAT_EQ(0.0f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(image, 1, 0)); | |
1075 ASSERT_FLOAT_EQ(0.000539f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(image, 2, 0)); | |
1076 | |
1077 ImageProcessing::ShiftScale2(*cloned, 0, 0.000539, false); | |
1078 ASSERT_FLOAT_EQ(-0.000539f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(*cloned, 0, 0)); | |
1079 ASSERT_FLOAT_EQ(0.0f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(*cloned, 1, 0)); | |
1080 ASSERT_FLOAT_EQ(0.000539f, ImageTraits<PixelFormat_Float32>::GetFloatPixel(*cloned, 2, 0)); | |
1058 } | 1081 } |
1059 | 1082 |
1060 | 1083 |
1061 TEST(ImageProcessing, ShiftScale2) | 1084 TEST(ImageProcessing, ShiftScale2) |
1062 { | 1085 { |