2
Most read
Notation
For the section on sinogram interpolation the notation scheme that follows will be used.
This notation is used to simplify mathematical expressions given inn the following section
and the explanations thereof.
Continuous indices:
Notation Description Range
x, y Position in a continuous image. x, y ∈ [−∞, ∞]
θ Integration angle for the forward radon transform. θ ∈ [0, 2π]
r, φ Position in a continuous image in polar coordinates. φ ∈ [0, 2π], r ∈ [0, ∞]
Discrete indices:
Notation Description Range
i, j Pixel positions in a discrete image. i = 1, . . . , n, j = 1, . . . , m
θt Index of the t-th Sinogram column at angle θt = t∆θ. θt ∈ [0, 2π], t = 1, . . . , ¯θ
rk, φk Pixel positions in a discrete image in polar coordinates. φ ∈ [0, 2π],
r ∈ [0, 1/2n2 + 1/2m2]
ic, jc Image center. i = 1
2
n, j = 1
2
m
h Index for sinogram row. h = −1
2
¯h, . . . , 1
2
¯h.
Clarification of values:
Value Description Refer to
A The original image in cartesian coordinates.
V The original image in polar coordinates.
S The sinogram of A or V .
W The set of all warps.
n, m Original image size.
¯h Number of sinogram rows.
¯θ Number of sinogram columns.
¯k Number of warps found in a known sinogram.
¯L Number of warps that pass through a known sinogram element.
1
Sinogram interpolation
J. Engelbrecht,
University of Stellenbosch
1 Sinogram interpolation
A technique for improving the obtained blur kernel sinogram is presented here. Methods
developed by [3] for sinogram interpolation are used as a basis for the work that follows.
Figure 1: An image and its sinogram
1.1 Sinograms and the forward Radon transform
1.1.1 Sinograms
A sinogram is a matrix S with column vectors sθ such that
S = [sθ1 , sθ2 , . . . , sθ¯θ
],
of size ¯h × ¯θ with corresponding angular vector
Θ = [θ1, θ2, . . . , θ¯θ].
Each column sθ is the Radon projection of an image A(x, y) referred top as the original
image at the angle θ under the Radon transform where θt is the angle corresponding to
the t-th column of S with t ∈ [1, . . . , ¯θ].
2
1.1.2 The forward transform
By the definition the forward Radon transform a continuous representation of sinogram
column sθt can be expressed as the line integral
sθ(ˆh) =
∞
−∞
∞
−∞
A(x, y)δ(ˆh − x cos(θ) − y sin(θ))dxdy (1)
over the line ˆh = x cos(θ) + y sin(θ)1
. We aim to describe (1) using the polar coordinate
Figure 2: The forward Radon transform
transformation:
x = r cos(φ), y = r sin(φ) where dxdy = rdrdφ.
Applying this transformation to the original image A(x, y) according to equation (1) it
is shown that
V (r, φ) = A(x, y),
sθ(ˆh) =
∞
−∞
∞
−∞
V (r, φ)δ(ˆh − r cos(φ) cos(θ) − r sin(φ) sin(θ))rdrdφ (2)
=
∞
−∞
∞
−∞
V (r, φ)δ(ˆh − r cos(φ + θ))rdrdφ. (3)
here the image A(x, y) is relabel as the polar coordinate image V (r, θ). The last expression
represents the integral over the line
ˆh = r cos(φ + θ).
1
We choose to use this definition of the line integral since here δ has the geometric interpretation of
allowing only points that fall on the line ˆh to be include in the summation for sh,θ(ˆh). In the discrete
equation δ corresponds to the chosen method of image sampling, this is discussed further in section
ADDDD SECTION
3
This is desretized by letting
xj = j∆x for j = 1, . . . , m,
yi = i∆y for i = 1, . . . , n,
Ai,j = A(xj, yi), with
θt = t∆θ for t = 1, . . . , ¯θ.
In practice when discretizing (1) a sinogram element is expressed as
sθt (ˆh) =
i j
Ai,j∆(ˆh − xj cos(θt) − yi sin(θt)), (4)
which simply means that each element of a sinogram Sh,θt is the discrete summation over
all the pixel values along the line ˆh = x cos(θt) + y sin(θt). Here ∆(·) is a “selection
function” corresponding to the users choice of discrete sampling method over continuous
line ˆh. Note when dealing with the polar coordinates a different indexing method is used.
Figure 3: Interpretation of summation for discrete forward transform
The positions are indexed sequentially since there is always equal number of angles φk
and radii rk. Using equation (3) and,
rk = k∆r, and φk = k∆φ for k = 1, . . . , (m · n),
4
a sinogram element is expressed as
sθt (ˆh) =
k
V (rk, φk)∆(ˆh − rk cos(φk + θt))rk. (5)
This is equivalent to equation (4) since the summation is still occurring for point along
ˆh. However the points along ˆh are now expressed in polar coordinates (r, φ) by what is
called the pixel position curve
uk = rk cos(φk + θt).
This equation corresponds to a cosine curve that passes thought the sinogram for each
pixel in the image A. This implies that the sinogram of an image can be calculate by
finding the position curves for all the pixels in the image and then performing a summation
over the pixel values at the points where the curves intersect.
Figure 4: An image and its sinogram
1.2 Warps
A warp wk is a weight carrying cosine wave that passes through only strictly positive
elements in a sinogram.
wk = {vk, uk(θ)} , wk ∈ W
where vk is the warp value.
uk(θ) = rk cos(θ + φk) (6)
is referred to as a warp curve with rk the warp amplitude and φk the warp phase angle.
5
Figure 5: Warps passing through a sinogram
For such a curve to be defined as a warp, the original image and its given possibly sparse
sinogram, as well as each curve that passes through that sinogram must satisfies the
following warp conditions:
1. Each non-zero pixel in the original image produces exactly one warp.
2. Each warp only intersects non-zero elements in the sinogram, equivalently all warps
carry a weight that is greater than zero
vk > 0.
3. Each non-zero element in the sinogram is the linear combination of all the warps
that pass through that point, that is:
Sh,θ =
L
k=1
ckvk
where L is the number of warps that pass through the sinogram element Sh,θ.
4. The sum of all warps is equal to the sum of a single sinogram column, and is also
equal to the sum of all elements in the original image,
¯h
h=1
Sh,θt =
¯k
k=1
vk =
i j
Ai,j,
where ¯k is the total number of warps.
The general expression for the warp curve 6 can easily be derived by the graphical
representation of condition (1).
From figure 1.2 it is derived that
rk = (ic − i)2 + (jc − j)2, (7)
6
Figure 6: Defining the warp curve from the original image
φk = arctan
ic − i
jc − j
, (8)
where (ic, jc) is the center point of the original image and (i, j) the current pixel location.
Once all warp curves have been found for a sinogram it is left to determine their
weights. The warps weights are obtained by setting up and solving the equations provided
by conditions (2 − 4) as non-negative least squares approximation (for our purposes we
let ck = 1 for all k).
The elements of a desired sinogram column Sθ are then obtained by identifying the
positions of all the warps for θ via the warp curves. Condition 3 is then used to sum the
warp weights for each column element, which yields the desired sinogram column.
1.3 The algorithm
The steps needed to implement the sinogram interpolation algorithm are listed as follows:
1. Calculate the original(or maximum image radius) image size.
This corresponds to ¯h
√
2 and is taken to be n = ceil(¯h
√
2). This is done to ensure
we match the sampling rate of the Radon transform, which is equivalent to our
method of edge sampling.
7
2. By making use of equations 7,8 loop through the original image positions
and calculate all the warp phase angles and amplitudes2
.
3. For each warp find all the known sinogram points that the warp curve passes
through. This is done by calculating uk for each known θ of S, and off setting
these points by (N + 1)/2. The sinogram values at these points are expressed as
S = S(N+1)/2−uk(θ),θ for all θ ∈ Θ
with the points ((N + 1)/2 − uk(θ), θ) being called the warp points.
(a) Check that all values of S satisfy condition 2. If so catalog all the
warp points and assign the warp to a valid warp set.
4. Setup the system of of equations Xv = σ corresponding to conditions
3 and, 4. This can be done by looping through the known sinogram S as fol-
lows:
(a) For each sinogram element Sh,θ(t) check that Sh,θ(t) > 0 and that at least
one valid warp passes through the point (h, θ(t)).
(b) Append Sh,θ(t) to σ if previous step holds true.
(c) Simultaneously append a row to the matrix X with a one at column
j if the warp wj passes through the point (h, θ(t)).
Therefore each column of X represents a single valid warp and should be of size ¯sׯk
where ¯s is the number of positive sinogram elements that a warp passes through
3
and ¯k the total number of warps.
5. Solve this system by finding the non-negative least squares approximation
for v and thus obtain the warp values vk.
6. Construct a new sinogram column Sθ by calculating all valid warp points
for the angle θ . An element Sh,θ is found by summing the warp values
vk for all warps that pass within a half pixel radius of (h, θ ).
1.4 Results
References
[1] N. Joshi, R. Szeliski, D.J. Kriegman. “PSF Estimation using Sharp Edge Predic-
tion”, In IEEE Conference on Computer Vision and Pattern Recognition, 2008.
[2] R. Fegus B. Singh, A. Hertzmann, S.T. Roweis, W.T. Freeman. ”Removing Camera
Shake from a Single Photograph”, ACM Transactions on Graphics, 27(3) : 787794,
August 2006.
2
We do not actually recreate the original image but only loop through the desired pixel or rather
image positions.
3
This may possibly be less that the total number of positive non-zero elements in the sinogram.
8
[3] M. Kalke and S. Siltanen , “Sinogram Interpolation Method for Sparse-Angle To-
mography”, SCIRP, Applied Mathematics,pp 423 − 441, 5, 2014.
9

More Related Content

PPT
Cs8092 computer graphics and multimedia unit 2
PPTX
Cs8092 computer graphics and multimedia unit 3
PDF
The Day You Finally Use Algebra: A 3D Math Primer
PPTX
3 d scaling and translation in homogeneous coordinates
DOCX
Do you know matrix transformations
PPT
Matrix 2 d
PPT
Spline Interpolation
PDF
Geometric objects and transformations
Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 3
The Day You Finally Use Algebra: A 3D Math Primer
3 d scaling and translation in homogeneous coordinates
Do you know matrix transformations
Matrix 2 d
Spline Interpolation
Geometric objects and transformations

What's hot (19)

PDF
2.1. fundamental of computer graphics
PDF
Computer Graphics & linear Algebra
PPT
2 d transformation
PDF
DETECTION OF MOVING OBJECT
PPTX
Matrix transformation
PPT
2D transformation (Computer Graphics)
PDF
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
PDF
B spline
PPTX
Trigonometric functions
PPTX
Beginning direct3d gameprogrammingmath03_vectors_20160328_jintaeks
PPTX
Beginning direct3d gameprogrammingmath04_calculus_20160324_jintaeks
DOCX
Rasterisation of a circle by the bresenham algorithm
PPTX
A mid point ellipse drawing algorithm on a hexagonal grid
PDF
3D Curve Project
PPTX
Lesson 10 techniques of integration
PPT
2 d geometric transformations
PPT
Differential calculus
PDF
Mesh Processing Course : Active Contours
2.1. fundamental of computer graphics
Computer Graphics & linear Algebra
2 d transformation
DETECTION OF MOVING OBJECT
Matrix transformation
2D transformation (Computer Graphics)
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
B spline
Trigonometric functions
Beginning direct3d gameprogrammingmath03_vectors_20160328_jintaeks
Beginning direct3d gameprogrammingmath04_calculus_20160324_jintaeks
Rasterisation of a circle by the bresenham algorithm
A mid point ellipse drawing algorithm on a hexagonal grid
3D Curve Project
Lesson 10 techniques of integration
2 d geometric transformations
Differential calculus
Mesh Processing Course : Active Contours
Ad

Similar to SinogramReconstruction (20)

DOCX
Digtial Image Processing Q@A
PDF
TAO Fayan_X-Ray and MIP volume rendering
PPT
2D-Transformations-Transformations are the operations applied to geometrical ...
PPT
1533 game mathematics
PPTX
Curves in space
PDF
Plotting position and velocity
PPT
Ch07 6
PDF
Journey to structure from motion
PDF
2 d transformations
PPT
parametric equations with examples and solutions
PDF
MA101-Lecturenotes(2019-20)-Module 13 (1).pdf
PDF
MA101-Lecturenotes(2019-20)-Module 13 (1).pdf
PPTX
Breshnam's circle drawing algorithm.pptx
PPTX
Breshnam's circle drawing algorithm.pptx
PDF
Solution set 3
PPT
FEM 3 TwoD CST.ppt
PDF
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
PPT
Graphing Trig Functions-Tangent and Cotangent.ppt
PPT
1525 equations of lines in space
PDF
Digtial Image Processing Q@A
TAO Fayan_X-Ray and MIP volume rendering
2D-Transformations-Transformations are the operations applied to geometrical ...
1533 game mathematics
Curves in space
Plotting position and velocity
Ch07 6
Journey to structure from motion
2 d transformations
parametric equations with examples and solutions
MA101-Lecturenotes(2019-20)-Module 13 (1).pdf
MA101-Lecturenotes(2019-20)-Module 13 (1).pdf
Breshnam's circle drawing algorithm.pptx
Breshnam's circle drawing algorithm.pptx
Solution set 3
FEM 3 TwoD CST.ppt
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
Graphing Trig Functions-Tangent and Cotangent.ppt
1525 equations of lines in space
Ad

SinogramReconstruction

  • 1. Notation For the section on sinogram interpolation the notation scheme that follows will be used. This notation is used to simplify mathematical expressions given inn the following section and the explanations thereof. Continuous indices: Notation Description Range x, y Position in a continuous image. x, y ∈ [−∞, ∞] θ Integration angle for the forward radon transform. θ ∈ [0, 2π] r, φ Position in a continuous image in polar coordinates. φ ∈ [0, 2π], r ∈ [0, ∞] Discrete indices: Notation Description Range i, j Pixel positions in a discrete image. i = 1, . . . , n, j = 1, . . . , m θt Index of the t-th Sinogram column at angle θt = t∆θ. θt ∈ [0, 2π], t = 1, . . . , ¯θ rk, φk Pixel positions in a discrete image in polar coordinates. φ ∈ [0, 2π], r ∈ [0, 1/2n2 + 1/2m2] ic, jc Image center. i = 1 2 n, j = 1 2 m h Index for sinogram row. h = −1 2 ¯h, . . . , 1 2 ¯h. Clarification of values: Value Description Refer to A The original image in cartesian coordinates. V The original image in polar coordinates. S The sinogram of A or V . W The set of all warps. n, m Original image size. ¯h Number of sinogram rows. ¯θ Number of sinogram columns. ¯k Number of warps found in a known sinogram. ¯L Number of warps that pass through a known sinogram element. 1
  • 2. Sinogram interpolation J. Engelbrecht, University of Stellenbosch 1 Sinogram interpolation A technique for improving the obtained blur kernel sinogram is presented here. Methods developed by [3] for sinogram interpolation are used as a basis for the work that follows. Figure 1: An image and its sinogram 1.1 Sinograms and the forward Radon transform 1.1.1 Sinograms A sinogram is a matrix S with column vectors sθ such that S = [sθ1 , sθ2 , . . . , sθ¯θ ], of size ¯h × ¯θ with corresponding angular vector Θ = [θ1, θ2, . . . , θ¯θ]. Each column sθ is the Radon projection of an image A(x, y) referred top as the original image at the angle θ under the Radon transform where θt is the angle corresponding to the t-th column of S with t ∈ [1, . . . , ¯θ]. 2
  • 3. 1.1.2 The forward transform By the definition the forward Radon transform a continuous representation of sinogram column sθt can be expressed as the line integral sθ(ˆh) = ∞ −∞ ∞ −∞ A(x, y)δ(ˆh − x cos(θ) − y sin(θ))dxdy (1) over the line ˆh = x cos(θ) + y sin(θ)1 . We aim to describe (1) using the polar coordinate Figure 2: The forward Radon transform transformation: x = r cos(φ), y = r sin(φ) where dxdy = rdrdφ. Applying this transformation to the original image A(x, y) according to equation (1) it is shown that V (r, φ) = A(x, y), sθ(ˆh) = ∞ −∞ ∞ −∞ V (r, φ)δ(ˆh − r cos(φ) cos(θ) − r sin(φ) sin(θ))rdrdφ (2) = ∞ −∞ ∞ −∞ V (r, φ)δ(ˆh − r cos(φ + θ))rdrdφ. (3) here the image A(x, y) is relabel as the polar coordinate image V (r, θ). The last expression represents the integral over the line ˆh = r cos(φ + θ). 1 We choose to use this definition of the line integral since here δ has the geometric interpretation of allowing only points that fall on the line ˆh to be include in the summation for sh,θ(ˆh). In the discrete equation δ corresponds to the chosen method of image sampling, this is discussed further in section ADDDD SECTION 3
  • 4. This is desretized by letting xj = j∆x for j = 1, . . . , m, yi = i∆y for i = 1, . . . , n, Ai,j = A(xj, yi), with θt = t∆θ for t = 1, . . . , ¯θ. In practice when discretizing (1) a sinogram element is expressed as sθt (ˆh) = i j Ai,j∆(ˆh − xj cos(θt) − yi sin(θt)), (4) which simply means that each element of a sinogram Sh,θt is the discrete summation over all the pixel values along the line ˆh = x cos(θt) + y sin(θt). Here ∆(·) is a “selection function” corresponding to the users choice of discrete sampling method over continuous line ˆh. Note when dealing with the polar coordinates a different indexing method is used. Figure 3: Interpretation of summation for discrete forward transform The positions are indexed sequentially since there is always equal number of angles φk and radii rk. Using equation (3) and, rk = k∆r, and φk = k∆φ for k = 1, . . . , (m · n), 4
  • 5. a sinogram element is expressed as sθt (ˆh) = k V (rk, φk)∆(ˆh − rk cos(φk + θt))rk. (5) This is equivalent to equation (4) since the summation is still occurring for point along ˆh. However the points along ˆh are now expressed in polar coordinates (r, φ) by what is called the pixel position curve uk = rk cos(φk + θt). This equation corresponds to a cosine curve that passes thought the sinogram for each pixel in the image A. This implies that the sinogram of an image can be calculate by finding the position curves for all the pixels in the image and then performing a summation over the pixel values at the points where the curves intersect. Figure 4: An image and its sinogram 1.2 Warps A warp wk is a weight carrying cosine wave that passes through only strictly positive elements in a sinogram. wk = {vk, uk(θ)} , wk ∈ W where vk is the warp value. uk(θ) = rk cos(θ + φk) (6) is referred to as a warp curve with rk the warp amplitude and φk the warp phase angle. 5
  • 6. Figure 5: Warps passing through a sinogram For such a curve to be defined as a warp, the original image and its given possibly sparse sinogram, as well as each curve that passes through that sinogram must satisfies the following warp conditions: 1. Each non-zero pixel in the original image produces exactly one warp. 2. Each warp only intersects non-zero elements in the sinogram, equivalently all warps carry a weight that is greater than zero vk > 0. 3. Each non-zero element in the sinogram is the linear combination of all the warps that pass through that point, that is: Sh,θ = L k=1 ckvk where L is the number of warps that pass through the sinogram element Sh,θ. 4. The sum of all warps is equal to the sum of a single sinogram column, and is also equal to the sum of all elements in the original image, ¯h h=1 Sh,θt = ¯k k=1 vk = i j Ai,j, where ¯k is the total number of warps. The general expression for the warp curve 6 can easily be derived by the graphical representation of condition (1). From figure 1.2 it is derived that rk = (ic − i)2 + (jc − j)2, (7) 6
  • 7. Figure 6: Defining the warp curve from the original image φk = arctan ic − i jc − j , (8) where (ic, jc) is the center point of the original image and (i, j) the current pixel location. Once all warp curves have been found for a sinogram it is left to determine their weights. The warps weights are obtained by setting up and solving the equations provided by conditions (2 − 4) as non-negative least squares approximation (for our purposes we let ck = 1 for all k). The elements of a desired sinogram column Sθ are then obtained by identifying the positions of all the warps for θ via the warp curves. Condition 3 is then used to sum the warp weights for each column element, which yields the desired sinogram column. 1.3 The algorithm The steps needed to implement the sinogram interpolation algorithm are listed as follows: 1. Calculate the original(or maximum image radius) image size. This corresponds to ¯h √ 2 and is taken to be n = ceil(¯h √ 2). This is done to ensure we match the sampling rate of the Radon transform, which is equivalent to our method of edge sampling. 7
  • 8. 2. By making use of equations 7,8 loop through the original image positions and calculate all the warp phase angles and amplitudes2 . 3. For each warp find all the known sinogram points that the warp curve passes through. This is done by calculating uk for each known θ of S, and off setting these points by (N + 1)/2. The sinogram values at these points are expressed as S = S(N+1)/2−uk(θ),θ for all θ ∈ Θ with the points ((N + 1)/2 − uk(θ), θ) being called the warp points. (a) Check that all values of S satisfy condition 2. If so catalog all the warp points and assign the warp to a valid warp set. 4. Setup the system of of equations Xv = σ corresponding to conditions 3 and, 4. This can be done by looping through the known sinogram S as fol- lows: (a) For each sinogram element Sh,θ(t) check that Sh,θ(t) > 0 and that at least one valid warp passes through the point (h, θ(t)). (b) Append Sh,θ(t) to σ if previous step holds true. (c) Simultaneously append a row to the matrix X with a one at column j if the warp wj passes through the point (h, θ(t)). Therefore each column of X represents a single valid warp and should be of size ¯sׯk where ¯s is the number of positive sinogram elements that a warp passes through 3 and ¯k the total number of warps. 5. Solve this system by finding the non-negative least squares approximation for v and thus obtain the warp values vk. 6. Construct a new sinogram column Sθ by calculating all valid warp points for the angle θ . An element Sh,θ is found by summing the warp values vk for all warps that pass within a half pixel radius of (h, θ ). 1.4 Results References [1] N. Joshi, R. Szeliski, D.J. Kriegman. “PSF Estimation using Sharp Edge Predic- tion”, In IEEE Conference on Computer Vision and Pattern Recognition, 2008. [2] R. Fegus B. Singh, A. Hertzmann, S.T. Roweis, W.T. Freeman. ”Removing Camera Shake from a Single Photograph”, ACM Transactions on Graphics, 27(3) : 787794, August 2006. 2 We do not actually recreate the original image but only loop through the desired pixel or rather image positions. 3 This may possibly be less that the total number of positive non-zero elements in the sinogram. 8
  • 9. [3] M. Kalke and S. Siltanen , “Sinogram Interpolation Method for Sparse-Angle To- mography”, SCIRP, Applied Mathematics,pp 423 − 441, 5, 2014. 9