comparison 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
comparison
equal deleted inserted replaced
4779:4f368230f32b 4780:ebb801d44e06
973 ASSERT_TRUE(TestGrayscale8Pixel(image, 3, 0, 13)); // (10 - 1.1) * 1.5 = 13.35 => 13 973 ASSERT_TRUE(TestGrayscale8Pixel(image, 3, 0, 13)); // (10 - 1.1) * 1.5 = 13.35 => 13
974 ASSERT_TRUE(TestGrayscale8Pixel(image, 4, 0, 255)); 974 ASSERT_TRUE(TestGrayscale8Pixel(image, 4, 0, 255));
975 } 975 }
976 976
977 977
978 TEST(ImageProcessing, Grayscale8_Identity)
979 {
980 Image image(PixelFormat_Float32, 5, 1, false);
981 ImageTraits<PixelFormat_Float32>::SetPixel(image, 0, 0, 0);
982 ImageTraits<PixelFormat_Float32>::SetPixel(image, 2.5, 1, 0);
983 ImageTraits<PixelFormat_Float32>::SetPixel(image, 5.5, 2, 0);
984 ImageTraits<PixelFormat_Float32>::SetPixel(image, 10.5, 3, 0);
985 ImageTraits<PixelFormat_Float32>::SetPixel(image, 255.5, 4, 0);
986
987 Image image2(PixelFormat_Grayscale8, 5, 1, false);
988 ImageProcessing::ShiftScale(image2, image, 0, 1, false);
989 ASSERT_TRUE(TestGrayscale8Pixel(image2, 0, 0, 0));
990 ASSERT_TRUE(TestGrayscale8Pixel(image2, 1, 0, 2));
991 ASSERT_TRUE(TestGrayscale8Pixel(image2, 2, 0, 5));
992 ASSERT_TRUE(TestGrayscale8Pixel(image2, 3, 0, 10));
993 ASSERT_TRUE(TestGrayscale8Pixel(image2, 4, 0, 255));
994 }
995
996
978 TEST(ImageProcessing, ShiftScaleGrayscale16) 997 TEST(ImageProcessing, ShiftScaleGrayscale16)
979 { 998 {
980 Image image(PixelFormat_Grayscale16, 5, 1, false); 999 Image image(PixelFormat_Grayscale16, 5, 1, false);
981 SetGrayscale16Pixel(image, 0, 0, 0); 1000 SetGrayscale16Pixel(image, 0, 0, 0);
982 SetGrayscale16Pixel(image, 1, 0, 2); 1001 SetGrayscale16Pixel(image, 1, 0, 2);
1006 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, -197)); 1025 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, -197));
1007 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, -174)); 1026 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, -174));
1008 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, -139)); 1027 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, -139));
1009 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, -82)); 1028 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, -82));
1010 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 2736)); 1029 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 2736));
1030 }
1031
1032
1033 TEST(ImageProcessing, ShiftScaleSignedGrayscale16_Identity)
1034 {
1035 Image image(PixelFormat_SignedGrayscale16, 5, 1, false);
1036 SetSignedGrayscale16Pixel(image, 0, 0, 0);
1037 SetSignedGrayscale16Pixel(image, 1, 0, 2);
1038 SetSignedGrayscale16Pixel(image, 2, 0, 5);
1039 SetSignedGrayscale16Pixel(image, 3, 0, 10);
1040 SetSignedGrayscale16Pixel(image, 4, 0, 255);
1041
1042 ImageProcessing::ShiftScale(image, 0, 1, true);
1043 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 0, 0, 0));
1044 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 1, 0, 2));
1045 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 2, 0, 5));
1046 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, 10));
1047 ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 255));
1011 } 1048 }
1012 1049
1013 1050
1014 TEST(ImageProcessing, ShiftScale2) 1051 TEST(ImageProcessing, ShiftScale2)
1015 { 1052 {