Skip to content

py3dinterpolations

py3dinterpolations

Quick 3D interpolation with Python.

PyPI Python Tests Coverage License: MIT


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
result = modeler.result  # InterpolationResult with .interpolated array

Features

  • 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