vol_profile_line — 3D probe op

• Data kinds: voxel → pairs

• 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_probe — py -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.