r545: no message
[ctsim.git] / doc / ctsim-gui.tex
index 0e31eb144f00cb07b55e112f7322299cf6283c4b..94d02ec1c6076ffc0317771094b42cbdb862c015 100644 (file)
@@ -3,9 +3,9 @@
 \ctsimfooter%
 
 
-\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
+\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
 \urlref{Motif}{http://www.openmotif.org} graphical environments.
@@ -13,7 +13,7 @@ with Microsoft Windows, \urlref{GTK}{http://www.gtk.org}, and
 \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
+any number of files that you want \ctsim\ to
 automatically open. \ctsim\ can open projection files, image
 files, phantom files, and plot files.
 
@@ -42,7 +42,7 @@ these labels for storing 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 during 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
@@ -51,12 +51,12 @@ architectures.
 \subsection{Plot}
 Plot files are created by \ctsim\ during analysis of image files.
 They can be read and stored on the disk. They are stored as ASCII
-files for easy cross-platform support.
+files for easy cross-platform support and editing.
 
 \section{Global Menu Commands}
-These commands are present on the menus of all windows.
+These global commands are present on the menus of all windows.
 
-\subsection{File - Create Phantom}\index{Create phantom dialog}
+\subsection{File - Create Phantom}\label{IDH_DLG_PHANTOM}\index{Dialog!Create phantom}
 This command brings up a dialog box showing the phantoms that are preprogrammed
 into \ctsim. After selecting one of these phantoms, the new window with that
 phantom will be generated. The preprogrammed phantoms are:
@@ -68,31 +68,39 @@ phantom will be generated. The preprogrammed phantoms are:
 center of the phantom and \texttt{0} everywhere else.}
 \end{twocollist}
 
-\subsection{File - Create Filter}\index{Create filter dialog}
+\subsection{File - Create Filter}\label{IDH_DLG_FILTER}\index{Dialog!Create filter}
 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.
+
 \begin{twocollist}
 \twocolitem{\textbf{Filter}}{Selects the filter to generate.}
 \twocolitem{\textbf{Domain}}{Selects either the \texttt{Frequency} or \texttt{Spatial} domains. The filters have the
 frequency domain as their natural domain.}
 \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}}{Sets the parameter for the Hamming filter.}
+\twocolitem{\textbf{Hamming Parameter}}{ This parameter adjusts the smoothing of the Hamming
+filter and can range from \texttt{0} to \texttt{1}.
+At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
+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.}
 \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.}
-\twocolitem{\textbf{Filter (output) Scale)}}{Multiplies the output of the filter by this amount. By default, the filter has a maximum
+the distance in pixels from the center of the image. By changing this value, one can set a scale the input to the filter.
+For example, if the output image is \texttt{101} pixels and thus the center of the image is at \texttt{(50,50)}, then a pixel
+lying at point \texttt{100,50} would be 50 units from the center of the filter. By applying an \texttt{Axis scale} of
+\texttt{0.1}, then that point would be scaled to 5 units from the center of the filter.}
+\twocolitem{\textbf{Filter (output) Scale}}{Multiplies the output of the filter by this amount. By default, the filter has a maximum
 value of \texttt{1}.}
 \end{twocollist}
 
-\subsection{File - Preferences}\index{Preferences}
+\subsection{File - Preferences}\label{IDH_DLG_PREFERENCES}\index{Dialog!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
+On UNIX and Linux environments, they are stored in the user's home
 directory with the filename of \texttt{.ctsim}.
 
 \begin{twocollist}
@@ -141,23 +149,23 @@ Displays the properties of a phantom which includes:
 \item A list of all component phantom elements
 \end{itemize}
 
-\subsection{Rasterize Dialog}\index{Rasterize}
+\subsection{Rasterize Dialog}\label{IDH_DLG_RASTERIZE}\index{Dialog!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
 to set are:
 
 \begin{twocollist}
-\twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
 \twocolitem{\textbf{X size}}{Number of columns in image file}
 \twocolitem{\textbf{Y size}}{Number of rows in image file}
 \twocolitem{\textbf{Samples per pixel}}{Numbers of samples taken
 per pixel in both the x and y directions. For example, if the
 \texttt{Samples per pixel} is set to \texttt{3}, then for every
-pixel in the image file 9 samples ($3\times3$) are averaged.}
+pixel in the image file 9 samples \latexonly{($3\times3$)}\latexignore{(3 x 3)}
+are averaged.}
 \end{twocollist}
 
-\subsection{Projection Dialog}\index{Projection collection}
+\subsection{Projection Dialog}\label{IDH_DLG_PROJECTIONS}\index{Dialog!Projections}
 This creates a projection file from a phantom. The options
 available when collecting projections are:
 
@@ -191,10 +199,11 @@ of \texttt{1.0} is optimal. For other
 geometries, this should be at least \texttt{2.0} to avoid artifacts.}
 \end{twocollist}
 
-\subsection{Advanced Options}
+\textbf{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 \texttt{1}
+multiple of \latexonly{$\pi$.}\latexignore{pi.} For parallel geometries use a rotation angle of \texttt{1}
 and for equilinear and equiangular geometries use a rotation angle
 of \texttt{2}. Using any other rotation angle will lead to artifacts.}
 \end{twocollist}
@@ -210,12 +219,12 @@ Properties of image files include
   \item History labels (text descriptions of the processing for this image)
 \end{itemize}
 
-\subsection{File - Export}\index{Image export}
+\subsection{File - Export}\label{IDH_DLG_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
 \helprefn{intensity scale}{intensityscale} is used when exporting
-the file. The support file formats are:
+the file. The supported graphic formats are:
 
 \begin{twocollist}
 \twocolitem{\textbf{PNG}}{Portable Network Graphics format. This uses 8-bits or
@@ -228,20 +237,24 @@ UNIX systems.}
 \end{twocollist}
 
 
-\subsection{View}\label{intensityscale}
+\subsection{View}\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 intensity is
 set, then the color pure black is assigned to that image intensity. Similarly,
 when the maximum intensity is set, the the color pure white is assigned to that
 image value.
 
-\subsubsection{Set}
-This command displays up a dialog box that allows you to set the lower
+Changing the intensity scale is useful when examining different image features.
+In clinical medicine, the intensity scale is often changed to examine bone
+(high intensity) verses soft-tissue (medium intensity) features.
+
+\subsubsection{Set}\label{IDH_DLG_MINMAX}
+This command displays a dialog box that allows you to set the lower
 and upper intensities to display.
 
-\subsubsection{Auto}
-This command displays up a dialog box that allows \ctsim\ to automatically
-make an intensity scale. The options that \ctsim\ needs to make this
+\subsubsection{Auto}\label{IDH_DLG_AUTOSCALE}
+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:
 
 \begin{twocollist}
@@ -255,8 +268,9 @@ is specified as a ratio of the standard deviation.}
 
 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 $median - 0.5 \times standard deviation$ and the maximum will be
-$median + 0.5 \times standard deviation$.
+be \latexonly{$median - 0.5 \times standardDeviation$}\latexignore{\emph{median - 0.5 x standardDeviation}}
+and the maximum will be \latexonly{$median + 0.5 \times standardDeviation$.}\latexignore{\emph{
+median + 0.5 x standardDeviation}.}
 
 \subsubsection{Full}
 This command resets the intensity scale to the full scale of the image.
@@ -268,14 +282,15 @@ and for some commands, also upon 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 the selection of a compatible image,
+same size as the active image. After the selection of 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.
+This command will generate a new image based on the current image. The new
+image can be scaled to any size. A dialog
+appears asking for the size of the new image. Bilinear interpolation
+is used when calculating the new image.
 
 \subsubsection{3-D Conversion}
 Generates a 3-dimensional view of the current phantom. This view can be
@@ -285,22 +300,32 @@ rotation is controlled by the \texttt{T} and \texttt{Y} keys. Other options
 are presented on the \texttt{View} menu and include:
 
 \begin{itemize}
-\item Surface plot versus wireframe
-\item Smooth shading versus flat shading
-\item Lighting on or off
-\item Color scale on or off
+\item Surface plot versus wireframe plot.
+\item Smooth shading versus flat shading.
+\item Lighting on or off.
+\item Color scale on or off.
 \end{itemize}
 
-\subsection{Filter}\index{Image filter}
-These commands filter and modify the image.
+\subsection{Filter}\index{Image!Filter}
+These commands filter and modify the image
 
 \subsubsection{Arithmetic}
-These are simple arithmetic functions that should be self-explanatory.
+These commands operate on the image on a pixel-by-pixel basis. The commands
+support both real and complex-valued images. The available arithmetic commards are:
+
+\begin{twocollist}
+  \twocolitem{\textbf{Invert}}{Negate pixel values.}
+  \twocolitem{\textbf{Log}}{Take natural logrithm of pixel values.}
+  \twocolitem{\textbf{Exp}}{Take natural exponent of pixel values.}
+  \twocolitem{\textbf{Square}}{Take square of pixel values.}
+  \twocolitem{\textbf{Square root}}{Take square root of pixel values.}
+\end{twocollist}
+
 
 \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}
+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.
 Similarly the inverse, \texttt{2-D IFFT}, will reorder the points from
 natural order to Fourier order before applying the inverse Fourier transformation.
@@ -310,6 +335,7 @@ images. Normally, only the real component is shown by \ctsim. However, \ctsim\ d
 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.
 
@@ -317,12 +343,20 @@ These commands are used for analyzing an image.
 The commands plot rows and columns of images. There are also commands
 that perform FFT and IFFT transformations prior to plotting.
 
-\subsubsection{Image Comparison}
+\subsubsection{Image Comparison}\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.
+This is quite helpful when comparing a phantom to a reconstruction.
+
+The three distance measures 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}
 
 \section{Projection Menus}
 
@@ -330,32 +364,31 @@ There are also commands for comparison plotting of rows and columns from two ima
 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
+\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}\index{Polar conversion}
+\subsection{Process - Convert Polar Dialog}\label{IDH_DLG_POLAR}\index{Polar conversion}
 Creates an image file with the polar conversion of the projection data. The options to set are:
 
 \begin{twocollist}
-\twocolitem{\textbf{xsize}}{Number of columns in output image.}
-\twocolitem{\textbf{ysize}}{Number of rows in output image.}
-\twocolitem{\textbf{interpolation}}{Selects the interpolation method.
+\twocolitem{\textbf{X Size}}{Number of columns in output image.}
+\twocolitem{\textbf{Y Ssize}}{Number of rows in output image.}
+\twocolitem{\textbf{Interpolation}}{Selects the interpolation method.
 Currently, the \texttt{bilinear} option provides the highest
 quality interpolation.}
 \end{twocollist}
 
 \subsection{Process - Convert FFT Polar Dialog}
-The parameters for this option are the same as \helprefn{Convert
+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{Reconstruct - Filtered Backprojection Dialog}\index{Reconstruction dialog}
+\subsection{Reconstruct - Filtered Backprojection Dialog}\label{IDH_DLG_RECONSTRUCTION}\index{Dialog!Reconstruction}
 This dialog sets the parameters for reconstructing an image from projections
-using the Filtered Backprojection technique.
-
+using the filtered backprojection technique. The parameters available are:
 
 \begin{twocollist}
 \twocolitem{\textbf{Filter}}{Selects which filter to apply to each
@@ -367,14 +400,20 @@ filters to use are:
 \item \texttt{abs\_bandlimit}
 \item \texttt{abs\_cosine}
 \item \texttt{abs\_hamming}
+\item \texttt{abs\_hanning}
 \end{itemize}
 } \twocolitem{\textbf{Hamming parameter}}{Sets the alpha level for
-Hamming   window. At setting of 0.54, this equals the Hanning
+Hamming window. This parameter adjusts the smoothing of the Hamming
+filter and can range from \texttt{0} to \texttt{1}.
+At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
+At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
 window.}
+\end{twocollist}
 
+\begin{twocollist}
 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
 For large numbers of detectors, \texttt{rfftw} is optimal. For
-smaller numbers of detectors, \texttt{convolution} might be a bit
+smaller numbers of detectors, \texttt{convolution} can be
 faster.
 \begin{itemize}\itemsep=0pt
 \item \texttt{convolution}
@@ -384,12 +423,11 @@ faster.
 \item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
 \end{itemize}
 }
-
 \twocolitem{\textbf{Interpolation}}{Interpolation technique.
 \texttt{cubic} is optimal when the
 data is smooth. Smooth data is obtained by taking many projections and/or
 using a smoothing filter. In the absence of smooth data, \texttt{linear} gives better results and
-is many times faster than cubic interpolation.
+is also many times faster than cubic interpolation.
 
 \begin{itemize}\itemsep=0pt
 \item nearest
@@ -399,7 +437,7 @@ is many times faster than cubic interpolation.
 }
 \end{twocollist}
 
-\subsection{Advanced Options}
+\textbf{Advanced Options}
 
 These options are only visible if \emph{Advanced Options} has been
 selected in the \texttt{File - Preferences} dialog. These parameters
@@ -413,7 +451,7 @@ technique. A setting of \texttt{idiff} is optimal.
 \item \texttt{trig} - Use trigometric functions at each image point.
 \item \texttt{table} - Use precalculated trigometric tables.
 \item \texttt{diff} - Use difference method to iterate within image.
-\item \texttt{idiff} - Use integer iteration math.
+\item \texttt{idiff} - Use integer iteration techique.
 \end{itemize}
 }
 
@@ -429,7 +467,8 @@ to select. With any of the frequency methods,
 
 \twocolitem{\textbf{Zeropad}}{Zeropad factor when using
 frequency-based filtering. A setting of \texttt{1} is optimal whereas
-a setting of \texttt{0} disables zero padding.}
+a setting of \texttt{0} disables zero padding. Settings greater than \texttt{1}
+perform larger amounts of zero padding but without any significant benefit.}
 
 \end{twocollist}
 
@@ -440,7 +479,7 @@ The displayed properties include:
 \begin{itemize}\itemsep=0pt
 \item the number of curves in the plot and the number of points per curve.
 \item the EZPlot commands used to format the plot are displayed.
-\item history labels from the originating image(s) and the plot function
+\item history labels from the originating image(s) and the plot function.
 \end{itemize}
 
 \subsection{View Menu}