-\chapter{Concepts}\index{Concepts}%
-\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
-\ctsimfooter%
+\chapter{Concepts}
+\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}
+\ctsimfooter
-\section{Overview}\label{conceptoverview}\index{Conceptual Overview}%
+\section{Overview}\index{Conceptual Overview}
The operation of \ctsim\ begins with the phantom object. A
phantom object consists of geometric elements. A scanner is
specified and the collection of x-ray data, or projections, is
In order to use \ctsim\ effectively, some knowledge of how
\ctsim\ works and the approach taken is required. \ctsim\ deals with a
variety of object, but the two primary objects that we need to be
-concerned with are the \emph{phantom} and the \emph{scanner}.
+concerned with are the \helprefn{phantom}{conceptphantom} and the
+\helprefn{scanner}{conceptscanner}.
\section{Phantoms}\label{conceptphantom}
-\subsection{Overview}\label{phantomoverview}\index{Phantom Overview}%
+\subsection{Overview}\label{phantomoverview}\index{Phantom!Overview}%
\ctsim\ uses geometrical objects to describe the object being
-scanned. A phantom is composed a one or more phantom elements.
+scanned. A phantom is composed of one or more phantom elements.
These elements are simple geometric shapes, specifically,
rectangles, triangles, ellipses, sectors and segments. With these
elements, the standard phantoms used in the CT literature can be
The types of phantom elements and their definitions are taken with
permission from G.T. Herman's 1980 book\cite{HERMAN80}.
-\subsection{Phantom File}\label{phantomfile}\index{Phantom file syntax}
+\subsection{Phantom File}\label{phantomfile}\index{Phantom!File syntax}
Each line in the text file describes an element of the
phantom. Each line contains seven entries, in the following form:
\begin{verbatim}
element-type cx cy dx dy r a
\end{verbatim}
The first entry defines the type of the element, either
-\rtfsp\texttt{rectangle}, \texttt{ellipse}, \texttt{triangle},
-\rtfsp\texttt{sector}, or \texttt{segment}. \texttt{cx},
-\rtfsp\texttt{cy}, \texttt{dx} and \texttt{dy} have different
+\texttt{rectangle}, \texttt{ellipse}, \texttt{triangle},
+\texttt{sector}, or \texttt{segment}. \texttt{cx},
+\texttt{cy}, \texttt{dx} and \texttt{dy} have different
meanings depending on the element type.
-\rtfsp\texttt{r} is the rotation applied to the object in degrees
-counterclockwise, and \texttt{a} is the X-ray attenuation
+For all phantom elements, \texttt{r} is the rotation applied to the object in degrees
+counterclockwise and \texttt{a} is the X-ray attenuation
coefficient of the object. Where objects overlap, the attenuations
of the overlapped objects are summed.
-\subsection{Phantom Elements}\label{phantomelements}\index{Phantom elements}
+\subsection{Phantom Elements}\label{phantomelements}\index{Phantom!Elements}
\subsubsection{ellipse}
Ellipses use \texttt{dx} and \texttt{dy} to define the semi-major and
below the x-axis. The sector is then rotated and translated the
same as a segment.
-\subsection{Phantom Size}\index{Phantom size}
+\subsection{Phantom Size}\index{Phantom!Size}
The overall dimensions of the phantom are increased by 1\% above the
specified sizes to avoid clipping due to round-off errors from
sampling the polygons of the phantom elements. So, if the phantom is
-defined as a rectangle of size 0.1 by 0.1, the actual phantom has
-extent 0.101 in each direction.
+defined as a rectangle of size 0.1 by 0.1, the phantom size is
+0.101 in each direction.
-\section{Scanner}\label{conceptscanner}\index{Scanner concepts}%
+\section{Scanner}\label{conceptscanner}\index{Scanner!Concepts}%
\subsection{Dimensions}
Understanding the scanning geometry is the most complicated aspect of
using \ctsim. For real-world CT simulators, this is actually quite
simple. The geometry is fixed by the manufacturer during the
-construction of the scanner and can not be changed. Conversely,
-real-world CT scanners can only take objects up to a fixed size.
-
-\ctsim, being a very flexible simulator,
-gives tremendous options in setting up the geometry for a scan.
+construction of the scanner and can not be changed. \ctsim,
+being a very flexible simulator, gives tremendous options in
+setting up the geometry for a scan.
In general, the geometry for a scan all starts with the size of
the phantom being scanned. This is because \ctsim\ allows for
The other important geometry variables for scanning phantoms are
the \emph{view diameter}, \emph{scan diameter}, and \emph{focal
-length}. These variables are all input into \ctsim\ in terms of
+length}. These variables are input into \ctsim\ in terms of
ratios rather than absolute values.
-\subsubsection{Phantom Diameter}\index{Phantom diameter}
+\subsubsection{Phantom Diameter}\index{Phantom!Diameter}
\begin{figure}
$$\image{5cm;0cm}{scangeometry.eps}$$
\caption{\label{phantomgeomfig} Phantom Geometry}
height is used to define the square that completely surrounds the
phantom. Let \latexonly{$p_l$}\latexignore{\emph{Pl}} be the width
and height of this square. The diameter of this boundary box,
-\latexonly{$p_d$,}\latexignore{\emph{Pd},} is then
+\latexonly{$p_d$,}\latexignore{\emph{Pd},} is given by the
+Pythagorean theorem and is
\latexignore{\\\centerline{\emph{Pl x sqrt(2)}}\\}
\latexonly{\begin{equation}p_d = p_l \sqrt{2}\end{equation}}
-CT scanners actually collect projections around a
-circle rather than a square. The diameter of this circle is also
+CT scanners collect projections around a
+circle rather than a square. The diameter of this circle is
the diameter of the boundary square \latexonly{$p_d$. These
relationships are diagrammed in figure~\ref{phantomgeomfig}.}
\latexignore{emph{Pd}.}
\subsubsection{View Diameter}\index{View diameter}
The \emph{view diameter} is the area that is being processed
during scanning of phantoms as well as during rasterization of
-phantoms. By default, the \emph{view diameter} \rtfsp is set equal
+phantoms. By default, the \emph{view diameter} is set equal
to the \emph{phantom diameter}. It may be useful, especially for
experimental reasons, to process an area larger (and maybe even
smaller) than the phantom. Thus, during rasterization or during
experimental purposes, it may be desirable to scan an area either
larger or smaller than the \emph{view diameter}. Thus, the concept
of \emph{scan ratio}, \latexonly{$s_r$,}\latexignore{\emph{SR},}
-is arises. The scan diameter
-\latexonly{$s_d$}\latexignore{\emph{Sd}} is the diameter over
+is arises. The scan diameter,
+\latexonly{$s_d$,}\latexignore{\emph{Sd},} is the diameter over
which x-rays are collected and is defined as
\latexonly{\begin{equation}s_d =v_d s_r\end{equation}}
\latexignore{\\\centerline{\emph{Sd = Vd x SR}}\\}
source inside of the \emph{view diameter}.
-\subsection{Parallel Geometry}\label{geometryparallel}\index{Parallel Geometry}
+\subsection{Parallel Geometry}\label{geometryparallel}\index{Parallel geometry}
The simplest geometry, parallel, was used in \mbox{$1^{st}$} generation
scanners. As mentioned above, the focal length is not used in this simple
significant distortions will occur.
-\subsection{Divergent Geometries}\label{geometrydivergent}\index{Divergent geometry}
+\subsection{Divergent Geometries}\label{geometrydivergent}\index{Equilinear geometry}\index{Equiangular geometry}
\subsubsection{Overview}
Next consider the case of equilinear (second generation) and equiangular
(third, fourth, and fifth generation) geometries. In these cases,
In the equilinear mode, a single
source produces a fan beam which is read by a linear array of detectors. If
the detectors occupy an arc of a circle, then the geometry is equiangular.
-\latexonly{The configurations are shown in figure~\ref{divergentfig}.}
+\latexonly{These configurations are shown in figure~\ref{divergentfig}.}
\begin{figure}
\image{10cm;0cm}{divergent.eps}
\caption{\label{divergentfig} Equilinear and equiangular geometries.}
\end{figure}
-\subsubsection{Fan Beam Angle}
+\subsubsection{Fan Beam Angle}\index{Fan beam angle}
For these divergent beam geometries, the \emph{fan beam angle}
needs to be calculated. For real-world CT scanners, this is fixed
at the time of manufacture. \ctsim, however, calculates the
\emph{fan beam angle}, $\alpha$, from the \emph{scan diameter} and
-the \emph{focal length} \latexignore{\\$$\emph{alpha = 2 x asin (
-(Sd / 2) / f)}$$\\}
+the \emph{focal length}:
+\latexignore{\centerline{\emph{alpha = 2 x asin (
+(Sd / 2) / f)}}}
\latexonly{\begin{equation}\label{alphacalc}\alpha = 2 \sin^{-1}
((s_d / 2) / f)\end{equation}
This is illustrated in figure~\ref{alphacalcfig}.}
\latexignore{\\\centerline{\emph{Sd = Sr x Vr x Pd}}\\}
Further, $f$ can be defined as
-\latexonly{\[f = f_r (v_r p_d / 2)\]}
+\latexonly{\begin{equation} = f_r (v_r p_d / 2)\end{equation}}
\latexignore{\\\centerline{\emph{F = FR x (VR x Pd)$$\\}}}
Substituting these equations into \latexignore{the above
\subsubsection{Detector Array Size}
In general, you do not need to be concerned with the detector
-array size. It is automatically calculated by \ctsim. For the
+array size -- it is automatically calculated by \ctsim. For the
particularly interested, this section explains how the detector
array size is calculated.
\section{Reconstruction}\label{conceptreconstruction}\index{Reconstruction Overview}%
\subsection{Direct Inverse Fourier}
-This method is not currently implemented in \ctsim, however it is
+This method is not currently implemented in \ctsim; however, it is
planned for a future release. This method does not give results as
-accurate as filtered backprojection. The difference is due primarily
+accurate as filtered backprojection. This is due primarily
because interpolation occurs in the frequency domain rather than the
spatial domain.
\subsection{Filtered Backprojection}\index{Filtered backprojection}
The technique is comprised of two sequential steps:
-filtering projections and then backprojecting the filtered projections. Though
-these two steps are sequential, each view position can be processed individually.
+filtering projections followed backprojecting the filtered projections. Though
+these two steps are sequential, each view position can be processed independently.
\subsubsection{Multiple Computer Processing}
+Since each view can be processed independently, filtered backprojection is amendable to
+parallel processing. Indeed, this has been used in commercial scanners to speed reconstruction.
This parallelism is exploited in the MPI versions of \ctsim\ where the
data from all the views are spread about amongst all of the
processors. This has been testing in a 16-CPU cluster with excellent
Images can be compared statistically. Three measurements can be calculated
by \ctsim. They are taken from the standard measurements used by
Herman\cite{HERMAN80}. They are:
-\begin{description}
-\item[$d$] The normalized root mean squared distance measure.
-\item[$r$] The normalized mean absolute distance measure.
-\item[$e$] The worst case distance measure over a $2\times2$ area.
-\end{description}
+
+\begin{twocollist}
+\twocolitem{\textbf{$d$}}{The normalized root mean squared distance measure.}
+\twocolitem{\textbf{$r$}}{The normalized mean absolute distance measure.}
+\twocolitem{\textbf{$e$}}{The worst case distance measure over a \latexonly{$2\times2$}\latexignore{\emph{2 x 2}} pixel area.}
+\end{twocollist}
These measurements are defined in equations \ref{dequation} through \ref{bigrequation}.
In these equations, $p$ denotes the phantom image, $r$ denotes the reconstruction
-image, and $\bar{p}$ denotes the average pixel value for $p$. Each of the images have a
+image, and $\bar{p}$ denotes the average pixel value of $p$. Each of the images have a
size of $m \times n$. In equation \ref{eequation} $[n/2]$ and $[m/2]$ denote the largest
integers less than $n/2$ and $m/2$, respectively.
%Tex2RTF can not handle the any subscripts or superscripts for the inner summation unless
% have a space character before the \sum
\latexonly{\begin{equation}\label{dequation} d =\sqrt{\frac{\displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{(p_{i,j} - r_{i,j})^2}}}{\displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{(p_{i,j} - \bar{p})^2}}}}\end{equation}}
-\latexonly{\[\label{requation}r = \frac{ \displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{|p_{i,j} - r_{i,j}|}}}{ \displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{|p_{i,j}|}}}\]}
+\latexonly{\begin{equation}\label{requation}r = \frac{ \displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{|p_{i,j} - r_{i,j}|}}}{ \displaystyle \sum_{i=1}^{n}{ \sum_{j=1}^{m}{|p_{i,j}|}}}\end{equation}}
\latexonly{\begin{equation}\label{eequation}e = \max_{1 \le k \le [n/2] \atop 1 \le l \le [m/2]}(|P_{k,l} - R_{k,l}|)\end{equation}}
\latexonly{where}
-\latexonly{\[\label{bigpequation}P_{k,l} = \textstyle \frac{1}{4} (p_{2k,2l} + p_{2k+1,2l} + p_{2k,2l+l} + p_{2k+1,2l+1})\]}
+\latexonly{\begin{equation}\label{bigpequation}P_{k,l} = \textstyle \frac{1}{4} (p_{2k,2l} + p_{2k+1,2l} + p_{2k,2l+l} + p_{2k+1,2l+1})\end{equation}}
\latexonly{\begin{equation}\label{bigrequation}R_{k,l} = \textstyle \frac{1}{4} (r_{2k,2l} + r_{2k+1,2l} + r_{2k,2l+1} + r_{2k+1,2l+1})\end{equation}}
+\begin{comment}
+\end{comment}