discretization of tomography problems › ~pcha › hdtomo › day1discretization.pdf ·...
Post on 30-Jun-2020
8 Views
Preview:
TRANSCRIPT
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
top related