r1883: *** empty log message ***
[ctsim.git] / doc / ctsim-gui.tex
index f6b7e6058361235f8f39298d90ae560f03be0f24..a7fe7dc98dd9838b98177135c87b176c535f0c2a 100644 (file)
@@ -1,22 +1,57 @@
-\chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}%
+\chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}\index{Graphical interface}%
 \setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
 \ctsimfooter%
 
 
-\section{Overview}\index{Graphical interface}
 \ctsim\ is the graphical shell for the CTSim project. This shell uses
 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
+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.
 
+\section{Starting CTSim}
 \usage \texttt{ctsim [files to open...]}
 
-You can invoke \ctsim\ by itself on the command line, or include
-any number of files that you want \ctsim\ to
-automatically open. \ctsim\ can open projection files, image
-files, phantom files, and plot files.
-
+You can invoke \ctsim\ by itself on the command line, or include any
+number of files that you want \ctsim\ to automatically open. \ctsim\
+can open projection files, image files, phantom files, and plot files.
+
+On Microsoft Windows platforms, the simplest way to invoke \ctsim\ is
+via the \emph{Start} menu under the \emph{Programs} sub-menu.
+
+\section{Quick Start}\label{IDH_QUICKSTART}\index{Quick Start}
+The fastest way to put \ctsim\ through it's basic operation is:
+\begin{enumerate}\itemsep=0pt
+\item \texttt{File - Create Phantom...} \\
+This creates a window with the geometric phantom. Choose the \texttt{Herman} head phantom.
+\item \texttt{Process - Rasterize...} \\
+This creates an image file of the phantom by converting it from a
+geometric definition into a rasterized image. You may use the defaults
+shown in the dialog box.
+\item \texttt{View - Auto...} \\
+Use this command on the new rasterized image window. This will optimize the intensity scale for
+viewing the soft-tissue details of the phantom. Select the \texttt{median} center and
+a standard deviation factor of \texttt{0.1}.
+\item \texttt{Process - Projections...} \\
+Use this command on the geometric phantom window. This simulates the collection of x-ray
+data. You may use the defaults shown in the dialog box. Additionally, you may wish to turn on
+\texttt{Trace - Projections} to watch to x-ray data being simulated.
+\item \texttt{Reconstruction - Filtered Backprojection...} \\
+Use this command on the projection window. This will reconstruct an image
+from the projections. Once again, you may use the defaults shown in the dialog box.
+\item \texttt{View - Auto...} \\
+Use this command on the new reconstructed image window. This will optimize the intensity scale for
+viewing the soft-tissue details of the reconstruction. Select the \texttt{median} center and
+a standard deviation factor of \texttt{0.1}.
+\item \texttt{Analyze - Compare Images...} \\
+Use this command on the rasterized phantom image window. This will bring up a dialog box
+asking for the comparison image. Select the reconstruction image that you just made and also select the "Make difference image"
+check box. You'll then see the image distance measurements and also a new window with the difference between the rasterized
+phantom and the reconstruction.
+\item \textbf{That's it!} You have just performed the basic operations with \ctsim. By varying the parameters of the rasterization,
+projection, and reconstructions you perform endless computed tomography experiments. \ctsim\ also has many other visualization
+and analysis features that you learn more about by reading the manual.
+\end{enumerate}
 
 \section{File Types}\index{File types}
 
@@ -28,7 +63,7 @@ ASCII format. A text editor is required to
 create and edit these files.
 
 \subsection{Image}
-Image files are 2-dimensional files that store 4-byte floating
+Image files contain 2-dimensional arrays that store 4-byte floating
 point values. Images files can be either real or complex-valued.
 Typically, all images are real-valued except for images that have been
 processed by Fourier transforms. As you might expect,
@@ -37,12 +72,12 @@ since both a real and imaginary component need to be stored. When
 complex-valued images are viewed on the screen, only the real
 component is displayed.
 
-Images files can also store any number of text labels. \ctsim\ uses
+Images files can    store any number of text labels. \ctsim\ uses
 these labels for recording history information regarding
 the creation and modifications of images.
 
 \subsection{Projection}
-Projection files are created from phantom files during the
+Projection files are created from phantom files via the
 projection process. Numerous options are available for the
 creation of the these files. The files are stored in a binary
 format with cross-platform compatibility on little and big-endian
@@ -57,7 +92,7 @@ files for easy cross-platform support and editing.
 These global commands are present on the menus of all windows.
 
 \subsection{File - Create Phantom}\label{IDH_DLG_PHANTOM}\index{Dialog!Create phantom}
-This command brings up a dialog box showing the phantoms that are pre-programmed
+This command displays 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:
 
@@ -69,11 +104,12 @@ center of the phantom and \texttt{0} everywhere else.}
 \end{twocollist}
 
 \subsection{File - Create Filter}\label{IDH_DLG_FILTER}\index{Dialog!Create filter}
-This command brings up a dialog box showing the pre-programmed filters
+This command displays 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.
+These filters can be created in their natural frequency domain or in their inverse
+spatial domain.
 
 \begin{twocollist}
 \twocolitem{\textbf{Filter}}{Selects the filter to generate. The available filters are:
@@ -93,8 +129,9 @@ These filters can be created in their natural frequency domain or in their spati
 \item Triangle
 \end{itemize}
 }
-\twocolitem{\textbf{Domain}}{Selects either the \texttt{Frequency} or \texttt{Spatial} domains. The filters have the
-frequency domain as their natural domain.}
+\twocolitem{\textbf{Domain}}{Selects either the \texttt{Frequency} or \texttt{Spatial} domain. The filters have the
+frequency domain as their natural domain. The spatial domain is obtained either analytically or performing
+an inverse Fourier transformation.}
 \twocolitem{\textbf{X Size}}{Number of columns in the output image.}
 \twocolitem{\textbf{Y Size}}{Number of rows in the output image.}
 \twocolitem{\textbf{Hamming Parameter}}{ This parameter adjusts the smoothing of the Hamming
@@ -104,6 +141,7 @@ At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
 window.}
 \twocolitem{\textbf{Bandwidth}}{Sets the bandwidth of the filter.}
 \end{twocollist}
+
 \begin{twocollist}
 \twocolitem{\textbf{Axis (input) Scale}}{Sets the scale for the filter input. By default, the input to the filter is
 the distance in pixels from the center of the image. By changing this value, one can set a scale the input to the filter.
@@ -122,17 +160,35 @@ On UNIX and Linux environments, they are stored in the user's home
 directory with the filename of \texttt{.ctsim}.
 
 \begin{twocollist}
-\twocolitem{\textbf{Advanced options}}{By default, this is turned off in new installations.
+\twocolitem{\textbf{Advanced options}}{This option is initially turned off in new installations.
 These advanced options are not required for normal simulations. When \texttt{Advanced
 Options} is set, \ctsim\ will display more options during scanning of phantoms and
 the reconstruction of projections.}
 
-\twocolitem{\textbf{Ask before deleting new documents}}{By default, this is turned on in
+\twocolitem{\textbf{Ask before closing new documents}}{This option is initially 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.}
 
+\twocolitem{\textbf{Verbose logging}}{This option is initially turned off in
+new installations. With this option set, \ctsim\ will log more events than
+usual. There extra events are not important for viewing with typical operation of
+\ctsim.}
+
+\twocolitem{\textbf{Show startup tips}}{This option is initially turned on in
+new installations. With this option set, \ctsim\ will display
+helpful tips when \ctsim\ is started.}
+
+\twocolitem{\textbf{Run background tasks}}{This option is initially turned off in
+new installations. With this option set, \ctsim\ execute lengthy calculations in the
+background. A background window will appear when processes are running in the background
+and will disappear when no background processes are executing. This background window shows
+the status and progress of all background processes. 
+\textbf{NOTE:} Due to limitations of \texttt{wxWindows}, this function is
+only supported on Microsoft Windows.
+}
+
 \end{twocollist}
 
 \subsection{File - Open}
@@ -145,14 +201,23 @@ 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{File - Close}
-As one would expect, this closes the active window.
+As one would expect, this closes the active window. If the contents of the window have not been
+saved and the \emph{Advanced Preferences} option \texttt{Ask before closing new documents}
+is turned on, then you will be prompted if decide if you want to save the contents of the window
+prior to closing.
 
 \subsection{File - Save As}
-Allows the saving of the contents of a window to any filename.
+Allows the saving of the contents of the active window to any file name.
 
 \subsection{Help - Contents}
 This command displays the online help.
 
+\subsection{Help - Tips}
+This command displays a dialog with tips on using \ctsim.
+
+\subsection{Help - Quick Start}
+This command displays a recommend approach to helping new users learn to use \ctsim.
+
 \subsection{Help - About}
 This command shows the version number and operating environment of \ctsim.
 
@@ -184,11 +249,11 @@ are averaged.}
 \end{twocollist}
 
 \subsection{Process - Projections}\label{IDH_DLG_PROJECTIONS}\index{Dialog!Projections}
-This creates a projection file from a phantom. The options
+This command creates a projection file from a phantom. The options
 available when collecting projections are:
 
 \begin{twocollist}
-\twocolitem{\textbf{Geometry}}{Selects the scanner geometry.
+\twocolitem{\textbf{Geometry}}{Sets the scanner geometry. The available geometries are:
   \begin{itemize}\itemsep=0pt
     \item \texttt{Parallel}
     \item \texttt{Equiangular}
@@ -198,10 +263,10 @@ available when collecting projections are:
 detectors in the detector array.}
 
 \twocolitem{\textbf{Number of views}}{Sets the number of views
-collected}
+to collect.}
 
 \twocolitem{\textbf{Samples per detector}}{Sets the number of
-samples collected for each detector}
+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, use a value of
@@ -219,23 +284,23 @@ geometries, this should be at least \texttt{2.0} to avoid artifacts.}
 
 \textbf{Advanced Options}
 
-These options are only visible if \emph{Advanced Options} has been
+These options are visible only if \emph{Advanced Options} has been
 selected in the \texttt{File - Preferences} dialog. These parameters
 default to optimal settings and don't need to be adjusted except
 by expert users.
 
 \begin{twocollist}
 \twocolitem{\textbf{Rotation Angle}}{Sets the rotation amount as a
-multiple of \latexonly{$\pi$.}\latexignore{pi.} For parallel geometries use a rotation angle of \texttt{1}
+fraction of a circle. For parallel geometries use a rotation angle of \texttt{0.5}
 and for equilinear and equiangular geometries use a rotation angle
-of \texttt{2}. Using any other rotation angle will lead to artifacts.}
+of \texttt{1}. Using any other rotation angle will lead to artifacts.}
 \end{twocollist}
 
 
 
 \section{Image Menus}
 \subsection{File - Properties}
-Properties of image files include
+Properties of image files include:
 \begin{itemize}\itemsep=0pt
   \item Whether the image is real or complex-valued.
   \item Numeric statistics (minimum, maximum, mean, median, mode, and standard deviation).
@@ -260,7 +325,8 @@ UNIX systems.}
 \end{twocollist}
 
 
-\subsection{View}\label{intensityscale}\index{Intensity scale}
+\subsection{View}
+\subsubsection{Intensity Scale}\label{intensityscale}\index{Intensity scale}
 These commands are used change the intensity scale for viewing the image.
 These commands do not change the image data. When the minimum value is
 set, then the color pure black is assigned to that image value. Similarly,
@@ -272,10 +338,10 @@ In clinical medicine, the intensity scale is often changed to examine bone
 (high value) versus soft-tissue (medium value) features.
 
 \subsubsection{Set}\label{IDH_DLG_MINMAX}
-This command displays a dialog box that allows you to set the lower
+This command displays a dialog box that sets the lower
 and upper values to display.
 
-\subsubsection{Auto}\label{IDH_DLG_AUTOSCALE}
+\subsubsection{Auto}\label{IDH_DLG_AUTOSCALE}\index{Auto scale}
 This command displays a dialog box that allows \ctsim\ to automatically
 make an intensity scale. The parameters that \ctsim\ needs to make this
 automatic scale are:
@@ -285,8 +351,8 @@ automatic scale are:
 \ctsim\ allows you to use either the mean, mode, or median of the image
 as the center of the intensity scale.}
 
-\twocolitem{\textbf{Width}}{This sets the half-width of the intensity scale. The width
-is specified as a ratio of the standard deviation.}
+\twocolitem{\textbf{Width}}{This sets the half-width of the intensity scale. The half-width
+is specified as a multiple of the standard deviation.}
 \end{twocollist}
 
 As an example, if \texttt{median} is selected as the center and
@@ -346,7 +412,7 @@ support both real and complex-valued images. The available arithmetic commards a
 
 
 \subsubsection{Frequency Based}
-This commands allow the Fourier and inverse Fourier transformations of
+These commands perform Fourier and inverse Fourier transformations of
 images. By default, the transformations will automatically convert
 images between Fourier to natural orders as expected. For example, \texttt{2-D FFT}
 will transform the points into natural order after the Fourier transform.
@@ -354,37 +420,34 @@ 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
-after than filtering. Normally, only the real component is shown by \ctsim. However, \ctsim\ does
+after than filtering. 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.
 
 The available frequency-based filtering commards are:
 
 \begin{itemize}\itemsep=0pt
-\item 2D FFT
-\item 2D IFFT
+\item 2-D FFT
+\item 2-D IFFT
 \item FFT Rows
 \item IFFT Rows
 \item FFT Columns
 \item IFFT Columns
-\item 2D Fourier
-\item 2D Inverse Fourier
+\item 2-D Fourier
+\item 2-D Inverse Fourier
 \item Shuffle Fourier to Natural Order
 \item Shuffle Natural to Fourier Order
 \item Magnitude
 \item Phase
 \end{itemize}
 
-\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. To select
-the row or column to plot or compare, click the mouse button over the
+\subsection{Analyze - Plot}
+The commands plot rows and columns of images. There are commands
+that perform FFT transformations prior to plotting. To select
+the row or column to plot, click the left mouse button over the
 desired cursor point.
 
-The available commands are:
+The available plot commands are:
 \begin{itemize}\itemsep=0pt
 \item Plot Row
 \item Plot Column
@@ -393,27 +456,22 @@ The available commands are:
 \item Plot FFT Col
 \end{itemize}
 
-\subsubsection{Image Comparison}\label{IDH_DLG_COMPARISON}\index{Image!Comparison}
+\subsection{Analyze - Compare}\label{IDH_DLG_COMPARISON}\index{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 comparison plotting of rows and columns from two images.
-This is quite helpful when comparing a phantom to a reconstruction.
-
-The three distance measures are:
-
+The three distance measures reported are:
 \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.
+\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}
 
-The available commands are:
-\begin{itemize}\itemsep=0pt
-\item Compare Image
-\item Compare Row
-\item Compare Column
-\end{itemize}
+There are also commands for comparison plotting of rows and columns from two images.
+This is quite helpful when comparing a phantom to a reconstruction. As with plotting
+of rows and columns, click the left mouse button over the desired cursor point to
+choose which row and column to plot.
+
 
 \section{Projection Menus}
 
@@ -426,6 +484,10 @@ The displayed properties include:
 \item The parameters used when generating the projections from the phantom.
 \end{itemize}
 
+\subsection{Process - Convert Rectangular}
+The commands takes the projection data and creates an image file using
+the projection data.
+
 \subsection{Process - Convert Polar}\label{IDH_DLG_POLAR}\index{Polar conversion}
 This command creates an image file with the polar conversion of the projection data.
 The parameters to set are:
@@ -438,12 +500,27 @@ Currently, the \texttt{bilinear} option provides the highest
 quality interpolation.}
 \end{twocollist}
 
-\subsection{Process - Convert FFT Polar}
+\subsection{Convert - Convert FFT Polar}
 The parameters for this option are the same as the \helprefn{Convert
 Polar Dialog}{convertpolardialog}. For this command, though, the
 projections are Fourier transformed prior to conversion to polar
 image.
 
+\subsection{Convert - Interpolate to Parallel}
+This command filters divergent projection data (equiangular or
+equilinear) and interpolates (or rebins) to estimate the projection
+data if the projections had been collected with parallel geometry.
+
+\subsection{Analyze - Plot Histogram}
+Plots a histogram of projection data attenuations.
+
+\subsection{Analyze - Plot T-Theta Sampling}
+Plots a 2-dimensional scattergram showing the \texttt{T} and
+\texttt{Theta} values for each data point in the projection data.
+This is especially instructive when scanning with divergent
+geometries and the scan ratio is close to \texttt{1}.
+
+
 \subsection{Reconstruct - Filtered Backprojection}\label{IDH_DLG_RECONSTRUCTION}\index{Dialog!Reconstruction}
 This command displays a dialog to set the parameters for reconstructing an image from projections
 using the filtered backprojection technique. The parameters available are:
@@ -481,16 +558,16 @@ using a smoothing filter. In the absence of smooth data, \texttt{linear} gives b
 is also many times faster than cubic interpolation.
 
 \begin{itemize}\itemsep=0pt
-\item \texttt{nearest} - No interpolation, selects nearest point
-\item \texttt{linear} - Uses fast straight line interpolation
-\item \texttt{cubic} - Uses cubic interpolating polynomial
+\item \texttt{nearest} - No interpolation, selects nearest point.
+\item \texttt{linear} - Uses fast straight line interpolation.
+\item \texttt{cubic} - Uses cubic interpolating polynomial.
 \end{itemize}
 }
 \end{twocollist}
 
 \textbf{Advanced Options}
 
-These options are only visible if \emph{Advanced Options} has been
+These options are visible only if \emph{Advanced Options} has been
 selected in the \texttt{File - Preferences} dialog. These parameters
 default to optimal settings and don't need to be adjusted except
 by expert users.
@@ -532,8 +609,19 @@ frequency-based filtering. A setting of \texttt{1} is optimal whereas
 a setting of \texttt{0} disables zero padding. Settings greater than \texttt{1}
 perform larger amounts of zero padding but without any significant benefit.}
 
+\twocolitem{\textbf{ROI}}{These four settings control the
+\textit{region of interest} for the reconstruction. The default values
+match the dimensions of the entire phantom. By constraining the ROI to
+be a smaller square, the reconstruction will be magnified.}
+
 \end{twocollist}
 
+\subsection{Reconstruct - Filtered Backprojection (Rebin to Parallel)}\label{IDH_DLG_RECONSTRUCTION_REBIN}\index{Dialog!Reconstruction_Rebin}
+The command reconstructs the projection data via filtered backprojection
+as described above. As opposed to the above command, this command also
+rebins divergent projection data to parallel prior to reconstruction.
+This greatly speeds reconstruction of divergent geometry projections.
+
 \section{Plot Menus}
 \subsection{File - Properties}
 The displayed properties include:
@@ -553,8 +641,8 @@ 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.
+y-axis. Please refer to the image file \helpref{\texttt{View - Auto}}{IDH_DLG_AUTOSCALE}
+documentation for the details.
 
 \subsubsection{Full}
 The command resets the upper and lower limits of the y-axis to the