Interpolate scattered 3D spatial data onto regular grids using Ordinary Kriging or Inverse Distance Weighting (IDW). Built on top of PyKrige and scikit-learn, with built-in preprocessing, cross-validation, and interactive visualizations.
import pandas as pd
from py3dinterpolations import GridData, interpolate
# load your spatial data (columns: ID, X, Y, Z, V)
df = pd.read_csv("measurements.csv")
griddata = GridData(df)
# interpolate onto a regular 3D grid
modeler = interpolate(
griddata=griddata,
model_type="ordinary_kriging",
grid_resolution=5.0,
model_params={"variogram_model": "linear", "nlags": 6, "weight": True},
)
# access results
grid = modeler.result # interpolated 3D grid- Interpolation — Ordinary 3D Kriging and IDW out of the box
- Preprocessing — downsampling, coordinate normalization, signal standardization
- Cross-validation — parameter grid search for kriging models
- Visualization — 2D slices with matplotlib, interactive 3D with plotly
pip install py3dinterpolationsWith development dependencies:
pip install py3dinterpolations[dev]Full documentation with working examples is available at giocaizzi.github.io/py3dinterpolations.
