comparison OrthancStone/UnitTestsSources/GenericToolboxTests.cpp @ 1984:187a261d7ae2

computation of mean and stddev in rectangle probes
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 31 Oct 2022 14:42:46 +0100
parents a2955abe4c2e
children 07964689cb0b
comparison
equal deleted inserted replaced
1983:20fa913272b7 1984:187a261d7ae2
4497 ASSERT_DOUBLE_EQ(0.234423 , v[ 8]); 4497 ASSERT_DOUBLE_EQ(0.234423 , v[ 8]);
4498 ASSERT_DOUBLE_EQ(.786 , v[ 9]); 4498 ASSERT_DOUBLE_EQ(.786 , v[ 9]);
4499 ASSERT_DOUBLE_EQ(9093 , v[10]); 4499 ASSERT_DOUBLE_EQ(9093 , v[10]);
4500 ASSERT_DOUBLE_EQ(0 , v[11]); 4500 ASSERT_DOUBLE_EQ(0 , v[11]);
4501 } 4501 }
4502
4503
4504 TEST(LinearAlgebra, OnlineVarianceEstimator)
4505 {
4506 OrthancStone::LinearAlgebra::OnlineVarianceEstimator e;
4507 ASSERT_EQ(0u, e.GetCount());
4508 ASSERT_THROW(e.GetMean(), Orthanc::OrthancException);
4509 ASSERT_THROW(e.GetVariance(), Orthanc::OrthancException);
4510 ASSERT_THROW(e.GetStandardDeviation(), Orthanc::OrthancException);
4511
4512 e.AddSample(42);
4513 ASSERT_EQ(1u, e.GetCount());
4514 ASSERT_DOUBLE_EQ(42.0, e.GetMean());
4515 ASSERT_DOUBLE_EQ(0.0, e.GetVariance());
4516 ASSERT_DOUBLE_EQ(0.0, e.GetStandardDeviation());
4517
4518 e.Clear();
4519 e.AddSample(87.9);
4520 e.AddSample(-82.4);
4521 e.AddSample(17.3);
4522 ASSERT_EQ(3u, e.GetCount());
4523 ASSERT_DOUBLE_EQ(7.6, e.GetMean());
4524 ASSERT_DOUBLE_EQ(7321.09, e.GetVariance());
4525 ASSERT_DOUBLE_EQ(85.5633683301447, e.GetStandardDeviation());
4526 }