ct_dual_energy_reconstruct — TOMOGRAPHY ct_scan op

• Datenarten: projstack × projstack × ctgeometry → table

• Aufruf: import fullseye as fs; fs.ledger.ct_dual_energy_reconstruct(proj_low, proj_high, geometry, mu_low=(1.0, 0.4), mu_high=(0.6, 0.3), method='fdk', device='auto', **options) (die Implementierung direkt: import ctscan; ctscan.ct_dual_energy_reconstruct(proj_low, proj_high, geometry, mu_low=(1.0, 0.4), mu_high=(0.6, 0.3), method='fdk', device='auto', **options); aus dem Register: opstomography.get("ct_dual_energy_reconstruct"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Zwei Scans derselben Geometrie ergeben zwei Basismaterial-Volumina.

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

At each detector sample the two line integrals are two linear equations in the two material path lengths, L = M t (Alvarez & Macovski 1976). The system is solved in the projection domain, where beam hardening has not yet been smeared across the volume, and each material is reconstructed on its own. *mu_low* and *mu_high* are effective attenuation coefficients; for a polychromatic beam, call dualxray.basis_material_decompose per view first and reconstruct its output.

The noise of the two path lengths grows with the condition number of M, which is returned.

:param proj_low: (view, V, U) line integrals of the low-energy scan. :param proj_high: the high-energy scan, same shape. :param geometry: dict from ct_scan_geometry. :param mu_low: attenuation of the two basis materials at the low energy. :param mu_high: attenuation of the two basis materials at the high energy. :param method: "fdk", "sirt", "os_sart" or "tv". :param device: "auto", "cpu" or "cuda". :param options: passed to the reconstruction. :returns: dict with basis_0 and basis_1 (path-length densities, volumes),

and condition.

:raises ValueError: on mismatched shapes or a singular matrix. Empty input

(proj_low with 0 elements) raises ValueError.

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)

• (noch keine)

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

—

Gleiche Kategorie (ct_scan)

ct_scan_geometry · shepp_logan_3d · ellipsoid_phantom · ellipsoid_projections · ct_forward_project · ct_adjoint_project · fdk_reconstruct · sirt_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.