\appendix
-\chapter{Simple Graphics Package}\label{appendix}\index{Appendix}%
+\chapter{Simple Graphics Package}\label{appendix}\index{Simple Graphics Package}
\setheader{{\it Appendix \thechapter}}{}{}{\ctsimheadtitle}{}{{\it Appendix \thechapter}}%
\ctsimfooter%
\subsection{Master coordinate functions}
\begin{twocollist}
-\twocolitem{setWindow(xmin, ymin, xmax, ymax)}{Set window for world
+\twocolitem{\texttt{setWindow(xmin, ymin, xmax, ymax)}}{Set window for world
coordinates}
\twocolitem{\texttt{moveAbs(x, y)}}{Move graphics cursor to absolute position}
\twocolitem{\texttt{moveRel(dx, dy)}}{Move graphics cursor relative to current position}
\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
\ctsimfooter%
-\section{Overview}\label{conceptoverview}\index{Concepts,Overview}%
+\section{Overview}\label{conceptoverview}\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
object, but the two objects we need to be concerned with are the
\emph{phantom} and the \emph{scanner}.
-\section{Phantoms}\label{conceptphantom}\index{Concepts,Phantoms}%
-\subsection{Overview}\label{phantomoverview}\index{Concepts,Phantoms,Overview}%
+\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 a one or more phantom elements.
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{Concepts,Phantoms,File}
+\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}
of the overlapped objects are summed.
-\subsection{Phantom Elements}\label{phantomelements}\index{Concepts,Phantoms,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}
+\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.
-\section{Scanner}\label{conceptscanner}\index{Concepts,Scanner}%
+\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
length}. These variables are all input into \ctsim\ in terms of
ratios rather than absolute values.
-\subsubsection{Phantom Diameter}
+\subsubsection{Phantom Diameter}\index{Phantom diameter}
\begin{figure}
$$\image{5cm;0cm}{scangeometry.eps}$$
\caption{\label{phantomgeomfig} Phantom Geometry}
relationships are diagrammed in figure~\ref{phantomgeomfig}.}
\latexignore{emph{Pd}.}
-\subsubsection{View Diameter}
+\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
be impossible and is analagous to inserting an object into the CT
scanner that is larger than the scanner itself!
-\subsubsection{Scan Diameter}
+\subsubsection{Scan Diameter}\index{Scan diameter}
By default, the entire \emph{view diameter} is scanned. For
experimental purposes, it may be desirable to scan an area either
larger or smaller than the \emph{view diameter}. Thus, the concept
If the \emph{scan ratio} is less than \texttt{1}, you can expect
significant artifacts.
-\subsubsection{Focal Length}
+\subsubsection{Focal Length}\index{Focal length}
The \emph{focal length},
\latexonly{$f$,}\latexignore{\emph{F},}
is the distance of the X-ray source to the center of
source inside of the \emph{view diameter}.
-\subsection{Parallel Geometry}\label{geometryparallel}\index{Concepts,Scanner,Geometries,Parallel}
+\subsection{Parallel Geometry}\label{geometryparallel}\index{Parallel Geometry}
As mentioned above, the focal length is not used in this simple
geometry. The detector array is set to be the same size as the
significant distortions will occur.
-\subsection{Divergent Geometries}\label{geometrydivergent}\index{Concepts,Scanner,Geometries,Divergent}
+\subsection{Divergent Geometries}\label{geometrydivergent}\index{Divergent geometry}
\subsubsection{Overview}
Next consider the case of equilinear (second generation) and equiangular
(third, fourth, and fifth generation) geometries. In these cases,
\subsubsection{Examples of Geometry Settings}
-\section{Reconstruction}\label{conceptreconstruction}\index{Concepts,Reconstruction}%
+\section{Reconstruction}\label{conceptreconstruction}\index{Reconstruction Overview}%
\subsection{Overview}
\subsection{Direct Inverse Fourier}
This method is not currently implemented in \ctsim, however it is
because interpolation occurs in the frequency domain rather than the
spatial domain.
-\subsection{Filtered Backprojection}
+\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.
projections over the reconstructing image. Various levels of
interpolation can be specified.
-\section{Image Comparison}
+\section{Image Comparison}\index{Image comparison}
Images can be compared statistically. Three measurements can be calculated
by \ctsim. They are taken from the standard measurements used by
Herman\cite{HERMAN80}.
\ctsimfooter%
-\section{Overview}
+\section{Overview}\index{Graphical shell}
\ctsim\ is the graphical shell for the CTSim project. It utilizes
using the \urlref{wxWindows}{http://www.wxwindows.org} library for
cross-platform compatibility. The graphical shell is compatible
files, phantom files, and plot files.
-\section{File Types Support}
+\section{File Types Support}\index{File types}
Phantom and plot files are stored as ASCII text. In contrast,
image and projection files are stored in binary format.
These commands are present on the menus for all of the windows of
\ctsim.
-\subsection{Preferences...}
+\subsection{Create Phantom...}\index{Create phantom dialog}
+This command brings up a dialog box showing the phantoms that are pre-programmed
+into \ctsim. After selecting one of these phantoms, the new window with that
+phantom will be generated. The pre-programmed phantoms are:
+
+\begin{description}\itemsep=0pt
+\item[Herman] The Herman head phantom\cite{HERMAN80}
+ \item[Shepp-Logan] The head phantom of Shepp \& Logan\cite{SHEPP74}
+\item[Unit pulse] A phantom that has a value of \texttt{1} for the
+center of the phantom and \texttt{0} everywhere else.
+\end{description}
+
+\subsection{Create Filter...}\index{Create filter dialog}
+This command brings up a dialog box showing the pre-programmed filters
+of \ctsim. This command will create a 2-dimensional image of the selected filter.
+The center of the filter is at the center of the image.
+
+These filters can be created in their natural frequency domain or in their spatial domain.
+
+
+\subsection{Preferences...}\index{Preferences}
This command displays a dialog box that allows users to control
the behavior of \ctsim. These options are saved across \ctsim sessions.
Under Microsoft Windows environments, they are stored in the registry.
\item A list of all component phantom elements
\end{itemize}
-\subsection{Rasterize Dialog}
+\subsection{Rasterize Dialog}\index{Rasterize}
This creates an image file from a phantom. Technically, it
converts the phantom from a vector (infinite resolution) object
into a 2-dimension array of floating-point pixels. The parameters
pixel in the image file 9 samples (3 x 3) are averaged.}
\end{twocollist}
-\subsection{Projection Dialog}
+\subsection{Projection Dialog}\index{Projection collection}
This creates a projection file from a phantom. The options
available when collecting projections are:
\item Image file labels
\end{itemize}
-\subsection{File - Export}
+\subsection{File - Export}\index{Image export}
This command allows for exporting image files to a standard
graphics file format. This is helpful when you want to take an
image and import it into another application. The current
\item Color scale
\end{itemize}
-\subsection{Filter}
+\subsection{Filter}\index{Image filter}
These commands filter and modify the image.
\subsubsection{Arithmetic}
\item The variables used when generating the projections from the phantom
\end{itemize}
-\subsection{Process - Convert Polar Dialog}\label{convertpolardialog}
-The parameters are \texttt{xsize}, \texttt{ysize}, and \texttt{interpolation}.
-The \texttt{xsize} and \texttt{ysize} parameters set the size of the
-resulting image file. The \texttt{interpolation} parameter selects the
-interpolation method. Currently, the \texttt{bilinear} option provides
-the highest quality interpolation.
+\subsection{Process - Convert Polar Dialog}\label{convertpolardialog}\index{Polar conversion}
+The parameters are \texttt{xsize}, \texttt{ysize}, and
+\texttt{interpolation}. The \texttt{xsize} and \texttt{ysize}
+parameters set the size of the resulting image file. The
+\texttt{interpolation} parameter selects the interpolation method.
+Currently, the \texttt{bilinear} option provides the highest
+quality interpolation.
\subsection{Process - Convert FFT Polar Dialog}
The parameters for this option are the same as \helprefn{Convert
projections are Fourier transformed prior to conversion to polar
image.
-\subsection{Reconstruct - Filtered Backprojection Dialog}
+\subsection{Reconstruct - Filtered Backprojection Dialog}\index{Reconstruction dialog}
This dialog sets the parameters for reconstructing an image from projections
using the Filtered Backprojection technique.
\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
\ctsimfooter%
-\section{Download}\label{download}\index{Installation,Download}%
+\section{Download}\label{download}\index{Download}%
The latest version of \ctsim, both executable programs and source code,
can be downloaded from the official
files are also available from the \urlref{FTP site}{ftp://ftp.ctsim.org}.
-\section{Installing Windows Binary}\index{Installation,Windows}%
+\section{Installing Windows Binary}
Download the Windows executable file.
Simply execute this program to unpack \ctsim\ and begin the
and Windows 2000. Due to use of the OpenGL and htmlhelp libraries,
\ctsim\ is not compatible with the stock Windows 95 system.
-\section{Installing Linux RPM}\index{Installation,Linux}%
+\section{Installing Linux RPM}
Download the RPM file, then use
the \texttt{rpm} manager program:\\
\hspace{1cm}\texttt{rpm -Uvh} \emph{ctsim-*.rpm}\\
directory. The online help file, \texttt{ctsim.hhp}, will be installed in
directory \texttt{/usr/local/man}.
-\section{Build From Sources}\label{build}\index{Installation,Build}%
+\section{Build From Sources}\label{build}\index{Build}
Refer to the INSTALL file included in the source distribution for
instructions.
a 16-CPU \urlref{Beowulf}{http://www.beowulf.org} cluster.
-\section{if1}\label{if1}\index{ctsimtext,if1}%
+\section{if1}\label{if1}\index{if1}%
Performs math functions on a single image.
\usage
\item \doublehyphen{sqrt}
\end{itemize}
-\section{if2}\label{if2}\index{ctsimtext,if2}%
+\section{if2}\label{if2}\index{if2}%
Performs math functions on a two images.
\usage
\item \doublehyphen{row-plot}
\end{itemize}
-\section{ifexport}\label{ifexport}\index{ctsimtext,ifexport}%
+\section{ifexport}\label{ifexport}\index{ifexport}%
Export an image file to a standard graphics file.
\usage
\item \doublehyphen{max}
\end{itemize}
-\section{ifinfo}\label{ifinfo}\index{ctsimtext,ifinfo}%
+\section{ifinfo}\label{ifinfo}\index{ifinfo}%
Displays information about an imagefile.
\item \doublehyphen{help}
\end{itemize}
-\section{phm2pj}\label{phm2pj}\index{ctsimtext,phm2pj}%
+\section{phm2pj}\label{phm2pj}\index{phm2pj}%
Simulates collection of X-rays data (projections) around a phantom object.
\usage
\end{twocollist}
-\section{phm2if}\label{phm2if}\index{ctsimtext,phm2if}%
+\section{phm2if}\label{phm2if}\index{phm2if}%
Converts a geometric phantom object into an imagefile. The size of the
imagefile in pixels must be specified as well as the number of samples
to average per pixel.
the default value of \texttt{1.0} is optimal.}
\end{twocollist}
-\section{pj2if}\label{pj2if}\index{ctsimtext,pj2if}%
+\section{pj2if}\label{pj2if}\index{pj2if}%
Convert a projection file into an imagefile.
\usage
\twocolitem{\doublehyphen{help}}{Print brief online help}
\end{twocollist}
-\section{pjinfo}\label{pjinfo}\index{ctsimtext,pjinfo}%
+\section{pjinfo}\label{pjinfo}\index{pjinfo}%
Displays information about a projection file.
\usage
\item \doublehyphen{dump}
\end{itemize}
-\section{pjrec}\label{pjrec}\index{ctsimtext,pjrec}%
+\section{pjrec}\label{pjrec}\index{pjrec}%
Reconstructs the interior of an object from a projection file.
\begin{twocollist}
\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
\ctsimfooter%
-\section{Overview}\index{Web Interface,Overview}%
+\section{Overview}
\ctsim\ can also be executed via a web browser. The CGI program
\texttt{ctsim.cgi} takes projections of a standard phantom object,
performs reconstruction, and then compares the rasterized phantom
visually by an image subtraction as well as by statistical
analysis.
-\section{Requirements}\index{Web Interface,Requirements}%
+\section{Requirements}
\begin{itemize}\itemsep=0pt
\item Apache or other CGI compatible web server
\usepackage{hyperref}
\input{psbox.tex}
+\setlength{\textheight}{9in}
+\setlength{\textwidth}{6.5in}
+\setlength{\topmargin}{-0.25in}
+\setlength{\evensidemargin}{0in}
+\setlength{\oddsidemargin}{0in}
+
+
\latexonly{\includeonly{ctsim-concepts,ctsim-install,ctsim-gui,ctsim-textui,ctsim-web,ctsim-appendix}}
\hyphenation{poly-gon-al}
\newcommand{\indexit}[1]{#1\index{#1}}%
\newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
-\newcommand{\manvernum}[0]{0.3}
+\newcommand{\manvernum}[0]{0.31}
\newcommand{\manver}[0]{v\manvernum}
\newcommand{\mandate}[0]{February 12, 2001}
\newcommand{\ctsimfooter}{\setfooter{\thepage}{}{}{\small Manual \manver}{\small \mandate}{\thepage}}