py3dinterpolations
py3dinterpolations
¶
quick 3D interpolation with python
GridData(data, *, ID='ID', X='X', Y='Y', Z='Z', V='V', preprocessing_params=None)
¶
Container for 3D grid data with spatial coordinates and values.
Standardizes input DataFrames into a canonical format with MultiIndex (ID, X, Y, Z) and a single column V.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DataFrame
|
Source DataFrame with spatial data. |
required |
ID
|
str
|
Column name for point identifier. |
'ID'
|
X
|
str
|
Column name for X coordinate. |
'X'
|
Y
|
str
|
Column name for Y coordinate. |
'Y'
|
Z
|
str
|
Column name for Z coordinate. |
'Z'
|
V
|
str
|
Column name for value. |
'V'
|
preprocessing_params
|
PreprocessingParams | None
|
Parameters from preprocessing applied to this data. |
None
|
Source code in py3dinterpolations/core/griddata.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
ModelType
¶
Bases: StrEnum
Supported interpolation model types.
interpolate(griddata, model_type, grid_resolution, model_params=None, model_params_grid=None, preprocessing=None, **predict_kwargs)
¶
Interpolate GridData and return the Modeler with results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
griddata
|
GridData
|
Source data to interpolate. |
required |
model_type
|
ModelType | str
|
Which model to use (e.g. "ordinary_kriging", "idw"). |
required |
grid_resolution
|
float | dict[str, float]
|
Grid resolution. Float for regular, dict for irregular. |
required |
model_params
|
dict[str, object] | None
|
Model constructor parameters. |
None
|
model_params_grid
|
dict[str, list[object]] | None
|
Parameter grid for cross-validation search. |
None
|
preprocessing
|
PreprocessingKwargs | None
|
Keyword args for Preprocessor (e.g. downsampling_res, normalize_xyz). |
None
|
**predict_kwargs
|
object
|
Extra kwargs passed to model.predict(). |
{}
|
Returns:
| Type | Description |
|---|---|
Modeler
|
Modeler instance with .result populated. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If neither or both model_params/model_params_grid are given. |
NotImplementedError
|
If parameter search is used for non-kriging models. |
Source code in py3dinterpolations/modelling/interpolate.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | |
plot_2d_model(modeler, axis='Z', plot_points=False, annotate_points=False, figure_width=8)
¶
Plot 2D slices of a 3D interpolation along an axis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
modeler
|
Modeler
|
Modeler with prediction results. |
required |
axis
|
str
|
Axis to slice along ("X", "Y", or "Z"). |
'Z'
|
plot_points
|
bool
|
Whether to overlay training points on slices. |
False
|
annotate_points
|
bool
|
Whether to annotate point values. |
False
|
figure_width
|
float
|
Figure width in inches. |
8
|
Returns:
| Type | Description |
|---|---|
Figure
|
Matplotlib Figure. |
Source code in py3dinterpolations/plotting/plot_2d.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | |
plot_3d_model(modeler, plot_points=False, scale_points=1.0, volume_kwargs=None)
¶
Plot 3D interpolation result as a plotly Volume.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
modeler
|
Modeler
|
Modeler with prediction results. |
required |
plot_points
|
bool
|
Whether to overlay training points. |
False
|
scale_points
|
float
|
Scale factor for point marker sizes. |
1.0
|
volume_kwargs
|
dict[str, object] | None
|
Extra kwargs for go.Volume. |
None
|
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly Figure. |
Source code in py3dinterpolations/plotting/plot_3d.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |