CT Lab

Chapter 2: Forward Projection and the Sinogram

See through the Radon transform how an object maps into measured data (the sinogram).

The previous chapter dealt with the line integral pp of a single ray. Keeping the angle θ\theta fixed and sweeping the detector position ss uniformly yields a one-dimensional projection profile p(θ,)p(\theta,\cdot) as a function of ss. Because all rays are parallel, this acquisition scheme is called parallel-beam projection. The transform that maps an object μ(x,y)\mu(x,y) to its line integrals over all angles and positions is the Radon transform. In the equation below, the δ\delta function picks out the integral along the line xcosθ+ysinθ=sx\cos\theta + y\sin\theta = s.

p(θ,s)=μ(x,y)δ(xcosθ+ysinθs)dxdyp(\theta, s) = \iint \mu(x, y)\, \delta(x\cos\theta + y\sin\theta - s)\, dx\, dy
xyμ(x,y)s0sθParallel ray familyDetectorProjection profile p(θ,s)

The Radon transform. The δ function picks out the integral along the line x cosθ + y sinθ = s.

Collecting projections while rotating θ\theta from 0° to 180° and stacking them as a 2D image, with ss horizontal and θ\theta vertical, gives the sinogram. For parallel beams p(θ+180,s)=p(θ,s)p(\theta+180^\circ, s) = p(\theta, -s), so 180° already contains a full revolution of information. The sinogram is the raw data a CT scanner actually measures, and reconstruction means recovering μ(x,y)\mu(x,y) from it.

Why it is called a sinogram

The name comes from the sine curve. A single point at (x0,y0)(x_0, y_0) appears in the projection at angle θ\theta at position s=x0cosθ+y0sinθs = x_0\cos\theta + y_0\sin\theta. Viewed as a function of θ\theta, that is a sinusoid with amplitude rr and phase φ\varphi. Since an object is a collection of points, the whole sinogram is a superposition of countless sine curves.

s(θ)=x0cosθ+y0sinθ=rcos(θφ),r=x02+y02s(\theta) = x_0\cos\theta + y_0\sin\theta = r\cos(\theta - \varphi), \quad r = \sqrt{x_0^2 + y_0^2}
rφθ₁θ₂Point (x₀, y₀)sθ180°+r−rLocus s(θ) = r·cos(θ−φ)

The trace of a single point is a sinusoid. This is where the name sinogram comes from.

Simulation: scanning and the growing sinogram

Moving the angle slider updates the ray bundle over the phantom (the current projection direction) together with the projection profile p(θ,)p(\theta,\cdot) at the top right. Press "Scan" to advance the angle automatically and watch the sinogram at the bottom right fill in row by row from the top. Start with the point phantom and let the scan run: exactly one sine curve appears in the sinogram. Switching to Shepp-Logan reveals many sinusoids overlapping.

Phantom

WL 0.500 / WW 1.00Right-drag / Shift+drag: adjust WL/WW

Phantom and ray bundle

Computing…

Projection profile p(θ, ·)

Sinogram p(θ, s)

The ray bundle at the current angle and the projection profile p(θ,·), with the sinogram below growing row by row.

From forward projection to the inverse problem

A sinogram stacks the projection profiles from every angle into a 2D dataset. A single point in the object traces a sine curve within it. So far we have mapped an object to its measurements. The next chapter reverses the process with simple backprojection, which returns each measurement along its ray but produces a blurred image.

References

On this page