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; }