A CT scanner sends X-rays through the scanned region from many angles and measures how much reaches the detectors. As the X-ray tube and detector rotate around the patient and the table moves through the scanner, the system collects projections from a range of angles. A computer reconstructs these measurements into a three-dimensional map of the attenuation coefficient μ, viewed as a stack of cross-sectional images. CT is the workhorse of emergency and cancer imaging: it finds bleeding in the brain, fractures, blood clots in the lung, and tumors. It is also the basis of radiotherapy planning and lung cancer screening.

Three CT examinations. Left: chest in a lung window, sharp B70 kernel, 5 mm slices (Wikimedia Commons, CC BY-SA 4.0). Middle: head without contrast in a brain window; gray and white matter differ by about 10 HU and are still told apart; the small panel shows where the slice lies (Mikael Häggström, Wikimedia Commons, CC0). Right: contrast-enhanced abdomen and pelvis, scrolled from the lower chest to the thighs, the way CT is read, one slice at a time (Alextogus, Wikimedia Commons, CC0).
Several things set CT apart from the radiographs in 2.2 X-ray radiography. Most importantly, CT gives a three-dimensional scan. Another important difference: the voxel values of the scan are not just measurements but the output of an algorithm, and the algorithm, as much as the tissue, determines what value a voxel contains. Last, these 3D scans come with a higher cost in dose: a chest CT delivers an effective dose of about 7 mSv, a few hundred times a chest radiograph (Mettler et al., 2008).
As we learned in 2.2 X-ray radiography, a radiograph is a shadow. Each pixel adds up the attenuation along one ray, and so it suffers from the problem of superposition. We cannot tell what objects are in front or behind each other. A second view could help, but a human body is complicated, and no single second view would sort out everything. CT acquires views from directions around the body and computes from them a map of $\mu$ in one slice. A slice is a thin cross-section of the body, perpendicular to its long axis (the $z$ axis, the direction the table moves in), a few millimeters thick. The scanner measures many slices at once, but each slice is reconstructed in the same way, so the rest of this page discusses the process for a single slice.
Left: one z-slice of the body seen from above. Yellow lines are X-rays coming from the source line and hitting the detector. The blue curve beside the detector is what the detector measures: for each position t along it, how much the beam was attenuated on the way through. That curve is one projection for a single angle θ, p(t, θ) for every position t. The source and detector then rotate by the angle θ (red) and measure again. Right: each projection is drawn as one column of the sinogram, t downward and θ to the right; after half a turn the sinogram is complete.
Each frame of the animation above depicts one projection. A thin, flat beam crosses the slice at angle $\theta$; behind the slice, a line of detector elements records how much of the beam got through at each position, the transmitted intensity $I$. The detector is a line here because we are showing a single slice; a real scanner stacks 64 to 320 slices at once.
For simplicity, we will assume an ideal model with parallel rays, a single photon energy level, no scatter, and a patient who does not move. Eq. 2.2.3 gave $I = I_0 \exp\!\left(-\int_{\text{ray}} \mu(s)\,ds\right)$. Taking the negative logarithm of the measured fraction $I/I_0$ undoes the exponential and leaves one number per ray, the projection value $p$: the attenuation coefficient summed along the ray, a dimensionless number that does not depend on how strong the source was:
$$ p=-\ln\frac{I}{I_0}=\int_{\text{ray}}\mu(s)\,ds\tag{2.4.1} $$
For example, $I/I_0 = 0.5$ gives $p = -\ln 0.5 \approx 0.69$. If you double the length of the specimen, this halves the intensity again: $I/I_0 = 0.25$ and $p = -\ln 0.25 \approx 1.39$, which is $0.69 + 0.69$. Intensities multiply along a ray whereas $p$ is additive. Because of this $p$ is the quantity we work with from here on, the line integral of $\mu$ in Eq. 2.4.1. One ray gives one $p$. To describe a whole projection we must say which ray: write $t$ for the position along the detector, so that $p(t,\theta)$ is the value at detector position $t$ when the scanner stands at angle $\theta$. ($s$ in Eq. 2.4.1 runs along the ray and has been integrated away.)
The blue curve in the animation is $p(t,\theta)$ as a function of $t$ for one $\theta$. The scanner then turns by a fraction of a degree and records the next projection. A ray seen from the opposite side is the same ray, so after half a turn every ray has been measured once: one scan is about a thousand projections over 180° (Bushberg et al., 2020). To reconstruct the slice we will have to invert the map from $\mu(x,y)$ to $p(t,\theta)$, so we need that map written down. The ray at angle $\theta$ and position $t$ is the line $x\cos\theta + y\sin\theta = t$, and $p(t,\theta)$ is $\mu$ integrated along it:
$$ p(t,\theta)=\iint \mu(x,y)\,\delta(x\cos\theta+y\sin\theta-t)\,dx\,dy\tag{2.4.2} $$
The Dirac delta $\delta(\cdot)$ is zero everywhere except where its argument is zero, which here means on the ray, so the double integral over the whole slice collapses to a sum along that one line: pick the ray, add up $\mu(x,y)$ over the points on it, and the result is $p(t,\theta)$. Doing this for every $t$ and every $\theta$ is what we show in the animation. This map from the slice $\mu(x,y)$ to the full set of projections $p(t,\theta)$ is the Radon transform.
Arranged as an image, with $t$ down the rows and $\theta$ across the columns, the Radon transform is the sinogram: each projection is one column, and the sinogram is what the scanner measures. A single point of the body at $(x_0, y_0)$ appears at $t = x_0\cos\theta + y_0\sin\theta$, a sine wave across the columns (like the bone in the animation), hence the name. The sine curves also serve as a quick check on the data: arcs that are not smooth sinusoids point to patient motion or a detector out of calibration.
A CT image is computed by inverting the Radon transform, from the sinogram back to the slice, described below.
We now have the sinogram which contains the projections $p(\,\cdot\,,\theta)$ for every angle $\theta$, and we want to recover a slice of a 3D volume $\mu(x,y)$. To do this, we make use of the Fourier transform and its inverse.
Recall what the Fourier transform does to an image. Any image can be expressed as a sum of sinusoids. Its two-dimensional Fourier transform $F(u,v)$ assigns a complex coefficient to each spatial frequency $(u,v)$. Its magnitude gives the strength of that frequency component, and its phase gives its spatial alignment. Knowing $F$ at every $(u,v)$ allows us to recover the image by an inverse Fourier transform.
1: the scanner turns, and at each angle θ the detector records one projection p(t, θ), the blue curve. 2: the projections are stacked as the columns of the sinogram. 3: the 1D FFT of the current projection. 4: by the Fourier slice theorem, that is a line along the the 2D FFT at angle θ; as θ sweeps from 0° to 180° the lines fill the 2D FFT. 5: the inverse 2D FFT. Notice how the reconstruction improves as more angles are added.