Discretization of Tomography Problems › ~pcha › HDtomo › Day1discretization.pdf ·...

Preview:

Citation preview

Discretization of Tomography Problems

1

K. Joost Batenburg

Research: • Discrete tomography and other subjects in tomographic image reconstruction • Electron tomography for imaging at the nanometer scale, down to atomic resolution • Applications of tomography in materials science and medical imaging • Combinatorial optimization and modern optimization heuristics • GPU computing for large-scale scientific computing • Image processing and computer vision • Inverse problems

Group Leader Computational Imaging group Centrum Wiskunde & Informatica (CWI)

Professor Mathematical Institute Universiteit Leiden

2D Projection Geometries

Circular parallel beam Circular fan-beam 2

3D Helical Cone-Beam

4

Forward Transform

The forward transform always consists of line integrals, e.g., in the Radon transform

5

Discretization

To represent the reconstruction problem on a computer, everything must be represented in discrete form (i.e., as numbers).

Object: physical reality is typically continuous; way of discretization can be chosen freely.

Projection data: measurements are already discrete (finite set of angles, finite set of detectors).

Forward transform: must also be discretized, defining how line integrals arecomputed on discrete objects/images.

Note that discretized models handle all geometries. 6

I. Discretizing the Object

7

Three Coordinate Systems

1. Pixel grid 2. Euclidean coordinates 3. Matrix indices

(0,0) (1,0) (2,0)

(0,1)

(0,2)

8

Pixel Grid

- Pixel model is used to store images in computer memory and to display them on the screen.

- Integer coordinates (i,j), where i denotes the column and j denotes the row.

- Vertical: top to bottom.

- Horizontal: left to right.

- Coordinates start at 0.

(0,0) (1,0) (2,0)

(0,1)

(0,2)

9

Other conventions exist!

- Euclidean coordinate system is used to perform geometrical operations.

- Real-valued coordinates (a,b), where a denotes the horizontal coordinate and b denotes the vertical coordinate.

- Coordinates are signed real values.

- Horizontal: left to right.

- Vertical: bottom to top.

Euclidean Coordinates

10

Matrix Indices

- Matrix model is used to perform matrix computations (e.g. in Matlab).

- Matrix elements Mij have integer “coordinates,” where i denotes the row and j denotes the column.

- Coordinates start at 1.

- Horizontal: left to right.

- Vertical: top to bottom.

11

Pixels vs. Geometry

- We need to associate each pixel with geometrical coordinates

12

Pixels vs. Geometry

13

Tomography as a System of Linear Equations

- Each pixel xj is an unknown (corresponding to a column in the matrix A).

- Each line measurement bi, for each angle, gives an equation (corresponding to arow in the matrix A).

matrix A: system matrix vector x: unknown image vector b: projection data

14

Tomography as a System of Linear Equations

• For 3D images, the system matrix A can be huge:

- One column for each pixel/voxel. - One row for each projected line.

• Typical real-world scenario: - 3D volume of size 2048×2048×2048. - 1024 projections of size 2048×2048.

• Number of nonzeroes in A ≈ 8·1012.

• Solving A x = b with a factorization is prohibitive. • Storing A is often also infeasible, even in sparse form.

15

II. Discretizing the Forward Transform

16

Size of the Pixel Grid - In general, choosing the pixel grid

much larger than the object will reduce image quality of the reconstruction.

- Reason: more unknowns in x, while having a fixed number of measure-ments in b.

- Choosing the pixel grid smaller than the support of the object leads to artefacts in the reconstructed images.

- Reason: the true object cannot be represented on the pixel grid, and the measured data b is no longer in the range of A.

- Rule of thumb: choose the pixel grid as tight as possible around the object.

17

Three Discretizations

1. line model 2. strip model 3. Joseph’s model

18

There is also a “grid model” which we skip here.

Computing the Discretized Forward Transform

• Computing the discretized forward transform Ax of an image x is known as “forward projection.”

• Computing the operation ATy for given projection data y is known as “backprojection.”

• Forward projection and backprojection are often computed on-the-fly, without explicitly forming and storing the matrix A. • Pixel/voxel driven: compute for each pixel where it projects

onto the detector. • Ray driven: trace lines from the detector through the object.

19

Forward Projection: Pixel Driven

20

Forward Projection: Pixel Driven

21

Forward Projection: Pixel Driven

22

Forward Projection: Pixel Driven

23

Forward Projection: Pixel Driven

Etc … 24

Forward Projection: Pixel Driven

25

Another projection angle

Forward Projection: Ray Driven

26

Forward Projection: Ray Driven

27

Forward Projection: Ray Driven

28

Forward Projection: Ray Driven

Etc … 29

Line Model, Strip Model, and Joseph’s Model

30

Line Model

Corresponds to a discrete sample of the continuous forward transform.

Can be computed by computational geometry (intersecting a line and a square, ray driven).

Can be computed fast by pre-computing the pixel footprint (pixel driven).

31

Record data from an infinitely thin ray

Line Model: Pixel Footprint

detector

pixel

detector

pixel

- For a certain pixel, its footprint on the detector gives us the pixel weight (= intersection length) for each detector position.

- For 2D parallel beams, the footprint has a very simple shape, which is constant among all pixels for a given projection angle.

- By pre-computing the footprint, the system matrix can be formed without the need for explicit geometrical computations. 32

Strip Model

Area of intersection between a strip of finite width and a pixel. Can be computed by computational geometry (intersecting a

polygon and a square, ray driven). Can be computed fast by pre-computing the pixel footprint

(pixel driven). Can be computed very easily by splatting (also pixel driven).

33

Strip Model: Splatting

- Splatting (numerical quadrature) approximates the intersection area of a pixel and a strip by a set of point samples. The weights are computed by “splatting” all points at the detector.

- Splatting is very generic and convenient, in both 2D and 3D. All we have to do is compute the detector coordinates for a set of points.

34

c d

a b

x11 x12

x21 x22

Joseph’s Model: Interpolation

- Joseph’s model computes the projection along a line row by row, interpolating two neighbor pixel values.

- Joseph’s model is very generic and convenient, in both 2D and 3D. All we have to do is trace lines and sum up the values.

- The result of this model is difficult to characterize, both mathematically and physically.

- Joseph’s model is often combined with a backprojection operation that inter-polates at the detector, leading to unmatched projection/backprojection.

a + b = 1 c + d = 1

35

Recommended