1 \chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}%
2 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
7 \ctsim\ is the graphical shell for the CTSim project. It utilizes
8 using the \urlref{wxWindows}{http://www.wxwindows.org} library for
9 cross-platform compatibility. The graphical shell is compatible
10 with Microsoft Windows, \urlref{GTK}{http://www.gtk.org}, and
11 \urlref{Motif}{http://www.openmotif.org} graphical environments.
12 This graphical includes all of the functionality of the
13 command-line interface \helprefn{\ctsimtext}{ctsimtext} as well as
14 great image processing and visualization features.
16 \ctsim\ can open projection files, image files, phantom files, and
19 \usage \texttt{ctsim [files to open...]}
21 You can invoke \ctsim\ by itself on the command line, or include
22 on the command-line any number of files that you want \ctsim\ to
25 \section{File Types Support}
27 Phantom and plot files are stored as ASCII text. In contrast,
28 image and projection files are stored in binary format. \ctsim
29 incorporates logic so that binary files are cross-platform
30 compatible between both little and big endian architectures.
33 Besides loading phantom files from the disk, the Herman and
34 Shepp-Logan phantoms are built-in to \ctsim. Phantom files can be
35 read and stored on the disk. However, a text editor is required to
36 create and edit these files.
39 Image files are 2-dimensional files that store 4-byte floating
40 point values. Images files can be either real or complex valued.
41 Typically, all images are real except for images that have been
42 processed by Fourier transforms. As you might expect,
43 complex-valued images are twice the size of real-valued images
44 since both a real and imaginary component need to be store.
46 Images files can also store any number of text labels. \ctsim\ uses
47 these labels for storing history information regarding
48 the creation and modifications of images.
50 When complex-valued images are viewed on the screen, only the real
51 component is displayed.
53 \subsection{Projection}
54 Projection files are created from Phantom files during the
55 projection process. Numerous options are available for the
56 creation of the these files. The files are stored in a binary
57 format with cross-platform compatibility on little and big endian
61 Plot files are created by \ctsim\ during analysis of image files.
62 They can be read and stored on the disk. They are stored as ASCII
63 files for easy cross-platform support.
65 \section{Phantom Menus}
67 \subsection{Properties}
68 Displays the properties of a phantom which includes:
70 \begin{itemize}\itemsep=0pt
71 \item Overall dimensions of a phantom
72 \item A list of all component phantom elements
75 \subsection{Rasterize Dialog}
76 This creates an image file from a phantom. Technically, it
77 converts the phantom from a vector (infinite resolution) object
78 into a 2-dimension array of floating-point pixels. The parameters
82 \twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
83 \twocolitem{\texttt{X size}}{Number of columns in image file}
84 \twocolitem{\texttt{Y size}}{Number of rows in image file}
85 \twocolitem{\texttt{Samples per pixel}}{Numbers of samples taken
86 per pixel in both the x and y directions. For example, if the
87 \texttt{Samples per pixel} is set to \texttt{3}, then for every
88 pixel in the image file 9 samples (3 x 3) are averaged.}
91 \subsection{Projection Dialog}
92 This creates a projection file from a phantom. The options
93 available when collecting projections are:
96 \twocolitem{\textbf{Geometry}}{
97 \begin{itemize}\itemsep=0pt
102 \twocolitem{\textbf{Number of detectors}}{Sets the number of
103 detectors in the detector array.}
105 \twocolitem{\textbf{Number of views}}{Sets the number of views
108 \twocolitem{\textbf{Samples per detector}}{Sets the number of
109 samples collected for each detector}
111 \twocolitem{\textbf{View Ratio}}{Sets the field of view as a ratio
112 of the diameter of the phantom. For normal scanning, a value of
115 \twocolitem{\textbf{Scan Ratio}}{Sets the length of scanning as a
116 ratio of the view diameter. For normal scanning, a value of 1.0 is
119 \twocolitem{\textbf{Focal length ratio}}{Sets the distance of the
120 radiation source and detectors from the center of the object as a
121 ratio of the radius of the object.
123 For parallel geometries, a value of 1.0 is fine. For other
124 geometries, this should be at least 2.0 to avoid artifacts.}
127 \subsection{Advanced Options}
129 \twocolitem{\textbf{Rotation Angle}}{Sets the rotation amount as a
130 multiple of pi. For parallel geometries use a rotation angle of 1
131 and for equilinear and equiangular geometries use a rotation angle
132 of 2. Using any other rotation angle will lead to artifacts.}
137 \section{Image Menus}
138 \subsection{File - Properties}
139 Properties of image files include
140 \begin{itemize}\itemsep=0pt
141 \item Whether the image is real or complex valued
142 \item Numeric statistics
143 \item Image file labels
146 \subsection{File - Export}
147 This command allows for exporting image files to a standard
148 graphics file format. This is helpful when you want to take an
149 image and import it into another application. The current
150 \helprefn{intensity scale}{intensityscale} is used when exporting
151 the file. The support file formats are:
153 \begin{description}\itemsep=0pt
154 \item[PNG]Portable Network Graphics format. This uses 8-bits or
157 \item[PNG-16]This is a 16-bit version of PNG which allows for
158 65536 shades of gray.
159 \item[PGM]Portable Graymap format. This is a common format used on
161 \item[PGM]ASCII version of PGM.
165 \subsection{View}\label{intensityscale}
166 These options are for change the intensity scale for viewing the image.
167 They do not change the image data.
171 This resets the intensity scale to the full scale of the image.
174 These commands create a new image based upon the current image,
175 and for some commands, also a comparison image.
177 \subsubsection{Add, Subtract, Multiply, Divide}
179 \subsubsection{Image Size}
181 \subsubsection{3-D Conversion}
182 Generates a 3-dimensional view of the current phantom.
185 These commands filter and modify the image.
187 \subsubsection{Arithmetic}
189 \subsubsection{Frequency Based}
192 These commands are used for analyzing an image.
194 \subsubsection{Plotting}
196 \subsubsection{Image Comparison}
198 \section{Projection Menus}
200 \subsection{File - Properties}
202 \subsection{Process - Convert Polar Dialog}\label{convertpolardialog}
203 The parameters are \texttt{xsize}, \texttt{ysize}, and \texttt{interpolation}.
204 The \texttt{xsize} and \texttt{ysize} parameters set the size of the
205 resulting image file. The \texttt{interpolation} parameter selects the
206 interpolation method. Currently, the \texttt{bilinear} option provides
207 the highest quality interpolation.
209 \subsection{Process - Convert FFT Polar Dialog}
210 The parameters for this option are the same as \helprefn{Convert
211 Polar Dialog}{convertpolardialog}. For this command, though, the
212 projections are Fourier transformed prior to conversion to polar
215 \subsection{Reconstruct - Filtered Backprojection Dialog}
216 This dialog sets the parameters for reconstructing an image from projections
217 using the Filtered Backprojection technique.
221 \twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
222 \twocolitem{\textbf{Filter}}{Selects which filter to apply to each
223 projection. To properly reconstruct an image, this filter should
224 be multiplied by the absolute value of distance from zero
226 \begin{itemize}\itemsep=0pt
231 } \twocolitem{\textbf{Hamming parameter}}{Sets the alpha level for
232 Hamming window. At setting of 0.54, this equals the Hanning
235 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
236 For large numbers of detectors, \texttt{rfftw} is optimal. For
237 smaller numbers of detectors, \texttt{convolution} might be a bit
239 \begin{itemize}\itemsep=0pt
248 \twocolitem{\textbf{Interpolation}}{Interpolation technique.
249 \texttt{cubic} is optimal when many projections are taken and the
250 data is smooth. Otherwise, \texttt{linear} gives better results.
251 Linear is also much faster than cubic interpolation.
253 \begin{itemize}\itemsep=0pt
261 \subsection{Advanced Options}
263 These options are only visible if \emph{Advanced Options} has been
264 selected in the \texttt{File/Preferences} dialog. These parameters
265 default to optimal settings and don't need to be adjusted except
269 \twocolitem{\textbf{Backprojection}}{Selects the backprojection
270 technique. A setting of \texttt{idiff} is optimal.
271 \begin{itemize}\itemsep=0pt
279 \twocolitem{\textbf{Filter Generation}}{Selects the filter
280 generation. With convolution, \texttt{direct} is the proper method
281 to select. With any of the frequency methods,
282 \texttt{inverse-fourier}is the best method.
283 \begin{itemize}\itemsep=0pt
285 \item inverse-fourier
289 \twocolitem{\textbf{Zeropad}}{Zeropad factor when using
290 frequency-based filtering. A setting of \texttt{1} is optimal.}
295 \subsection{File - Properties}
297 \subsection{File - Save}
298 Plot files can be saved. They are saved in an ASCII text format.
300 \subsection{View Menu}
301 These commands set the scaling for the y-axis.