dpm_tools.metrics#

Pore scale characterization metrics#

edt(image)

Compute the 3D Euclidean distance transform map of the entire image.

sdt(image)

Signed distance transform where positive values are into the pore space and negative values are into the grain space.

mis(image, **kwargs)

Compute Maximum Inscribed Sphere of the entire image using PoreSpy.

slicewise_edt(image)

Compute the Euclidean distance transform map of each slice individually and stacks them into a single 3D array.

slicewise_mis(image, **kwargs)

Compute the slice-wise maximum inscribed sphere (maximum inscribed disk) using PoreSpy.

ellipse_area(image)

Compute the ellipse area based on the chord lengths in slices orthogonal to direction of flow Assumes img = 1 for pore space, 0 for grain space

time_of_flight(image[, boundary, detrend])

Compute time of flight map (solution to Eikonal equation) from specified boundary (inlet or outlet) Assumes img = 1 in pore space, 0 for grain space Assumes flow is in z direction (orthogonal to axis 2)

constriction_factor(thickness_map[, power])

Compute the slice-wise constriction factor from the input thickness map.

minkowski_functionals(image[, pad])

Compute the 2D or 3D Minkowski functionals from a Numpy array.

morph_drain(image[, target_saturation, ...])

Compute the morphological drainage curve to the target saturation.

_morph_drain_config(image, radius)

Estimate the multiphase configuration of the pore space using the morphological drainage method following Hilper & Miller (2001): :rtype: Tuple[ndarray, float]

heterogeneity_curve(image[, no_radii, ...])

Compute a curve of the porosity variance over n_samples_per_radius points for no_radii size moving windows.

minkowski_map(image, support_size[, backend])

Compute a map of the 3 (4) Minkowski functionals for a given support size of a 2D (3D) image.

histogram_statistics(*images[, ...])

Get the statistics of multiple images.