Revert "Update package dependency from libwxgtk3.0-dev to libwxgtk3.0-gtk3-dev for...
[ctsim.git] / doc / ctsim-concepts.tex
index 63d478c20ae2bae6e15a4f508efcd64ed4ae25a0..86a94bccae69761ea5e5370600f1e50940b85da3 100644 (file)
@@ -2,11 +2,11 @@
 \setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}
 \ctsimfooter
 
 \setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}
 \ctsimfooter
 
-\section{Overview}\index{Conceptual overview}
+\section{Conceptual 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
 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
-simulated. That projection data can be reconstructed using various
+simulated. This projection data can be reconstructed using various
 user-controlled algorithms producing an image of the phantom
 object. These reconstructions can be visually and statistically
 compared to the original phantom object.
 user-controlled algorithms producing an image of the phantom
 object. These reconstructions can be visually and statistically
 compared to the original phantom object.
@@ -18,7 +18,6 @@ concerned with are the \helprefn{phantom}{conceptphantom} and the
 \helprefn{scanner}{conceptscanner}.
 
 \section{Phantoms}\label{conceptphantom}
 \helprefn{scanner}{conceptscanner}.
 
 \section{Phantoms}\label{conceptphantom}
-\subsection{Overview}\label{phantomoverview}\index{Phantom!Overview}%
 
 \ctsim\ uses geometrical objects to describe the object being
 scanned. A phantom is composed of one or more phantom elements.
 
 \ctsim\ uses geometrical objects to describe the object being
 scanned. A phantom is composed of one or more phantom elements.
@@ -58,18 +57,18 @@ meanings depending on the element type.
 
 \subsubsection{ellipse}
 Ellipses use \texttt{dx} and \texttt{dy} to define the semi-major and
 
 \subsubsection{ellipse}
 Ellipses use \texttt{dx} and \texttt{dy} to define the semi-major and
-semi-minor axis lengths, with the center of the ellipse at \texttt{(cx,cy)}.
+semi-minor axis lengths with the center of the ellipse at \texttt{(cx,cy)}.
 Of note, the commonly used phantom described by
 Shepp and Logan\cite{SHEPP74} uses only ellipses.
 
 \subsubsection{rectangle}
 Of note, the commonly used phantom described by
 Shepp and Logan\cite{SHEPP74} uses only ellipses.
 
 \subsubsection{rectangle}
-Rectangles use \texttt{cx} and \texttt{cy} to define the position of
+Rectangles use \texttt{(cx,cy)} to define the position of
 the center of the rectangle with respect to the origin.  \texttt{dx}
 and \texttt{dy} are the half-width and half-height of the rectangle.
 
 \subsubsection{triangle}
 the center of the rectangle with respect to the origin.  \texttt{dx}
 and \texttt{dy} are the half-width and half-height of the rectangle.
 
 \subsubsection{triangle}
-Triangles are drawn with the center of the base at \texttt{(cx,cy)},
-with a base half-width of \texttt{dx} and a height of \texttt{dy}.
+Triangles are drawn with the center of the base at \texttt{(cx,cy)}
+and a base half-width of \texttt{dx} and a height of \texttt{dy}.
 Rotations are then applied about the center of the base.
 
 \subsubsection{segment}
 Rotations are then applied about the center of the base.
 
 \subsubsection{segment}
@@ -100,7 +99,6 @@ 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}%
 0.101 in each direction.
 
 \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
 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
@@ -108,7 +106,8 @@ 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.
 
 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
+\subsection{Dimensions}
+The geometry for a scan starts with the size of
 the phantom being scanned. This is because \ctsim\ allows for
 statistical comparisons between the original phantom image and
 it's reconstructions. Since CT scanners scan a circular area, the
 the phantom being scanned. This is because \ctsim\ allows for
 statistical comparisons between the original phantom image and
 it's reconstructions. Since CT scanners scan a circular area, the
@@ -117,8 +116,8 @@ the phantom, the \emph{phantom diameter}. Remember, as mentioned
 above, the phantom dimensions are padded by 1\%.
 
 The other important geometry variables for scanning phantoms are
 above, the phantom dimensions are padded by 1\%.
 
 The other important geometry variables for scanning phantoms are
-the \emph{view diameter}, \emph{scan diameter}, and \emph{focal
-length}. These variables are input into \ctsim\ in terms of
+the \emph{view diameter}, \emph{scan diameter}, \emph{focal
+length}, and \emph{center-detector length}. These variables are input into \ctsim\ in terms of
 ratios rather than absolute values.
 
 \subsubsection{Phantom Diameter}\index{Phantom!Diameter}
 ratios rather than absolute values.
 
 \subsubsection{Phantom Diameter}\index{Phantom!Diameter}
@@ -193,9 +192,24 @@ For parallel geometry scanning, the focal length doesn't matter.
 However, for divergent geometry scanning (equilinear and equiangular),
 the \emph{focal length ratio} should be set at \texttt{2} or more
 to avoid artifacts. Moreover, a value of less than \texttt{1} is
 However, for divergent geometry scanning (equilinear and equiangular),
 the \emph{focal length ratio} should be set at \texttt{2} or more
 to avoid artifacts. Moreover, a value of less than \texttt{1} is
-physically impossible and it analagous to have having the x-ray
+physically impossible and it analagous to having the x-ray
 source inside of the \emph{view diameter}.
 
 source inside of the \emph{view diameter}.
 
+\subsubsection{Center-Detector Length}\index{Center-Detector length}
+The \emph{center-detector length},
+\latexonly{$c$,}\latexignore{\emph{C},}
+is the distance from the center of
+the phantom to the center of the detector array. The center-detector length is set as a ratio,
+\latexonly{$c_r$,}\latexignore{\emph{CR},}
+of the view radius. The center-detector length is
+calculated as
+\latexonly{\begin{equation}f = (v_d / 2) c_r\end{equation}}
+\latexignore{\\\centerline{\emph{F = (Vd / 2) x CR}}}
+
+For parallel geometry scanning, the center-detector length doesn't matter.
+A value of less than \texttt{1} is physically impossible and it analagous to
+having the detector array inside of the \emph{view diameter}.
+
 
 \subsection{Parallel Geometry}\label{geometryparallel}\index{Parallel geometry}\index{Scanner!Parallel}
 
 
 \subsection{Parallel Geometry}\label{geometryparallel}\index{Parallel geometry}\index{Scanner!Parallel}
 
@@ -212,7 +226,6 @@ significant distortions will occur.
 
 \subsection{Divergent Geometries}\label{geometrydivergent}\index{Equilinear geometry}\index{Equiangular geometry}
 \index{Scanner!Equilinear}\index{Scanner!Equiangular}
 
 \subsection{Divergent Geometries}\label{geometrydivergent}\index{Equilinear geometry}\index{Equiangular geometry}
 \index{Scanner!Equilinear}\index{Scanner!Equiangular}
-\subsubsection{Overview}
 For both equilinear (second generation) and equiangular
 (third, fourth, and fifth generation) geometries,
 the x-ray beams diverge from a single source to a detector array.
 For both equilinear (second generation) and equiangular
 (third, fourth, and fifth generation) geometries,
 the x-ray beams diverge from a single source to a detector array.
@@ -284,8 +297,10 @@ depends upon the \emph{focal length}: increasing the \emph{focal
 length} decreases the size of the detector array.
 
 For equiangular geometry, the detectors are equally spaced around a arc
 length} decreases the size of the detector array.
 
 For equiangular geometry, the detectors are equally spaced around a arc
-covering an angular distance of
-\latexonly{$2\,\alpha$.}\latexignore{\emph{2 \alpha}.}
+covering an angular distance of $\alpha$ as viewed from the source. When
+viewed from the center of the scanning, the angular distance is
+\latexonly{$$\pi + \alpha - 2 \, \cos^{-1} \Big( \frac{s_d / 2}{c} \Big)$$}
+\latexignore{\\\emph{pi + \alpha - 2 x acos ((Sd / 2) / C))}\\}
 The dotted circle
 \latexonly{in figure~\ref{equiangularfig}}
 indicates the positions of the detectors in this case.
 The dotted circle
 \latexonly{in figure~\ref{equiangularfig}}
 indicates the positions of the detectors in this case.
@@ -300,10 +315,10 @@ line. The detector length depends upon
 \latexonly{$\alpha$}\latexignore{\emph{alpha}} and the \emph{focal
 length}. This length,
 \latexonly{$d_l$,}\latexignore{Dl,} is calculated as
 \latexonly{$\alpha$}\latexignore{\emph{alpha}} and the \emph{focal
 length}. This length,
 \latexonly{$d_l$,}\latexignore{Dl,} is calculated as
-\latexonly{\begin{equation} d_l = 4\,f \tan (\alpha / 2)\end{equation}}
-\latexignore{\\\centerline{\emph{4 x F x tan(\alpha/2)}}}
+\latexonly{\begin{equation} d_l = 2\,(f + c) \tan (\alpha / 2)\end{equation}}
+\latexignore{\\\centerline{\emph{2 x (F + C) x tan(\alpha/2)}}}
 \latexonly{This geometry is shown in figure~\ref{equilinearfig}.}
 \latexonly{This geometry is shown in figure~\ref{equilinearfig}.}
-\begin{figure}\label{equilinearfig}
+\begin{figure}
 \centerline{\image{10cm;0cm}{equilinear.eps}}
 \latexonly{\caption{\label{equilinearfig} Equilinear geometry}}
 \end{figure}
 \centerline{\image{10cm;0cm}{equilinear.eps}}
 \latexonly{\caption{\label{equilinearfig} Equilinear geometry}}
 \end{figure}
@@ -318,7 +333,7 @@ accurate as filtered backprojection. This is due primarily
 to interpolation occurring in the frequency domain rather than the
 spatial domain.
 
 to interpolation occurring in the frequency domain rather than the
 spatial domain.
 
-\subsection{Filtered Backprojection}\index{Filtered backprojection}
+\subsection{Filtered Backprojection}\index{Filtered backprojection}\index{Symmetric multiprocessing}\index{SMP}
 The technique is comprised of two sequential steps:
 filtering projections followed by backprojecting the filtered projections. Though
 these two steps are sequential, each view position can be processed independently.
 The technique is comprised of two sequential steps:
 filtering projections followed by backprojecting the filtered projections. Though
 these two steps are sequential, each view position can be processed independently.
@@ -326,9 +341,18 @@ these two steps are sequential, each view position can be processed independentl
 \subsubsection{Parallel Computer Processing}\index{Parallel 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.
 \subsubsection{Parallel Computer Processing}\index{Parallel 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 cluster of 16 computers with excellent
+This parallelism is exploited both in the \ctsim\ graphical shell and
+in the \helpref{LAM}{ctsimtextlam} version of \ctsimtext. \ctsim\ can distribute it's workload
+amongst multiple processors working in parallel.
+
+The graphical shell will automatically take advantage of multiple CPU's when
+running on a \emph{Symmetric Multiprocessing}
+computer. Dual-CPU computers are commonly available which provide a near doubling
+in reconstruction speeds. \ctsim, though, has no limits on the number of CPU's
+that can be used in parallel. The \emph{LAM} version
+of \ctsimtext\ is designed to work in a cluster of computers.
+This has been testing with a cluster of 16 computers in a
+\urlref{Beowulf-class}{http://www.beowulf.org} cluster with excellent
 results.
 
 \subsubsection{Filter projections}
 results.
 
 \subsubsection{Filter projections}
@@ -358,11 +382,11 @@ 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:
 
 by \ctsim. They are taken from the standard measurements used by
 Herman\cite{HERMAN80}. They are:
 
-\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}
+\begin{itemize}\itemsep=0pt
+\item[]\textbf{$d$}\quad The normalized root mean squared distance measure.
+\item[]\textbf{$r$}\quad The normalized mean absolute distance measure.
+\item[]\textbf{$e$}\quad The worst case distance measure over a \latexonly{$2\times2$}\latexignore{\emph{2 x 2}} pixel area.
+\end{itemize}
 
 These measurements are defined in equations \ref{dequation} through \ref{bigrequation}.
 In these equations, $p$ denotes the phantom image, $r$ denotes the reconstruction
 
 These measurements are defined in equations \ref{dequation} through \ref{bigrequation}.
 In these equations, $p$ denotes the phantom image, $r$ denotes the reconstruction