ct_dual_energy_reconstruct — TOMOGRAPHY ct_scan op

• 데이터 종류: projstack × projstack × ctgeometry → table

• 호출: 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)(구현을 직접 호출하려면 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), 원장에서 가져오려면 opstomography.get("ct_dual_energy_reconstruct"))

• GPU: 없음(CPU 참조 구현만)

사용법

같은 기하의 스캔 두 번에서 기저 물질 볼륨 두 개를 얻는다.

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

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.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• 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

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

—

같은 카테고리(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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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