Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 14 additions & 71 deletions Modules/Numerics/Statistics/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ set(
itkGaussianMixtureModelComponentTest.cxx
itkGaussianRandomSpatialNeighborSubsamplerTest.cxx
itkHistogramTest.cxx
itkHistogramToTextureFeaturesFilterNaNTest.cxx
itkHistogramToTextureFeaturesFilterTest.cxx
itkImageToHistogramFilterTest.cxx
itkImageToHistogramFilterTest2.cxx
Expand All @@ -38,25 +37,18 @@ set(
itkListSampleTest.cxx
itkMahalanobisDistanceMetricTest.cxx
itkManhattanDistanceMetricTest.cxx
itkMaximumDecisionRuleTest.cxx
itkMaximumRatioDecisionRuleTest.cxx
itkMeanSampleFilterTest.cxx
itkMeanSampleFilterTest2.cxx
itkMeanSampleFilterTest3.cxx
itkMeasurementVectorTraitsTest.cxx
itkMembershipFunctionBaseTest.cxx
itkMembershipFunctionBaseTest2.cxx
itkMembershipSampleTest1.cxx
itkMembershipSampleTest2.cxx
itkMembershipSampleTest3.cxx
itkMembershipSampleTest4.cxx
itkMinimumDecisionRuleTest.cxx
itkMixtureModelComponentBaseTest.cxx
itkNeighborhoodSamplerTest1.cxx
itkNormalVariateGeneratorTest1.cxx
itkPointSetToListSampleAdaptorTest.cxx
itkProbabilityDistributionTest.cxx
itkRandomVariateGeneratorBaseTest.cxx
itkSampleTest.cxx
itkSampleTest2.cxx
itkSampleTest3.cxx
Expand All @@ -81,13 +73,11 @@ set(
itkStandardDeviationPerComponentSampleFilterTest.cxx
itkStatisticsAlgorithmTest.cxx
itkStatisticsAlgorithmTest2.cxx
itkStatisticsTypesTest.cxx
itkSubsampleTest.cxx
itkSubsampleTest2.cxx
itkSubsampleTest3.cxx
itkTDistributionTest.cxx
itkUniformRandomSpatialNeighborSubsamplerTest.cxx
itkVectorContainerToListSampleAdaptorTest.cxx
itkWeightedCentroidKdTreeGeneratorTest1.cxx
itkWeightedCentroidKdTreeGeneratorTest8.cxx
itkWeightedCentroidKdTreeGeneratorTest9.cxx
Expand Down Expand Up @@ -435,24 +425,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkKdTreeTestSamplePoints
)
itk_add_test(
NAME itkMaximumDecisionRuleTest
COMMAND
ITKStatisticsTestDriver
itkMaximumDecisionRuleTest
)
itk_add_test(
NAME itkMinimumDecisionRuleTest
COMMAND
ITKStatisticsTestDriver
itkMinimumDecisionRuleTest
)
itk_add_test(
NAME itkMaximumRatioDecisionRuleTest
COMMAND
ITKStatisticsTestDriver
itkMaximumRatioDecisionRuleTest
)
itk_add_test(
NAME itkMeanSampleFilterTest
COMMAND
Expand Down Expand Up @@ -483,12 +455,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkHistogramToTextureFeaturesFilterTest
)
itk_add_test(
NAME itkHistogramToTextureFeaturesFilterNaNTest
COMMAND
ITKStatisticsTestDriver
itkHistogramToTextureFeaturesFilterNaNTest
)
itk_add_test(
NAME itkCovarianceSampleFilterTest
COMMAND
Expand Down Expand Up @@ -712,12 +678,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkProbabilityDistributionTest
)
itk_add_test(
NAME itkRandomVariateGeneratorBaseTest
COMMAND
ITKStatisticsTestDriver
itkRandomVariateGeneratorBaseTest
)
itk_add_test(
NAME itkMahalanobisDistanceMetricTest
COMMAND
Expand All @@ -730,12 +690,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkManhattanDistanceMetricTest
)
itk_add_test(
NAME itkMembershipFunctionBaseTest
COMMAND
ITKStatisticsTestDriver
itkMembershipFunctionBaseTest
)
itk_add_test(
NAME itkMembershipFunctionBaseTest2
COMMAND
Expand Down Expand Up @@ -778,18 +732,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkNeighborhoodSamplerTest1
)
itk_add_test(
NAME itkMixtureModelComponentBaseTest
COMMAND
ITKStatisticsTestDriver
itkMixtureModelComponentBaseTest
)
itk_add_test(
NAME itkNormalVariateGeneratorTest1
COMMAND
ITKStatisticsTestDriver
itkNormalVariateGeneratorTest1
)
itk_add_test(
NAME itkSampleTest
COMMAND
Expand Down Expand Up @@ -920,12 +862,6 @@ itk_add_test(
ITKStatisticsTestDriver
itkStandardDeviationPerComponentSampleFilterTest
)
itk_add_test(
NAME itkStatisticsTypesTest
COMMAND
ITKStatisticsTestDriver
itkStatisticsTypesTest
)
itk_add_test(
NAME itkSubsampleTest
COMMAND
Expand Down Expand Up @@ -973,12 +909,6 @@ itk_add_test(
0
${ITK_TEST_OUTPUT_DIR}/itkUniformRandomSubsamplingTest.mha
)
itk_add_test(
NAME itkVectorContainerToListSampleAdaptorTest
COMMAND
ITKStatisticsTestDriver
itkVectorContainerToListSampleAdaptorTest
)
itk_add_test(
NAME itkImageToHistogramFilterTest
COMMAND
Expand Down Expand Up @@ -1011,5 +941,18 @@ itk_add_test(
${ITK_TEST_OUTPUT_DIR}/itkScalarImageToHistogramGeneratorTest.txt
)

set(ITKStatisticsGTests itkChiSquareDistributionGTest.cxx)
set(
ITKStatisticsGTests
itkChiSquareDistributionGTest.cxx
itkHistogramToTextureFeaturesFilterNaNGTest.cxx
itkMaximumDecisionRuleGTest.cxx
itkMaximumRatioDecisionRuleGTest.cxx
itkMembershipFunctionBaseGTest.cxx
itkMinimumDecisionRuleGTest.cxx
itkMixtureModelComponentBaseGTest.cxx
itkNormalVariateGeneratorGTest1.cxx
itkRandomVariateGeneratorBaseGTest.cxx
itkStatisticsTypesGTest.cxx
itkVectorContainerToListSampleAdaptorGTest.cxx
)
creategoogletestdriver(ITKStatistics "${ITKStatistics-Test_LIBRARIES}" "${ITKStatisticsGTests}")
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,15 @@

// Ensure we do not get NaN's with a constant image

#include "itkScalarImageToCooccurrenceMatrixFilter.h"
#include "itkHistogramToTextureFeaturesFilter.h"

#include "itkMath.h"
#include "itkScalarImageToCooccurrenceMatrixFilter.h"

int
itkHistogramToTextureFeaturesFilterNaNTest(int, char *[])
#include "itkGTest.h"


TEST(HistogramToTextureFeaturesFilter, ConvertedLegacyTestNaN)
{
constexpr unsigned int Dimension{ 2 };
using PixelType = unsigned char;
Expand Down Expand Up @@ -53,10 +56,5 @@ itkHistogramToTextureFeaturesFilterNaNTest(int, char *[])

const TextureFilterType::MeasurementType correlation = filter->GetCorrelation();
std::cout << "Correlation: " << correlation << std::endl;
if (itk::Math::isnan(correlation))
{
return EXIT_FAILURE;
}

return EXIT_SUCCESS;
EXPECT_FALSE(itk::Math::isnan(correlation));
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,15 @@
*
*=========================================================================*/

#include <iostream>

#include "itkMaximumDecisionRule.h"

#include "itkGTest.h"

int
itkMaximumDecisionRuleTest(int, char *[])
{
#include <iostream>

std::cout << "==================================" << std::endl;
std::cout << "Testing MaximumDecionRule " << std::endl << std::endl;

TEST(MaximumDecisionRule, ConvertedLegacyTest)
{
using DecisionRuleType = itk::Statistics::MaximumDecisionRule;
auto decisionRule = DecisionRuleType::New();

Expand All @@ -38,11 +35,7 @@ itkMaximumDecisionRuleTest(int, char *[])
discriminantScores[1] = 1.0;
discriminantScores[2] = 2.0;

if (decisionRule->Evaluate(discriminantScores) != 2)
{
std::cout << "[FAILED]" << std::endl;
return EXIT_FAILURE;
}
EXPECT_EQ(decisionRule->Evaluate(discriminantScores), 2);

DecisionRuleType::MembershipVectorType discriminantScores2;
discriminantScores2.resize(3);
Expand All @@ -51,13 +44,5 @@ itkMaximumDecisionRuleTest(int, char *[])
discriminantScores2[1] = 1.0;
discriminantScores2[2] = 2.0;

if (decisionRule->Evaluate(discriminantScores2) != 2)
{
std::cout << "[FAILED]" << std::endl;
return EXIT_FAILURE;
}

std::cout << "[SUCCEEDED]" << std::endl;

return EXIT_SUCCESS;
EXPECT_EQ(decisionRule->Evaluate(discriminantScores2), 2);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,19 @@
*
*=========================================================================*/

#include <iostream>

#include "itkMaximumRatioDecisionRule.h"
#include "itkTestingMacros.h"

#include "itkGTest.h"

#include <iostream>

int
itkMaximumRatioDecisionRuleTest(int, char *[])
{

TEST(MaximumRatioDecisionRule, ConvertedLegacyTest)
{
using DecisionRuleType = itk::Statistics::MaximumRatioDecisionRule;
auto decisionRule = DecisionRuleType::New();

ITK_EXERCISE_BASIC_OBJECT_METHODS(decisionRule, MaximumRatioDecisionRule, DecisionRule);
ITK_GTEST_EXERCISE_BASIC_OBJECT_METHODS(decisionRule, MaximumRatioDecisionRule, DecisionRule);


DecisionRuleType::MembershipVectorType discriminantScores;
Expand All @@ -50,30 +49,19 @@ itkMaximumRatioDecisionRuleTest(int, char *[])
for (auto & value : aPrioris)
{
auto index = &value - &aPrioris.front();
ITK_TEST_SET_GET_VALUE(value, decisionRule->GetPriorProbabilities()[index]);
EXPECT_EQ(value, decisionRule->GetPriorProbabilities()[index]);
}

if (decisionRule->Evaluate(discriminantScores) != 2)
{
std::cout << "[FAILED]" << std::endl;
return EXIT_FAILURE;
}
EXPECT_EQ(decisionRule->Evaluate(discriminantScores), 2);

// run with uniform prior
aPrioris.clear();
decisionRule->SetPriorProbabilities(aPrioris);
for (auto & value : aPrioris)
{
auto index = &value - &aPrioris.front();
ITK_TEST_SET_GET_VALUE(value, decisionRule->GetPriorProbabilities()[index]);
}

if (decisionRule->Evaluate(discriminantScores) != 1)
{
std::cout << "[FAILED]" << std::endl;
return EXIT_FAILURE;
EXPECT_EQ(value, decisionRule->GetPriorProbabilities()[index]);
}

std::cout << "Test finished." << std::endl;
return EXIT_SUCCESS;
EXPECT_EQ(decisionRule->Evaluate(discriminantScores), 1);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@
*
*=========================================================================*/

#include <iostream>
#include "itkMembershipFunctionBase.h"

#include "itkGTest.h"

#include <iostream>

namespace itk::Statistics::MembershipFunctionBaseTest
{

Expand Down Expand Up @@ -53,10 +56,8 @@ class MyMembershipFunctionBase : public MembershipFunctionBase<TMeasurementVecto
} // namespace itk::Statistics::MembershipFunctionBaseTest


int
itkMembershipFunctionBaseTest(int, char *[])
TEST(MembershipFunctionBase, ConvertedLegacyTest)
{

constexpr unsigned int MeasurementVectorSize{ 17 };

using MeasurementVectorType = itk::FixedArray<float, MeasurementVectorSize>;
Expand All @@ -73,26 +74,9 @@ itkMembershipFunctionBaseTest(int, char *[])

function->SetMeasurementVectorSize(MeasurementVectorSize); // for code coverage

if (function->GetMeasurementVectorSize() != MeasurementVectorSize)
{
std::cerr << "GetMeasurementVectorSize() Failed !" << std::endl;
return EXIT_FAILURE;
}
EXPECT_EQ(function->GetMeasurementVectorSize(), MeasurementVectorSize);

// Test if an exception will be thrown if we try to resize the measurement vector
// size
try
{
function->SetMeasurementVectorSize(MeasurementVectorSize + 1);
std::cerr
<< "Exception should have been thrown since we are trying to resize non-resizeable measurement vector type "
<< std::endl;
return EXIT_FAILURE;
}
catch (const itk::ExceptionObject & excp)
{
std::cerr << "Caughted expected exception: " << excp << std::endl;
}

return EXIT_SUCCESS;
EXPECT_THROW(function->SetMeasurementVectorSize(MeasurementVectorSize + 1), itk::ExceptionObject);
}
Loading
Loading