\chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}%
-\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
-\setfooter{\thepage}{}{}{}{\manver}{\thepage}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
+\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
with Microsoft Windows, \urlref{GTK}{http://www.gtk.org}, and
\urlref{Motif}{http://www.openmotif.org} graphical environments.
-This graphical includes all of the functionality of the
-command-line interface \helprefn{\ctsimtext}{ctsimtext} as well as
-great image processing and visualization features.
-
-\ctsim\ can open projection files, image files, phantom files, and
-plot files.
\usage \texttt{ctsim [files to open...]}
You can invoke \ctsim\ by itself on the command line, or include
on the command-line any number of files that you want \ctsim\ to
-automatically open.
+automatically open. \ctsim\ can open projection files, image
+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. \ctsim
-incorporates logic so that binary files are cross-platform
+image and projection files are stored in binary format.
+\ctsim\ incorporates logic so that binary files are cross-platform
compatible between both little and big endian architectures.
\subsection{Phantom}
They can be read and stored on the disk. They are stored as ASCII
files for easy cross-platform support.
+\section{Global Menu Commands}
+These commands are present on the menus for all of the windows of
+\ctsim.
+
+\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.
+On UNIX and Linux environments, they are stored in the users home
+directory with the filename of \texttt{.ctsim}.
+
+\begin{description}\itemsep=0pt
+\item[Advanced options] By default, this is turned off in new installations.
+These advanced options are required for normal simulations. When \texttt{Advanced
+Options} is set, \ctsim\ will display more options during scanning of programs and
+the reconstruction of projections.
+
+\item[Ask before deleting new documents] By default, this is turned on in
+new installations. With this option set, \ctsim\ will ask before closing
+documents that have been modified or never saved on disk. By turning off
+this option, \ctsim\ will never ask if you want to save a file -- you'll
+be responsible for saving any files that you create.
+
+\end{description}
+
+\subsection{Open...}
+This command opens a file section dialog box. Of special consideration
+is the \texttt{File Type} combo box on the bottom of the dialog. You need
+to select that to the type of file that you wish to open.
+
+\subsection{Save}
+This command saves the contents of the active window. If the window hasn't
+been named, a dialog box will open asking for the file name to use.
+
+\subsection{Save As...}
+Allows the saving of the contents of a window to any filename.
+
+\subsection{Help}
+This command displays the online help.
+
+\subsection{About}
+This command shows the version number of \ctsim.
+
+
\section{Phantom Menus}
\subsection{Properties}
\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:
\begin{twocollist}
-\twocolitem{\textbf{Geometry}}{
+\twocolitem{\texttt{Geometry}}{
\begin{itemize}\itemsep=0pt
\item Parallel
\item Equiangular
\item Equilinear
\end{itemize}}
-\twocolitem{\textbf{Number of detectors}}{Sets the number of
+\twocolitem{\texttt{Number of detectors}}{Sets the number of
detectors in the detector array.}
-\twocolitem{\textbf{Number of views}}{Sets the number of views
+\twocolitem{\texttt{Number of views}}{Sets the number of views
collected}
-\twocolitem{\textbf{Samples per detector}}{Sets the number of
+\twocolitem{\texttt{Samples per detector}}{Sets the number of
samples collected for each detector}
-\twocolitem{\textbf{View Ratio}}{Sets the field of view as a ratio
-of the diameter of the phantom. For normal scanning, a value of
-1.0 is fine.}
+\twocolitem{\texttt{View Ratio}}{Sets the field of view as a ratio
+of the diameter of the phantom. For normal scanning, use a value of
+\texttt{1.0}.}
-\twocolitem{\textbf{Scan Ratio}}{Sets the length of scanning as a
-ratio of the view diameter. For normal scanning, a value of 1.0 is
-fine.}
+\twocolitem{\texttt{Scan Ratio}}{Sets the length of scanning as a
+ratio of the view diameter. For normal scanning, use a value of \texttt{1.0}.}
-\twocolitem{\textbf{Focal length ratio}}{Sets the distance of the
+\twocolitem{\texttt{Focal length ratio}}{Sets the distance of the
radiation source and detectors from the center of the object as a
ratio of the radius of the object.
-For parallel geometries, a value of 1.0 is fine. For other
-geometries, this should be at least 2.0 to avoid artifacts.}
+For parallel geometries, use a value of \texttt{1.0}. For other
+geometries, this should be at least \texttt{2.0} to avoid artifacts.}
\end{twocollist}
\subsection{Advanced Options}
\begin{twocollist}
\twocolitem{\textbf{Rotation Angle}}{Sets the rotation amount as a
-multiple of pi. For parallel geometries use a rotation angle of 1
+multiple of pi. For parallel geometries use a rotation angle of \texttt{1}
and for equilinear and equiangular geometries use a rotation angle
-of 2. Using any other rotation angle will lead to artifacts.}
+of \texttt{2}. Using any other rotation angle will lead to artifacts.}
\end{twocollist}
\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
These options are for change the intensity scale for viewing the image.
They do not change the image data.
\subsubsection{Set}
+This command brings up a dialog box that allows you to set the lower
+and upper intensities to display.
+
\subsubsection{Auto}
+This command brings up a dialog box that allows \ctsim\ to automatically
+make an intensity scale. The options that \ctsim\ needs to make this
+automatic scale are:
+
+\begin{description}\itemsep=0pt
+\item[Center] This sets the center of the intensity scale. Currently,
+\ctsim\ allows you to use either the mean, mode, or median of the image
+as the center of the intensity scale.
+
+\item[Width] This sets the half-width of the intensity scale. The width
+is specified as a ratio of the standard deviation.
+\end{description}
+
+As an example, if \texttt{median} is selected as the center and
+\texttt{0.5} is selected as the width, the the minimum intensity will
+be \texttt{median - 0.5 x standard deviation} and the maximum will be
+\texttt{median + 0.5 x standard deviation}.
+
\subsubsection{Full}
This resets the intensity scale to the full scale of the image.
and for some commands, also a comparison image.
\subsubsection{Add, Subtract, Multiply, Divide}
+These are simple arithmetic operations. \ctsim\ will display a dialog
+box showing all of the currently opened image files that are the
+same size of the active image. After selecting a compatible image,
+\ctsim\ will perform the arithmetic operation on the two images and
+make a new result image.
\subsubsection{Image Size}
+This command will generate a new window with the current image scaled to
+any size. Currently, \texttt{bilinear} interpolation provides the best
+image quality.
\subsubsection{3-D Conversion}
-Generates a 3-dimensional view of the current phantom.
+Generates a 3-dimensional view of the current phantom. This view can be
+rotated in three dimensions. The left and right arrow control the z-axis
+rotation, the up and down arrows control the x-axis rotation. The y-axis
+rotation is controlled by the \texttt{T} and \texttt{Y} keys. Other options
+include:
+
+\begin{itemize}
+\item Surface plot
+\item Smooth shading
+\item Lighting on or off
+\item Color scale
+\end{itemize}
-\subsection{Filter}
+\subsection{Filter}\index{Image filter}
These commands filter and modify the image.
\subsubsection{Arithmetic}
+These are simple arithmetic functions that should be self explanatory.
\subsubsection{Frequency Based}
+This commands allow the Fourier and inverse Fourier transformations of
+images. By default, the transformations will automatically convert
+images from Fourier to natural order as expected. For example, \texttt{2-D FFT}
+will transform the points into natural order after the Fourier transform.
+Similarly the inverse, \texttt{2-D IFFT}, will reorder the points from
+natural order to Fourier order before applying the inverse Fourier transformation.
+
+As you would expect, images that undergo frequency filtering will be complex-valued
+images. Normally, only the real component is shown by \ctsim. However, \ctsim\ does
+have options for converting a complex-valued image into a real-valued image via
+the \texttt{Magnitude} and \texttt{Phase} filtering commands.
\subsection{Analyze}
These commands are used for analyzing an image.
\subsubsection{Plotting}
+The commands plot rows and columns of images. There are also commands
+that perform FFT and IFFT transformations prior to plotting.
\subsubsection{Image Comparison}
+This command performs statistical comparisons between two images. An option
+also exists for generating a difference image from the two input images.
+
+There are also commands for plotting rows and columns from two images on
+a single plot. This is quite helpful when comparing a phantom to a reconstruction.
\section{Projection Menus}
\subsection{File - Properties}
+The displayed properties include:
+
+\begin{itemize}
+\item Number of detectors in the projections
+\item Number of views
+\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.
\twocolitem{\textbf{Filter Generation}}{Selects the filter
generation. With convolution, \texttt{direct} is the proper method
to select. With any of the frequency methods,
-\texttt{inverse-fourier}is the best method.
+\texttt{inverse-fourier} is the best method.
\begin{itemize}\itemsep=0pt
\item direct
\item inverse-fourier
\section{Plot Menus}
\subsection{File - Properties}
-
-\subsection{File - Save}
-Plot files can be saved. They are saved in an ASCII text format.
+The displayed properties include the number of curves in the plot
+and the number of points per curve. Additionally, the EZPlot
+commands used to format the plot are displayed.
\subsection{View Menu}
-These commands set the scaling for the y-axis.
+These commands set the scaling for the y-axis. They are analogous
+to the options used for setting the intensity scale for images.
+
\subsubsection{Set}
+This command sets the upper and lower limits for the y-axis.
+
\subsubsection{Auto}
+This command automatically sets the upper and lower limits for the
+y-axis. Please refer to the \texttt{View - Auto} documentation for
+image files for the details.
+
\subsubsection{Full}
+The command resets the upper and lower limits of the y-axis to the
+minimum and maximum values of the curves.