23 #include <pybind11/pybind11.h>
25 #include <pybind11/stl.h>
27 #include "ndarray/pybind11.h"
37 py::class_<KdTree<T>> clsKdTree(mod, (
"KdTree" + suffix).c_str());
38 clsKdTree.def(py::init<>());
53 mod, (
"Covariogram" + suffix).c_str());
54 clsCovariogram.def(py::init<>());
59 clsSquaredExpCovariogram(mod, (
"SquaredExpCovariogram" + suffix).c_str());
60 clsSquaredExpCovariogram.def(py::init<>());
66 clsNeuralNetCovariogram(mod, (
"NeuralNetCovariogram" + suffix).c_str());
67 clsNeuralNetCovariogram.def(py::init<>());
74 py::class_<GaussianProcess<T>> clsGaussianProcess(mod, (
"GaussianProcess" + suffix).c_str());
76 clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2>
const &, ndarray::Array<T, 1, 1>
const &,
78 clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2>
const &, ndarray::Array<T, 1, 1>
const &,
79 ndarray::Array<T, 1, 1>
const &, ndarray::Array<T, 1, 1>
const &,
81 clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2>
const &, ndarray::Array<T, 2, 2>
const &,
83 clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2>
const &, ndarray::Array<T, 1, 1>
const &,
84 ndarray::Array<T, 1, 1>
const &, ndarray::Array<T, 2, 2>
const &,
87 clsGaussianProcess.def(
89 (T (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 1, 1>
const &,
int)
const) &
91 clsGaussianProcess.def(
"interpolate",
93 ndarray::Array<T, 1, 1>
const &,
int)
const) &
95 clsGaussianProcess.def(
"selfInterpolate",
98 clsGaussianProcess.def(
100 (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 1, 1>,
int,
int)
const) &
104 clsGaussianProcess.def(
"addPoint", (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>
const &, T)) &
106 clsGaussianProcess.def(
"addPoint", (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>
const &,
107 ndarray::Array<T, 1, 1>
const &)) &
109 clsGaussianProcess.def(
"batchInterpolate",
111 ndarray::Array<T, 2, 2>
const &)
const) &
113 clsGaussianProcess.def(
115 (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 2, 2>
const &)
const) &
117 clsGaussianProcess.def(
"batchInterpolate",
119 ndarray::Array<T, 2, 2>
const &)
const) &
121 clsGaussianProcess.def(
123 (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 2, 2>, ndarray::Array<T, 2, 2>
const &)
const) &
128 clsGaussianProcess.def(
"getData",
130 ndarray::Array<int, 1, 1>)
const) &
132 clsGaussianProcess.def(
"getData",
134 ndarray::Array<int, 1, 1>)
const) &
139 declareCovariograms<double>(mod,
"D");
140 declareGaussianProcess<double>(mod,
"D");
141 declareKdTree<double>(mod,
"D");
The parent class of covariogram functions for use in Gaussian Process interpolation.
Stores values of a function sampled on an image and allows you to interpolate the function to unsampl...
The data for GaussianProcess is stored in a KD tree to facilitate nearest-neighbor searches.
a Covariogram that recreates a neural network with one hidden layer and infinite units in that layer
PYBIND11_MODULE(approximate, mod)
void declareCovariograms(py::module &mod, const std::string &suffix)
void declareKdTree(py::module &mod, const std::string &suffix)
void declareGaussianProcess(py::module &mod, const std::string &suffix)