forward opなし → image2d(引数だけで決まる op —— 画像やデータの入力を取らない)import fullseye as fs; fs.ledger.ellipse_phantom(size=256, ellipses=None, supersample=4) (実装を直接呼ぶなら import tomography; tomography.ellipse_phantom(size=256, ellipses=None, supersample=4)、台帳から引くなら opstomography.get("ellipse_phantom"))Rasterise a sum of uniform ellipses onto a size x size slice.
The default is :data:SHEPP_LOGAN. The normalised square [-1, 1]^2 maps
onto the grid, so x = (col - (size-1)/2) / (size/2); the same mapping is
used by :func:ellipse_sinogram, which is what makes the two comparable
without a fudge factor.
supersample is the anti-aliasing factor: each pixel is the mean of
supersample^2 sub-samples, so an edge pixel carries its true area
fraction. This is not cosmetic — a hard 0/1 rasterisation projects to a
sinogram that disagrees with the closed form by 0.276 % interior RMS of
the peak, against 0.073 % anti-aliased (measured), and the
difference is entirely the partial-volume edge.
:param size: side of the square grid, 2 .. 16384.
:param ellipses: (N, 6) rows (x0, y0, a, b, phi_deg, rho) in
normalised coordinates; None -> :data:SHEPP_LOGAN.
:param supersample: anti-alias factor per axis, 1 .. 16.
:returns: (size, size) float64 image; the Shepp-Logan default spans
[0.0, 1.0].
:raises ValueError: on a non-int size, a degenerate ellipse, or a grid over
:data:MAX_IMAGE_ELEMENTS.
py -3.11 examples/ct_reconstruction.pypy -3.11 examples/poc_ct_fidelity.pypy -3.11 examples/tomography_reconstruct.pyimage2d を入力に取れる)forward)ellipse_sinogram · radon_transform
Provenance: tomography.py — TOMOGRAPHY operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.