volume op• Data kinds: voxel → sinostack
• Call: import tomography; tomography.radon_volume(volume, angles_deg=None, n_detectors=None, oversample=1) (or opstomography.get("radon_volume"))
Project every slice of a `(Z, H, W) volume -> a (Z, A, D)` stack.
Parallel-beam geometry with the rotation axis along `Z`, which is the case
where the 3-D problem really is a stack of independent 2-D ones — each slice
projects into its own sinogram and nothing crosses between them. (A cone beam
does not have this property and is not implemented; saying so is cheaper than
a wrong `FDK`.)
The output's axis order is `(slice, angle, detector) so that stack[k]`
is a sinogram in this module's own convention and every 2-D operator here
applies to it unchanged.
:param volume: `(Z, H, W) float volume, Z >= 1`.
:param angles_deg: view angles; `None -> uniform [0, 180)`, 180 views.
:param n_detectors: bins; `None` -> covers the in-plane diagonal.
:param oversample: ray samples per pixel, `1 .. 8`.
:returns: `(Z, n_angles, n_detectors)` float64 stack.
:raises ValueError: on a non-3-D input or a stack over
:data:MAX_STACK_ELEMENTS.
• 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.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• tomography_reconstruct — py -3.11 examples/tomography_reconstruct.py
sinostack as input)volume)*Provenance: tomography.py — TOMOGRAPHY 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.