r533: no message
[ctsim.git] / doc / ctsim-gui.tex
1 \chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}%
2 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
3 \ctsimfooter%
4
5
6 \section{Overview}
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.
15
16 \ctsim\ can open projection files, image files, phantom files, and
17 plot files.
18
19 \usage \texttt{ctsim [files to open...]}
20
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
23 automatically open.
24
25 \section{File Types Support}
26
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.
31
32 \subsection{Phantom}
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.
37
38 \subsection{Image}
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.
45
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.
49
50 When complex-valued images are viewed on the screen, only the real
51 component is displayed.
52
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
58 architectures.
59
60 \subsection{Plot}
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.
64
65 \section{Phantom Menus}
66
67 \subsection{Properties}
68 Displays the properties of a phantom which includes:
69
70 \begin{itemize}\itemsep=0pt
71 \item Overall dimensions of a phantom
72 \item A list of all component phantom elements
73 \end{itemize}
74
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
79 to set are:
80
81 \begin{twocollist}
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.}
89 \end{twocollist}
90
91 \subsection{Projection Dialog}
92 This creates a projection file from a phantom. The options
93 available when collecting projections are:
94
95 \begin{twocollist}
96 \twocolitem{\textbf{Geometry}}{
97   \begin{itemize}\itemsep=0pt
98     \item Parallel
99     \item Equiangular
100     \item Equilinear
101   \end{itemize}}
102 \twocolitem{\textbf{Number of detectors}}{Sets the number of
103 detectors in the detector array.}
104
105 \twocolitem{\textbf{Number of views}}{Sets the number of views
106 collected}
107
108 \twocolitem{\textbf{Samples per detector}}{Sets the number of
109 samples collected for each detector}
110
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
113 1.0 is fine.}
114
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
117 fine.}
118
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.
122
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.}
125 \end{twocollist}
126
127 \subsection{Advanced Options}
128 \begin{twocollist}
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.}
133 \end{twocollist}
134
135
136
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
144 \end{itemize}
145
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:
152
153 \begin{description}\itemsep=0pt
154 \item[PNG]Portable Network Graphics format. This uses 8-bits or
155 256 shades of gray.
156
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
160 UNIX systems.
161 \item[PGM]ASCII version of PGM.
162 \end{description}
163
164
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.
168 \subsubsection{Set}
169 \subsubsection{Auto}
170 \subsubsection{Full}
171 This resets the intensity scale to the full scale of the image.
172
173 \subsection{Image}
174 These commands create a new image based upon the current image,
175 and for some commands, also a comparison image.
176
177 \subsubsection{Add, Subtract, Multiply, Divide}
178
179 \subsubsection{Image Size}
180
181 \subsubsection{3-D Conversion}
182 Generates a 3-dimensional view of the current phantom.
183
184 \subsection{Filter}
185 These commands filter and modify the image.
186
187 \subsubsection{Arithmetic}
188
189 \subsubsection{Frequency Based}
190
191 \subsection{Analyze}
192 These commands are used for analyzing an image.
193
194 \subsubsection{Plotting}
195
196 \subsubsection{Image Comparison}
197
198 \section{Projection Menus}
199
200 \subsection{File - Properties}
201
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.
208
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
213 image.
214
215 \subsection{Reconstruct - Filtered Backprojection Dialog}
216 This dialog sets the parameters for reconstructing an image from projections
217 using the Filtered Backprojection technique.
218
219
220 \begin{twocollist}
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
225 frequency.
226 \begin{itemize}\itemsep=0pt
227 \item abs\_bandlimit
228 \item abs\_cosine
229 \item abs\_hamming
230 \end{itemize}
231 } \twocolitem{\textbf{Hamming parameter}}{Sets the alpha level for
232 Hamming   window. At setting of 0.54, this equals the Hanning
233 window.}
234
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
238 faster.
239 \begin{itemize}\itemsep=0pt
240 \item convolution
241 \item fourier
242 \item fourier\_table
243 \item fftw
244 \item rfftw
245 \end{itemize}
246 }
247
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.
252
253 \begin{itemize}\itemsep=0pt
254 \item nearest
255 \item linear
256 \item cubic
257 \end{itemize}
258 }
259 \end{twocollist}
260
261 \subsection{Advanced Options}
262
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
266 by expert users.
267
268 \begin{twocollist}
269 \twocolitem{\textbf{Backprojection}}{Selects the backprojection
270 technique. A setting of \texttt{idiff} is optimal.
271 \begin{itemize}\itemsep=0pt
272 \item trig
273 \item table
274 \item diff
275 \item idiff
276 \end{itemize}
277 }
278
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
284 \item direct
285 \item inverse-fourier
286 \end{itemize}
287 }
288
289 \twocolitem{\textbf{Zeropad}}{Zeropad factor when using
290 frequency-based filtering. A setting of \texttt{1} is optimal.}
291
292 \end{twocollist}
293
294 \section{Plot Menus}
295 \subsection{File - Properties}
296
297 \subsection{File - Save}
298 Plot files can be saved. They are saved in an ASCII text format.
299
300 \subsection{View Menu}
301 These commands set the scaling for the y-axis.
302 \subsubsection{Set}
303 \subsubsection{Auto}
304 \subsubsection{Full}