vol_profile_line — 3D probe op

Data kinds: voxelpairs

Call: import fullseye as fs; fs.ledger.vol_profile_line(vol, p0, p1, n=None, spacing=None, order=1) (to call the implementation directly, import volprobe; volprobe.vol_profile_line(vol, p0, p1, n=None, spacing=None, order=1); from the registry, ops3d.get("vol_profile_line"))

Return value through the ledger: fullseye.ledger.vol_profile_line(...) returns **only the declared out type pairs** (the underlying function also returns auxiliary values). When you need what was dropped, use fullseye.ledger.vol_profile_line.raw(...) or call volprobe.vol_profile_line directly.

Usage

Gray-value profile along the straight probe `p0 -> p1`.

The segment between the two `(z, y, x)` voxel-space points (fractional

coordinates allowed) is sampled at `n` evenly-spaced positions with

spline interpolation of the given `order (scipy.ndimage.map_coordinates`;

1 = trilinear, the default). `n` defaults to one sample per unit of

*index-space* length (~1 voxel-step resolution regardless of spacing).

Parameters

----------

vol : (D, H, W) array — the volume (float64, finite; fail-closed otherwise).

p0, p1 : (z, y, x) — probe start / end, inside the volume on every axis.

n : int, optional — sample count (>= 2). Default `ceil(index_length) + 1`.

spacing : (sz, sy, sx) or volio.VolumeMeta, optional — voxel size in mm.

order : int in [0, 5] — interpolation spline order (1 = trilinear).

Returns

-------

(t_mm, values) : two float64 arrays of length `n. t_mm[i]` is the

*physical* distance of sample `i from p0` — the cumulative Euclidean

norm of the differences of the physical sample coordinates

(`index * spacing`), exact under anisotropic spacing; in plain voxel

units when `spacing is None. values[i]` is the interpolated gray

value.

Raises `ValueError` on a malformed volume, an endpoint outside the

volume, coincident endpoints (`p0 == p1: no probe direction), n < 2`

or an invalid `order / spacing`.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

wall_thickness_probepy -3.11 examples_3d/wall_thickness_probe.py

Ops the type connects to (they accept pairs as input)

fuse_to_voxel

Same category (probe)

vol_edge_probe · vol_wall_thickness


*Provenance: volprobe.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.