Mercurial > hg > orthanc
diff UnitTestsSources/ImageProcessingTests.cpp @ 4079:73c22208272f
ImageProcessing::ShiftScale2()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 22 Jun 2020 18:59:45 +0200 |
parents | 27628b0f6ada |
children |
line wrap: on
line diff
--- a/UnitTestsSources/ImageProcessingTests.cpp Mon Jun 22 15:09:40 2020 +0200 +++ b/UnitTestsSources/ImageProcessingTests.cpp Mon Jun 22 18:59:45 2020 +0200 @@ -1016,3 +1016,38 @@ ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 3, 0, -82)); ASSERT_TRUE(TestSignedGrayscale16Pixel(image, 4, 0, 2736)); } + + +TEST(ImageProcessing, ShiftScale2) +{ + std::vector<float> va; + va.push_back(0); + va.push_back(-10); + va.push_back(5); + + std::vector<float> vb; + vb.push_back(0); + vb.push_back(-42); + vb.push_back(42); + + Image source(PixelFormat_Float32, 1, 1, false); + ImageTraits<PixelFormat_Float32>::SetFloatPixel(source, 10, 0, 0); + + for (std::vector<float>::const_iterator a = va.begin(); a != va.end(); ++a) + { + for (std::vector<float>::const_iterator b = vb.begin(); b != vb.end(); ++b) + { + Image target(PixelFormat_Float32, 1, 1, false); + + ImageProcessing::Copy(target, source); + ImageProcessing::ShiftScale2(target, *b, *a, false); + ASSERT_FLOAT_EQ((*a) * 10.0f + (*b), + ImageTraits<PixelFormat_Float32>::GetFloatPixel(target, 0, 0)); + + ImageProcessing::Copy(target, source); + ImageProcessing::ShiftScale(target, *b, *a, false); + ASSERT_FLOAT_EQ((*a) * (10.0f + (*b)), + ImageTraits<PixelFormat_Float32>::GetFloatPixel(target, 0, 0)); + } + } +}