r591: Added Center-Detector length to scanning and reconstruction
[ctsim.git] / doc / ctsim-concepts.tex
index 63d478c20ae2bae6e15a4f508efcd64ed4ae25a0..86a94bccae69761ea5e5370600f1e50940b85da3 100644 (file)
@@ -2,11 +2,11 @@
 \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
-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.
@@ -18,7 +18,6 @@ concerned with are the \helprefn{phantom}{conceptphantom} and the
 \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.
@@ -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
-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}
-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}
-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}
@@ -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}%
-\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
@@ -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.
 
-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
@@ -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
-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}
@@ -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
-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}.
 
+\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}
 
@@ -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}
-\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.
@@ -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
-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.
@@ -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{\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}.}
-\begin{figure}\label{equilinearfig}
+\begin{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.
 
-\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.
@@ -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.
-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}
@@ -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:
 
-\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