Skip to content

Fast, memory-efficient 3D spline interpolation and global kriging, via RBF (radial basis function) interpolation.

License

Notifications You must be signed in to change notification settings

k-a-mendoza/polatory

 
 

Repository files navigation

🚧 NOTE: The main branch is under development. Please check the v0 branch for the moment. 🚧

Polatory

Polatory is a fast and memory-efficient framework for RBF (radial basis function) interpolation.

FeaturesBuildingContributionModule IndexReferences

Features

  • Fast spline surface reconstruction from 2.5D/3D point cloud
  • Fast interpolation of 1D/2D/3D scattered data (kriging prediction)
  • Meshing isosurfaces
  • Supports large number (millions) of input points
  • Supports inequality constraints
  • List of available RBFs

Supported Compilers

Polatory requires a C++ compiler that supports C++20 and OpenMP 2.0.

Kriging via RBF Interpolation (Benchmark)

Polatory can perform kriging prediction via RBF interpolation (dual kriging). Although different terminologies are used, both methods produce the same results. Here is the correspondence between them:

Kriging RBF interpolation
Prediction Interpolation (fitting + evaluation)
Covariance function RBF, positive definite
Generalized covariance function of order k RBF, conditionally positive definite of order k + 1
Nugget effect model Spline smoothing
Simple kriging Interpolant with no polynomial
Ordinary kriging Interpolant with polynomial of degree 0
Universal kriging Interpolant with polynomial of degree ≥ 1
Weights (Not computed)
Kriging variance (Not computed)

A limited number of covariance functions are supported. See the list of available RBFs for details.

Building

On WindowsOn macOSOn Ubuntu

Contribution

Contributions are welcome! You can contribute to this project in several ways:

Star the Repo

Just click the [★ Star] button on top of the page to show your interest!

Do not hesitate to file an issue if you have any questions, feature requests, or if you have encountered unexpected results (please include a minimal reproducible example).

You can fork the repo and make some improvements, then feel free to submit a pull request!

Module Index

Module Description
common Common utility functions and classes.
fmm Fast multipole methods (wrapper of ScalFMM).
geometry Geometric utilities.
interpolation RBF fitting and evaluation.
isosurface Isosurface generation.
kriging Parameter estimation and validation for kriging.
krylov Krylov subspace methods.
numeric Numerical utilities.
point_cloud SDF data generation from point clouds.
polynomial Polynomial part of RBF interpolant.
preconditioner The preconditioner used with Krylov subspace methods.
rbf Definition of RBFs/covariance functions.

References

  1. J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. McCallum, and T. R. Evans. Reconstruction and representation of 3D objects with radial basis functions. In Computer Graphics SIGGRAPH 2001 proceedings, ACM Press/ACM SIGGRAPH, pages 67–76, 12-17 August 2001. https://doi.org/10.1145/383259.383266

  2. R. K. Beatson, W. A. Light, and S. Billings. Fast solution of the radial basis function interpolation equations: Domain decomposition methods. SIAM J. Sci. Comput., 22(5):1717–1740, 2000. http://doi.org/10.1137/S1064827599361771

  3. G. M. Treece, R. W. Prager, and A. H. Gee. Regularised marching tetrahedra: improved iso-surface extraction. Computers and Graphics, 23(4):583–598, 1999. https://doi.org/10.1016/S0097-8493(99)00076-X

About

Fast, memory-efficient 3D spline interpolation and global kriging, via RBF (radial basis function) interpolation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.8%
  • CMake 5.6%
  • PowerShell 1.5%
  • Other 1.1%