MCPcopy Create free account
hub / github.com/Kitware/VTK / vtkPCAStatisticsNormalizeVariance

Function vtkPCAStatisticsNormalizeVariance

Filters/Statistics/vtkPCAStatistics.cxx:586–608  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

584
585//------------------------------------------------------------------------------
586static void vtkPCAStatisticsNormalizeVariance(vtkVariantArray* normData, Eigen::MatrixXd& cov)
587{
588 vtkIdType i, j;
589 vtkIdType m = cov.rows();
590 for (i = 0; i < m; ++i)
591 {
592 normData->InsertNextValue(cov(i, i));
593 double norm = sqrt(cov(i, i));
594 // normalization factor applied down and to the right.
595 for (j = i + 1; j < m; ++j)
596 {
597 cov(i, j) /= norm;
598 cov(j, i) /= norm;
599 }
600 // normalization factor applied up and to the left.
601 for (j = 0; j < i; ++j)
602 {
603 cov(i, j) /= norm;
604 cov(j, i) /= norm;
605 }
606 cov(i, i) = 1.;
607 }
608}
609
610//------------------------------------------------------------------------------
611void vtkPCAStatistics::Derive(vtkStatisticalModel* inMeta)

Callers 1

DeriveMethod · 0.85

Calls 3

sqrtFunction · 0.50
rowsMethod · 0.45
InsertNextValueMethod · 0.45

Tested by

no test coverage detected