X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fctsim-concepts.tex;h=86a94bccae69761ea5e5370600f1e50940b85da3;hb=HEAD;hp=3f0bb1640554d5fe31f0415e017792f94566b778;hpb=21362871030affef16ed3f135ac36349476416b5;p=ctsim.git diff --git a/doc/ctsim-concepts.tex b/doc/ctsim-concepts.tex index 3f0bb16..86a94bc 100644 --- a/doc/ctsim-concepts.tex +++ b/doc/ctsim-concepts.tex @@ -116,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} @@ -192,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} @@ -282,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. @@ -298,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} @@ -316,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. @@ -324,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}