Skip to content

types

py3dinterpolations.core.types

Type primitives for py3dinterpolations.

SklearnEstimator

Bases: Protocol

Structural type for sklearn-compatible estimators.

SklearnClassifier

Bases: SklearnEstimator, Protocol

Structural type for sklearn classifiers with predict_proba.

Axis

Bases: StrEnum

Spatial axis identifier.

ModelType

Bases: StrEnum

Supported interpolation model types.

DownsamplingStatistic

Bases: StrEnum

Supported downsampling statistics.

NormalizationParams(min, max) dataclass

Min/max normalization parameters for a single axis.

StandardizationParams(mean, std) dataclass

Mean/std standardization parameters.

DownsamplingParams(resolution) dataclass

Downsampling parameters.

PreprocessingParams(downsampling=None, normalization=None, standardization=None) dataclass

Collected preprocessing parameters from a preprocessing run.

GridResolution(x, y, z) dataclass

Grid resolution per axis.

Use uniform() for equal resolution on all axes, or from_input() to accept either float or per-axis dict.

uniform(resolution) classmethod

Create uniform resolution across all axes.

Source code in py3dinterpolations/core/types.py
95
96
97
98
@classmethod
def uniform(cls, resolution: float) -> "GridResolution":
    """Create uniform resolution across all axes."""
    return cls(x=resolution, y=resolution, z=resolution)

from_input(resolution) classmethod

Create from either a uniform float or per-axis dict.

Source code in py3dinterpolations/core/types.py
100
101
102
103
104
105
106
107
108
109
110
111
112
@classmethod
def from_input(cls, resolution: float | dict[str, float]) -> "GridResolution":
    """Create from either a uniform float or per-axis dict."""
    if isinstance(resolution, (int, float)):
        return cls.uniform(float(resolution))
    if isinstance(resolution, dict):
        return cls(
            x=float(resolution["X"]),
            y=float(resolution["Y"]),
            z=float(resolution["Z"]),
        )
    msg = f"resolution must be float or dict, got {type(resolution)}"
    raise TypeError(msg)

InterpolationResult(interpolated, variance=None, probability=None) dataclass

Result of an interpolation run.