GithubHelp home page GithubHelp logo

k-a-mendoza / polatory Goto Github PK

View Code? Open in Web Editor NEW

This project forked from polatory/polatory

0.0 0.0 0.0 2.51 MB

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

License: MIT License

Shell 0.84% C++ 91.81% R 0.26% PowerShell 1.52% CMake 5.55% Batchfile 0.02%

polatory's Introduction

๐Ÿšง 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.

Features โ€ข Building โ€ข Contribution โ€ข Module Index โ€ข References

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 Windows โ€ข On macOS โ€ข On 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

polatory's People

Contributors

unageek avatar namihisa-gsinet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.