All Projects → polatory → polatory

polatory / polatory

Licence: Unknown, GPL-3.0 licenses found Licenses found Unknown LICENSE.md GPL-3.0 LICENSE.GPLv3
Fast, memory-efficient 3D spline interpolation and global kriging, via RBF (radial basis function) interpolation.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
shell
77523 projects

Projects that are alternatives of or similar to polatory

pyGeoStatistics
Geostatistics in Python
Stars: ✭ 70 (-14.63%)
Mutual labels:  geostatistics, kriging
SGpp
SG⁺⁺ – the numerical library for Sparse Grids in all their variants.
Stars: ✭ 59 (-28.05%)
Mutual labels:  interpolation, regression
Unity-Procedural
Spline based mesh generation
Stars: ✭ 67 (-18.29%)
Mutual labels:  splines, spline
PyTorch-Radial-Basis-Function-Layer
An implementation of an RBF layer/module using PyTorch.
Stars: ✭ 74 (-9.76%)
Mutual labels:  radial-basis-function, rbf
Peroxide
Rust numeric library with R, MATLAB & Python syntax
Stars: ✭ 191 (+132.93%)
Mutual labels:  interpolation, regression
BasisFunctionExpansions.jl
Basis Function Expansions for Julia
Stars: ✭ 19 (-76.83%)
Mutual labels:  approximation, function-approximation
smooth
The set of smoothing functions used for time series analysis and in forecasting.
Stars: ✭ 78 (-4.88%)
Mutual labels:  regression, smoothing
cmna-pkg
Computational Methods for Numerical Analysis
Stars: ✭ 13 (-84.15%)
Mutual labels:  interpolation, splines
Smile
Statistical Machine Intelligence & Learning Engine
Stars: ✭ 5,412 (+6500%)
Mutual labels:  interpolation, regression
bspline-fortran
Multidimensional B-Spline Interpolation of Data on a Regular Grid
Stars: ✭ 123 (+50%)
Mutual labels:  interpolation, splines
equadratures
equadratures.org/
Stars: ✭ 92 (+12.2%)
Mutual labels:  interpolation, approximation
Mathnet Numerics
Math.NET Numerics
Stars: ✭ 2,688 (+3178.05%)
Mutual labels:  interpolation, regression
numerics
library of numerical methods using Armadillo
Stars: ✭ 17 (-79.27%)
Mutual labels:  regression, splines
mugshot
Framework independent visual testing library
Stars: ✭ 126 (+53.66%)
Mutual labels:  regression
LIBSVM.jl
LIBSVM bindings for Julia
Stars: ✭ 74 (-9.76%)
Mutual labels:  regression
shape as points
[NeurIPS'21] Shape As Points: A Differentiable Poisson Solver
Stars: ✭ 398 (+385.37%)
Mutual labels:  surface-reconstruction
discrete frechet
Compute the Fréchet distance between two polygonal curves in Euclidean space.
Stars: ✭ 68 (-17.07%)
Mutual labels:  smoothing
xdem
Analysis of digital elevation models (DEMs)
Stars: ✭ 50 (-39.02%)
Mutual labels:  geostatistics
ML-Track
This repository is a recommended track, designed to get started with Machine Learning.
Stars: ✭ 19 (-76.83%)
Mutual labels:  regression
LinearRegression.jl
Linear Regression for Julia
Stars: ✭ 12 (-85.37%)
Mutual labels:  regression
Polatory

Travis CI AppVeyor Read the Docs

Polatory is a fast and memory-efficient framework for RBF (radial basis function) interpolation, developed by GSI Co., Ltd.

NOTE: This is a pre-release version. APIs subject to change without notice.

Features | License | Building | Contribution | Module Index | Acknowledgements

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

Platforms

Polatory runs on x86-64 processors and continuously tested on the following platforms.

OS Toolchain
Ubuntu 18.04 LTS GCC 7.4 and Clang 6.0
Windows Visual Studio 2019

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) Cardinal basis functions
Kriging variance (Not computed)

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

License

Polatory is available under two different licenses:

Building

On Ubuntu

  1. Install build tools

    sudo apt install build-essential cmake curl git ninja-build unzip

    If you use Clang, libomp-dev is required.

    sudo apt install clang libomp-dev
  2. Download and install Intel(R) MKL.

    See https://software.intel.com/articles/installing-intel-free-libs-and-python-apt-repo for details.

    wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB -O - | sudo apt-key add -
    sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
    sudo apt update
    sudo apt install intel-mkl-64bit-2019.5-075
  3. Clone Polatory

    git clone --recursive https://github.com/polatory/polatory.git
    cd polatory

    To update an existing repository:

    git submodule sync
    git submodule update --init --recursive
  4. Build polatory

    ./run init-vcpkg
    ./run cmake
    ./run build

On Windows

  1. Install Visual Studio Community 2019

    https://www.visualstudio.com/

    Under the Workloads tab, select the following item.

    • Desktop development with C++

    Under the Individual components tab, select the following item.

    • Code tools > Git for Windows
  2. Download and install Intel(R) MKL

  3. Clone Polatory

    git clone --recursive https://github.com/polatory/polatory.git
    cd polatory

    To update an existing repository:

    git submodule sync
    git submodule update --init --recursive
  4. Build polatory

    .\run init-vcpkg
    .\run cmake
    .\run build

Contribution

We welcome your contributions! You can contribute to this project in several ways:

Add a Star

You can just click the ★Star button to show your interest.

File an Issue

Feel free to file an issue, if you have any questions, feature requests, or if you have found any unexpected results (please include a minimal reproducible example).

Create a Pull Request

You can fork the source tree and make some improvements to it. Then feel free to create a PR. When sending a PR for the first time, please review and sign the Individual Contributor License Agreement.

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.

Acknowledgements

Polatory is built upon the following libraries. Each library may have other dependencies.

Abseil
Apache License 2.0
Boost
Boost Software License 1.0
Ceres Solver
BSD 3-Clause License
double-conversion
BSD 3-Clause License
Eigen
Mozilla Public License 2.0
FLANN
BSD 2-Clause License
Google Test
BSD 3-Clause License
gsl-lite
MIT License
Intel(R) MKL
Intel Simplified Software License
ScalFMM
CeCILL-C License 1.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].