diff --git a/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTest.cxx b/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTest.cxx index 05bf19707ea..9a9210cbbb0 100644 --- a/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTest.cxx +++ b/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTest.cxx @@ -22,9 +22,9 @@ #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkSimpleFilterWatcher.h" -#include "vnl/vnl_sample.h" #include "itkTestingMacros.h" #include // For generate. +#include // For mt19937. int itkConnectedComponentImageFilterTest(int argc, char * argv[]) @@ -124,12 +124,20 @@ itkConnectedComponentImageFilterTest(int argc, char * argv[]) std::vector colormap; colormap.resize(numObjects + 1); - vnl_sample_reseed(1031571); + + using RGBComponentType = RGBPixelType::ComponentType; + constexpr auto maxRGBComponentValue = std::numeric_limits::max(); + + constexpr std::mt19937::result_type randomSeed{ 1031571 }; + std::mt19937 randomNumberEngine(randomSeed); + std::uniform_int_distribution<> randomNumberDistribution(maxRGBComponentValue / 3, maxRGBComponentValue); + for (auto & i : colormap) { RGBPixelType px; - std::generate( - px.begin(), px.end(), [] { return static_cast(255 * vnl_sample_uniform(0.3333, 1.0)); }); + std::generate(px.begin(), px.end(), [&randomNumberEngine, &randomNumberDistribution] { + return static_cast(randomNumberDistribution(randomNumberEngine)); + }); i = px; } diff --git a/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTestRGB.cxx b/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTestRGB.cxx index d98d46f47f7..a326a15b633 100644 --- a/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTestRGB.cxx +++ b/Modules/Segmentation/ConnectedComponents/test/itkConnectedComponentImageFilterTestRGB.cxx @@ -23,8 +23,8 @@ #include "itkImageFileWriter.h" #include "itkSimpleFilterWatcher.h" #include "itkTestingMacros.h" -#include "vnl/vnl_sample.h" #include // For generate. +#include // For mt19937. int itkConnectedComponentImageFilterTestRGB(int argc, char * argv[]) @@ -104,11 +104,19 @@ itkConnectedComponentImageFilterTestRGB(int argc, char * argv[]) std::vector colormap; RGBPixelType px; colormap.resize(numObjects + 1); - vnl_sample_reseed(1031571); + + using RGBComponentType = RGBPixelType::ComponentType; + constexpr auto maxRGBComponentValue = std::numeric_limits::max(); + + constexpr std::mt19937::result_type randomSeed{ 1031571 }; + std::mt19937 randomNumberEngine(randomSeed); + std::uniform_int_distribution<> randomNumberDistribution(maxRGBComponentValue / 3, maxRGBComponentValue); + for (auto & i : colormap) { - std::generate( - px.begin(), px.end(), [] { return static_cast(255 * vnl_sample_uniform(0.3333, 1.0)); }); + std::generate(px.begin(), px.end(), [&randomNumberEngine, &randomNumberDistribution] { + return static_cast(randomNumberDistribution(randomNumberEngine)); + }); i = px; } diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.1.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.1.png.cid index 04119d141ad..f18dca00aca 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.1.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.1.png.cid @@ -1 +1 @@ -bafkreidtm3ujuq2se3t4evejuuibd2cuk2xbv72yeqemnwo3syno72vjqq +bafkreicqlhg6xztvfqmgynbf3xb6qhbghwfzvkugt6nwxn2kloiwnfalp4 diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.png.cid index af83749c180..648e43f7302 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest.png.cid @@ -1 +1 @@ -bafkreig3gdn4rui4nxur5kkxrfv2nwh22vutbjmh5xl24ipxc2th7rz5qe +bafkreidv7hznlkcvddhdi7udpvsvqd7q677dhiamqenhskxyq53vogf62q diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.1.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.1.png.cid index cd4c01e395f..9b8941ea5a7 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.1.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.1.png.cid @@ -1 +1 @@ -bafkreiamfgwxqutd2spazedlyworg33yphhvjqcq7mkiq3eto2i5x4hy3y +bafkreidngvamh6ejxx5j6lzf57p3kqtjjvgm4dtil7ofekz4blhmns3pf4 diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.png.cid index c09e3083acb..fdcb972e12c 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest2.png.cid @@ -1 +1 @@ -bafkreig5qyo7d7klilcdl5was6yoahhljq42p4cujwbcv3ar3twguajod4 +bafkreihut6bgxwhnrmts5ov5hr357n4u7m53f2sjquuobazjizetlqb4ky diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.1.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.1.png.cid index 2ede26b98e5..398d199d744 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.1.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.1.png.cid @@ -1 +1 @@ -bafkreiecgg7dkdhieady5toarh75h5qrocfxecsonscbt27xzwkxxu2uwq +bafkreiejqekgsjh7frp43eya5fssenr56bfxazjo2ocp7qyevse5xfjjrq diff --git a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.png.cid b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.png.cid index 29681acae3a..4a1daf81270 100644 --- a/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.png.cid +++ b/Testing/Data/Baseline/BasicFilters/ConnectedComponentImageFilterTest3.png.cid @@ -1 +1 @@ -bafkreigngeop4cdefb3bd7rjgqwgsbu5kwzkr2dirwhpx27l2twlq7vkuq +bafkreifvvwy6zmh7td3cutymiervm7ipqgkfwx6rxuyxej2acw4i5ebcmu