Mercurial > hg > orthanc
diff OrthancFramework/UnitTestsSources/ImageProcessingTests.cpp @ 4780:ebb801d44e06
optimization in ImageProcessing::ShiftScale()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 30 Aug 2021 12:13:05 +0200 |
parents | d9473bd5ed43 |
children | 7053502fbf97 |
line wrap: on
line diff
--- a/OrthancFramework/UnitTestsSources/ImageProcessingTests.cpp Mon Aug 30 11:51:56 2021 +0200 +++ b/OrthancFramework/UnitTestsSources/ImageProcessingTests.cpp Mon Aug 30 12:13:05 2021 +0200 @@ -975,6 +975,25 @@ } +TEST(ImageProcessing, Grayscale8_Identity) +{ + Image image(PixelFormat_Float32, 5, 1, false); + ImageTraits<PixelFormat_Float32>::SetPixel(image, 0, 0, 0); + ImageTraits<PixelFormat_Float32>::SetPixel(image, 2.5, 1, 0); + ImageTraits<PixelFormat_Float32>::SetPixel(image, 5.5, 2, 0); + ImageTraits<PixelFormat_Float32>::SetPixel(image, 10.5, 3, 0); + ImageTraits<PixelFormat_Float32>::SetPixel(image, 255.5, 4, 0); + + Image image2(PixelFormat_Grayscale8, 5, 1, false); + ImageProcessing::ShiftScale(image2, image, 0, 1, false); + ASSERT_TRUE(TestGrayscale8Pixel(image2, 0, 0, 0)); + ASSERT_TRUE(TestGrayscale8Pixel(image2, 1, 0, 2)); + ASSERT_TRUE(TestGrayscale8Pixel(image2, 2, 0, 5)); + ASSERT_TRUE(TestGrayscale8Pixel(image2, 3, 0, 10)); + ASSERT_TRUE(TestGrayscale8Pixel(image2, 4, 0, 255)); +} + + TEST(ImageProcessing, ShiftScaleGrayscale16) { Image image(PixelFormat_Grayscale16, 5, 1, false); @@ -1011,6 +1030,24 @@ } +TEST(ImageProcessing, ShiftScaleSignedGrayscale16_Identity) +{ + Image image(PixelFormat_SignedGrayscale16, 5, 1, false); + SetSignedGrayscale16Pixel(image, 0, 0, 0); + SetSignedGrayscale16Pixel(image, 1, 0, 2); + SetSignedGrayscale16Pixel(image, 2, 0, 5); + SetSignedGrayscale16Pixel(image, 3, 0, 10); + SetSignedGrayscale16Pixel(image, 4, 0, 255); + + ImageProcessing::ShiftScale(image, 0, 1, true); + ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, 0)); + ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, 2)); + ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, 5)); + ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, 10)); + ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 255)); +} + + TEST(ImageProcessing, ShiftScale2) { std::vector<float> va;