OpenVDB 12.1.0

Loading...
Searching...
No Matches
PrincipalComponentAnalysis.h File Reference

Provides methods to perform principal component analysis (PCA) over a point set to compute rotational and affine transformations for each point that represent a their neighborhoods anisotropy. The techniques and algorithms used here are described in: [Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernel - Yu Turk 2010]. The parameters and results of these methods can be combines with the ellipsoidal surfacing technique found in PointRasterizeSDF.h. More...

`#include <openvdb/openvdb.h>`
`#include <openvdb/Grid.h>`
`#include <openvdb/Types.h>`
`#include <openvdb/math/Coord.h>`
`#include <openvdb/thread/Threading.h>`
`#include <openvdb/util/NullInterrupter.h>`
`#include <openvdb/util/Assert.h>`
`#include <openvdb/points/PointAttribute.h>`
`#include <openvdb/points/PointGroup.h>`
`#include <openvdb/points/PointTransfer.h>`
`#include <openvdb/points/PointDataGrid.h>`
`#include <string>`
`#include <vector>`
`#include <memory>`
`#include <limits>`
`#include <cmath>`
`#include "impl/PrincipalComponentAnalysisImpl.h"`

Go to the source code of this file.

## Classes
struct | PcaSettings
| Various settings for the neighborhood analysis of point distributions. More...
struct | PcaAttributes
| The persistent attributes created by the PCA methods. More...

## Namespaces
namespace | openvdb
namespace | openvdb::v12_1
namespace | openvdb::v12_1::points

## Functions
template<typename PointDataGridT>
void | pca (PointDataGridT &points, const PcaSettings &settings, const PcaAttributes &attrs)
| Calculate ellipsoid transformations from the local point distributions as described in Yu and Turk's 'Reconstructing Fluid Surfaces with Anisotropic Kernels'. The results are stored on the attributes pointed to by the PcaAttributes. See the PcaSettings and PcaAttributes structs for more details.

## Detailed Description

Provides methods to perform principal component analysis (PCA) over a point set to compute rotational and affine transformations for each point that represent a their neighborhoods anisotropy. The techniques and algorithms used here are described in: [Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernel - Yu Turk 2010]. The parameters and results of these methods can be combines with the ellipsoidal surfacing technique found in PointRasterizeSDF.h.

Author
  Richard Jones, Nick Avramoussis