ct_scan_geometry — TOMOGRAPHY ct_scan op

• Datenarten: keine → ctgeometry (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)

• Aufruf: import fullseye as fs; fs.ledger.ct_scan_geometry(scan='cone', n_views=360, n_u=256, n_v=256, vol_shape=(256, 256, 256), voxel=1.0, du=None, dv=None, dso=None, dsd=None, detector='flat', arc_deg=None, start_deg=0.0, angles_deg=None, offset_u=0.0, pitch=1.0, turns=None, tilt_deg=30.0) (die Implementierung direkt: import ctscan; ctscan.ct_scan_geometry(scan='cone', n_views=360, n_u=256, n_v=256, vol_shape=(256, 256, 256), voxel=1.0, du=None, dv=None, dso=None, dsd=None, detector='flat', arc_deg=None, start_deg=0.0, angles_deg=None, offset_u=0.0, pitch=1.0, turns=None, tilt_deg=30.0); aus dem Register: opstomography.get("ct_scan_geometry"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Beschreibt einen CT-Scan: wo Quelle und Detektor in jeder Ansicht stehen.

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

Every other operator in this family reads this dict and nothing else, so a new scan is a new orbit here and never a new projector. The result carries, for each view, source (for a parallel beam the ray direction), det_center, det_u and det_v in physical units with the origin at the volume centre.

The orbits. "cone" is a circle around the z axis with a flat panel, the industrial default; "fan" the same with a single detector row, for a single slice; "helical" the cone with the source and detector moving along z, pitch detector heights per turn; "laminography" a circle tilted so that the beam meets the board normal at tilt_deg (90 is an ordinary CT, and dso=None with scan="laminography" is the parallel-beam form); "tomosynthesis" a source arc of arc_deg over a detector that does not move; "parallel" parallel rays.

A short scan is arc_deg < 360, a few-view scan a small n_views, a limited-angle scan a small arc_deg or an explicit angles_deg, and an offset detector offset_u bins. Those are parameters of the orbit, not new scans.

:param scan: one of SCANS. :param n_views: views, 1 .. 65536; ignored when *angles_deg* is given. :param n_u: detector columns. :param n_v: detector rows. :param vol_shape: (Z, Y, X) of the reconstruction, or one int for a cube. :param voxel: voxel edge in physical units. :param du: detector column pitch; None gives one voxel at the isocentre. :param dv: detector row pitch; None gives one voxel at the isocentre. :param dso: source to isocentre distance; None gives 3 volume widths. :param dsd: source to detector distance; None gives 2 * dso. :param detector: one of DETECTORS. :param arc_deg: orbit length; None gives 360, or 180 for "parallel", or 40

for "tomosynthesis".

:param start_deg: first view angle. :param angles_deg: explicit increasing view angles; overrides *n_views* and *arc_deg*. :param offset_u: detector shift in bins along u, for an extended field of view. :param pitch: helical table feed per turn, in detector heights at the isocentre. :param turns: helical turns; None covers the volume height. :param tilt_deg: laminography angle between the beam and the rotation axis. :returns: geometry dict; vol_shape, n_views, n_v, n_u and the per-view

arrays are the public fields.

:raises ValueError: on an unknown scan or detector, a non-positive length, a source

inside the volume, arc above 360, or an oversized request.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• ct_scan_modes — py -3.11 examples/ct_scan_modes.py

• poc_ct_casting_sparse_views — py -3.11 examples/poc_ct_casting_sparse_views.py

• poc_real_walnut_cbct — py -3.11 examples/poc_real_walnut_cbct.py

Typkompatible Folge-Operatoren (nehmen ctgeometry als Eingabe)

ellipsoid_projections · ct_forward_project · ct_adjoint_project · fdk_reconstruct · sirt_reconstruct · os_sart_reconstruct · tv_reconstruct · ct_dual_energy_reconstruct

Gleiche Kategorie (ct_scan)

shepp_logan_3d · ellipsoid_phantom · ellipsoid_projections · ct_forward_project · ct_adjoint_project · fdk_reconstruct · sirt_reconstruct · os_sart_reconstruct


*Provenance: ctscan.py — TOMOGRAPHY Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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