backproject_sinogram — TOMOGRAPHY reconstruct op

数据种类:sinogramimage2d

调用:import tomography; tomography.backproject_sinogram(sinogram, angles_deg=None, size=None, span_deg=None)(或 opstomography.get("backproject_sinogram"))

用法

未滤波的朴素反投影 —— 模糊的基线。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

Smear each projection back along the rays it came from and sum. The result is

the true slice convolved with `1/|r|`, so it is correct in the large and

wrong everywhere in detail.

Two numbers, because only one of them is the interesting one. Raw, on the

Shepp-Logan phantom with 180 views, this operator's values run 0.768 to 2.493

where the truth runs 0.0 to 0.0167 — the `1/|r|` kernel has no finite

integral, so an un-filtered back-projection has **no meaningful absolute

scale at all** and its normalised RMS error against the truth is 104. After

the best least-squares rescaling onto the truth — which is what any display

with an auto window does for you, silently — the error is 0.168 against

0.0246 for :func:filtered_backprojection, a factor of 6.8. That

second number is the ramp filter's real contribution; the first is a warning

that a picture which looks approximately right after auto-windowing can be

off by a factor of 100 in the numbers underneath it.

It is a registered operator and not a private helper because the blur *is* the

lesson, and because it is the correct starting point for iterative methods.

Not to be confused with :func:fullseye.backproject, which lifts pixels into

3-D using a depth map and a camera model; that one is projective geometry, this

one is an integral transform, and the only thing they share is a word.

:param sinogram: `(n_angles, n_detectors)`, rows = angles.

:param angles_deg: view angles; `None -> uniform [0, 180)`.

:param size: output side; `None -> the inscribed square, n_det/sqrt2`

rounded down to an odd number.

:param span_deg: angular range used for the `d(theta) weight; None` ->

inferred from *angles_deg* (or 180 for the default scan).

:returns: `(size, size)` float64 image.

:raises ValueError: as :func:filtered_backprojection.

参考(示例数据・文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者・年份)与用途见上面的族使用指南

可运行的示例(实际调用该算子并已验证的样例)

ct_reconstructionpy -3.11 examples/ct_reconstruction.py

poc_ct_fidelitypy -3.11 examples/poc_ct_fidelity.py

类型可衔接的下一个算子(可接受 image2d 作为输入)

radon_transform

同类别(reconstruct)

filtered_backprojection · sart_reconstruct


*Provenance: tomography.py — TOMOGRAPHY 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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