Add regression verification script
[ctsim.git] / doc / ctsim-gui.tex
1 \chapter{The Graphical User Interface}\label{ctsim}\index{ctsim}\index{Graphical interface}%
2 \setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
3 \ctsimfooter%
4
5
6 \ctsim\ is the graphical shell for the CTSim project. This shell uses
7 the \urlref{wxWindows}{http://www.wxwindows.org} library for
8 cross-platform compatibility. The graphical shell is compatible with
9 Microsoft Windows, \urlref{GTK}{http://www.gtk.org}, and
10 \urlref{Motif}{http://www.openmotif.org} graphical environments.
11
12 \section{Starting CTSim}
13 \usage \texttt{ctsim [files to open...]}
14
15 You can invoke \ctsim\ by itself on the command line, or include any
16 number of files that you want \ctsim\ to automatically open. \ctsim\
17 can open projection files, image files, phantom files, and plot files.
18
19 On Microsoft Windows platforms, the simplest way to invoke \ctsim\ is
20 via the \emph{Start} menu under the \emph{Programs} sub-menu.
21
22 \section{Quick Start}\label{IDH_QUICKSTART}\index{Quick Start}
23 The fastest way to put \ctsim\ through it's basic operation is:
24 \begin{enumerate}\itemsep=0pt
25 \item \texttt{File - Create Phantom...} \\
26 This creates a window with the geometric phantom. Choose the \texttt{Herman} head phantom.
27 \item \texttt{Process - Rasterize...} \\
28 This creates an image file of the phantom by converting it from a
29 geometric definition into a rasterized image. You may use the defaults
30 shown in the dialog box.
31 \item \texttt{View - Auto...} \\
32 Use this command on the new rasterized image window. This will optimize the intensity scale for
33 viewing the soft-tissue details of the phantom. Select the \texttt{median} center and
34 a standard deviation factor of \texttt{0.1}.
35 \item \texttt{Process - Projections...} \\
36 Use this command on the geometric phantom window. This simulates the collection of x-ray
37 data. You may use the defaults shown in the dialog box. Additionally, you may wish to turn on
38 \texttt{Trace - Projections} to watch to x-ray data being simulated.
39 \item \texttt{Reconstruction - Filtered Backprojection...} \\
40 Use this command on the projection window. This will reconstruct an image
41 from the projections. Once again, you may use the defaults shown in the dialog box.
42 \item \texttt{View - Auto...} \\
43 Use this command on the new reconstructed image window. This will optimize the intensity scale for
44 viewing the soft-tissue details of the reconstruction. Select the \texttt{median} center and
45 a standard deviation factor of \texttt{0.1}.
46 \item \texttt{Analyze - Compare Images...} \\
47 Use this command on the rasterized phantom image window. This will bring up a dialog box
48 asking for the comparison image. Select the reconstruction image that you just made and also select the "Make difference image"
49 check box. You'll then see the image distance measurements and also a new window with the difference between the rasterized
50 phantom and the reconstruction.
51 \item \textbf{That's it!} You have just performed the basic operations with \ctsim. By varying the parameters of the rasterization,
52 projection, and reconstructions you perform endless computed tomography experiments. \ctsim\ also has many other visualization
53 and analysis features that you learn more about by reading the manual.
54 \end{enumerate}
55
56 \section{File Types}\index{File types}
57
58 \subsection{Phantom}
59 Besides loading phantom files from the disk, the Herman\cite{HERMAN80} and
60 Shepp-Logan\cite{SHEPP74} phantoms are built-in to \ctsim. Phantom files can be
61 read from and written to the disk. Phantom files are stored in a simple
62 ASCII format. A text editor is required to
63 create and edit these files.
64
65 \subsection{Image}
66 Image files contain 2-dimensional arrays that store 4-byte floating
67 point values. Images files can be either real or complex-valued.
68 Typically, all images are real-valued except for images that have been
69 processed by Fourier transforms. As you might expect,
70 complex-valued images are twice the size of real-valued images
71 since both a real and imaginary component need to be stored. When
72 complex-valued images are viewed on the screen, only the real
73 component is displayed.
74
75 Images files can    store any number of text labels. \ctsim\ uses
76 these labels for recording history information regarding
77 the creation and modifications of images.
78
79 \subsection{Projection}
80 Projection files are created from phantom files via the
81 projection process. Numerous options are available for the
82 creation of the these files. The files are stored in a binary
83 format with cross-platform compatibility on little and big-endian
84 architectures.
85
86 \subsection{Plot}
87 Plot files are created by \ctsim\ during analysis of image files.
88 They can be read from and written to the disk. They are stored as ASCII
89 files for easy cross-platform support and editing.
90
91 \section{Global Menu Commands}
92 These global commands are present on the menus of all windows.
93
94 \subsection{File - Create Phantom}\label{IDH_DLG_PHANTOM}\index{Dialog!Create phantom}
95 This command displays a dialog box showing the phantoms that are pre-programmed
96 into \ctsim. After selecting one of these phantoms, the new window with that
97 phantom will be generated. The pre-programmed phantoms are:
98
99 \begin{twocollist}
100 \twocolitem{\textbf{Herman}}{The Herman head phantom\cite{HERMAN80}}
101 \twocolitem{\textbf{Shepp-Logan}}{The head phantom of Shepp \& Logan\cite{SHEPP74}}
102 \twocolitem{\textbf{Unit pulse}}{A phantom that has a value of \texttt{1} for the
103 center of the phantom and \texttt{0} everywhere else.}
104 \end{twocollist}
105
106 \subsection{File - Create Filter}\label{IDH_DLG_FILTER}\index{Dialog!Create filter}
107 This command displays a dialog box showing the pre-programmed filters
108 of \ctsim. This command will create a 2-dimensional image of the selected filter.
109 The center of the filter is at the center of the image.
110
111 These filters can be created in their natural frequency domain or in their inverse
112 spatial domain.
113
114 \begin{twocollist}
115 \twocolitem{\textbf{Filter}}{Selects the filter to generate. The available filters are:
116
117 \begin{itemize}\itemsep=0pt
118 \item $|w|$ Bandlimit
119 \item $|w|$ Hamming
120 \item $|w|$ Hanning
121 \item $|w|$ Cosine
122 \item $|w|$ Sinc
123 \item Shepp
124 \item Bandlimit
125 \item Sinc
126 \item Hamming
127 \item Hanning
128 \item Cosine
129 \item Triangle
130 \end{itemize}
131 }
132 \twocolitem{\textbf{Domain}}{Selects either the \texttt{Frequency} or \texttt{Spatial} domain. The filters have the
133 frequency domain as their natural domain. The spatial domain is obtained either analytically or performing
134 an inverse Fourier transformation.}
135 \twocolitem{\textbf{X Size}}{Number of columns in the output image.}
136 \twocolitem{\textbf{Y Size}}{Number of rows in the output image.}
137 \twocolitem{\textbf{Hamming Parameter}}{ This parameter adjusts the smoothing of the Hamming
138 filter and can range from \texttt{0} to \texttt{1}.
139 At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
140 At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
141 window.}
142 \twocolitem{\textbf{Bandwidth}}{Sets the bandwidth of the filter.}
143 \end{twocollist}
144
145 \begin{twocollist}
146 \twocolitem{\textbf{Axis (input) Scale}}{Sets the scale for the filter input. By default, the input to the filter is
147 the distance in pixels from the center of the image. By changing this value, one can set a scale the input to the filter.
148 For example, if the output image is \texttt{101} by \texttt{101} pixels and thus the center of the image is at \texttt{(50,50)}, then a pixel
149 lying at point \texttt{100,50} would be 50 units from the center of the filter. By applying an \texttt{Axis scale} of
150 \texttt{0.1}, then that point would be scaled to 5 units from the center of the filter.}
151 \twocolitem{\textbf{Filter (output) Scale}}{Multiplies the output of the filter by this amount. By default, the filter has a maximum
152 value of \texttt{1}.}
153 \end{twocollist}
154
155 \subsection{File - Import}\label{IDH_DLG_IMPORT}
156 This command allows the importing of non-\ctsim\ file formats into
157 \ctsim.  \texttt{PPM} and \texttt{PNG} formats will be read into an
158 imagefile window. Color images will be converted to grayscale. If a
159 \texttt{DICOM} library was linked in with your version of \ctsim,
160 then you can also import \texttt{DICOM} projection files and image
161 files.
162
163 \subsection{File - Preferences}\label{IDH_DLG_PREFERENCES}\index{Dialog!Preferences}
164 This command displays a dialog box that allows users to control
165 the behavior of \ctsim. These options are saved across \ctsim\ sessions.
166 Under Microsoft Windows environments, they are stored in the registry.
167 On UNIX and Linux environments, they are stored in the user's home
168 directory with the filename of \texttt{.ctsim}.
169
170 \begin{twocollist}
171 \twocolitem{\textbf{Advanced options}}{This option is initially turned off in new installations.
172 These advanced options are not required for normal simulations. When \texttt{Advanced
173 Options} is set, \ctsim\ will display more options during scanning of phantoms and
174 the reconstruction of projections.}
175
176 \twocolitem{\textbf{Ask before closing new documents}}{This option is initially turned on in
177 new installations. With this option set, \ctsim\ will ask before closing
178 documents that have been modified or never saved on disk. By turning off
179 this option, \ctsim\ will never ask if you want to save a file -- you'll
180 be responsible for saving any files that you create.}
181
182 \twocolitem{\textbf{Verbose logging}}{This option is initially turned off in
183 new installations. With this option set, \ctsim\ will log more events than
184 usual. There extra events are not important for viewing with typical operation of
185 \ctsim.}
186
187 \twocolitem{\textbf{Show startup tips}}{This option is initially turned on in
188 new installations. With this option set, \ctsim\ will display
189 helpful tips when \ctsim\ is started.}
190
191 \twocolitem{\textbf{Run background tasks}}{This option is initially turned off in
192 new installations. With this option set, \ctsim\ execute lengthy calculations in the
193 background. A background window will appear when processes are running in the background
194 and will disappear when no background processes are executing. This background window shows
195 the status and progress of all background processes. 
196 \textbf{NOTE:} Due to limitations of \texttt{wxWindows}, this function is
197 only supported on Microsoft Windows.
198 }
199
200 \end{twocollist}
201
202 \subsection{File - Open}
203 This command opens a file section dialog box. Of special consideration
204 is the \texttt{File Type} combo box on the bottom of the dialog. You need
205 to set the this combo box to the type of file that you wish to open.
206
207 \subsection{File - Save}
208 This command saves the contents of the active window. If the window hasn't
209 been named, a dialog box will open asking for the file name to use.
210
211 \subsection{File - Close}
212 As one would expect, this closes the active window. If the contents of the window have not been
213 saved and the \emph{Advanced Preferences} option \texttt{Ask before closing new documents}
214 is turned on, then you will be prompted if decide if you want to save the contents of the window
215 prior to closing.
216
217 \subsection{File - Save As}
218 Allows the saving of the contents of the active window to any file name.
219
220 \subsection{Help - Contents}
221 This command displays the online help.
222
223 \subsection{Help - Tips}
224 This command displays a dialog with tips on using \ctsim.
225
226 \subsection{Help - Quick Start}
227 This command displays a recommend approach to helping new users learn to use \ctsim.
228
229 \subsection{Help - About}
230 This command shows the version number and operating environment of \ctsim.
231
232
233 \section{Phantom Menus}
234
235 \subsection{Properties}
236 Displays the properties of a phantom which includes:
237
238 \begin{itemize}\itemsep=0pt
239 \item Overall dimensions of a phantom
240 \item A list of all component phantom elements
241 \end{itemize}
242
243 \subsection{Process - Rasterize}\label{IDH_DLG_RASTERIZE}\index{Dialog!Rasterize}
244 This creates an image file from a phantom. Technically, it
245 converts the phantom from a vector (infinite resolution) object
246 into a 2-dimension array of floating-point pixels. The parameters
247 to set are:
248
249 \begin{twocollist}
250 \twocolitem{\textbf{X size}}{Number of columns in image file}
251 \twocolitem{\textbf{Y size}}{Number of rows in image file}
252 \twocolitem{\textbf{Samples per pixel}}{Numbers of samples taken
253 per pixel in both the x and y directions. For example, if the
254 \texttt{Samples per pixel} is set to \texttt{3}, then for every
255 pixel in the image file 9 samples \latexonly{($3\times3$)}\latexignore{(3 x 3)}
256 are averaged.}
257 \end{twocollist}
258
259 \subsection{Process - Projections}\label{IDH_DLG_PROJECTIONS}\index{Dialog!Projections}
260 This command creates a projection file from a phantom. The options
261 available when collecting projections are:
262
263 \begin{twocollist}
264 \twocolitem{\textbf{Geometry}}{Sets the scanner geometry. The available geometries are:
265   \begin{itemize}\itemsep=0pt
266     \item \texttt{Parallel}
267     \item \texttt{Equiangular}
268     \item \texttt{Equilinear}
269   \end{itemize}}
270 \twocolitem{\textbf{Number of detectors}}{Sets the number of
271 detectors in the detector array.}
272
273 \twocolitem{\textbf{Number of views}}{Sets the number of views
274 to collect.}
275
276 \twocolitem{\textbf{Samples per detector}}{Sets the number of
277 samples collected for each detector.}
278
279 \twocolitem{\textbf{View Ratio}}{Sets the field of view as a ratio
280 of the diameter of the phantom.  For normal scanning, use a value of
281 \texttt{1.0}.}
282
283 \twocolitem{\textbf{Scan Ratio}}{Sets the length of scanning as a
284 ratio of the view diameter. For normal scanning, use a value of \texttt{1.0}.}
285
286 \twocolitem{\textbf{Focal length ratio}}{Sets the distance between the
287 radiation source and the center of the phantom as a
288 ratio of the radius of the phantom. For parallel geometries, a value
289 of \texttt{1.0} is optimal. For other
290 geometries, this should be at least \texttt{2.0} to avoid artifacts.}
291 \end{twocollist}
292
293 \textbf{Advanced Options}
294
295 These options are visible only if \emph{Advanced Options} has been
296 selected in the \texttt{File - Preferences} dialog. These parameters
297 default to optimal settings and don't need to be adjusted except
298 by expert users.
299
300 \begin{twocollist}
301 \twocolitem{\textbf{Rotation Angle}}{Sets the rotation amount as a
302 fraction of a circle. For parallel geometries use a rotation angle of \texttt{0.5}
303 and for equilinear and equiangular geometries use a rotation angle
304 of \texttt{1}. Using any other rotation angle will lead to artifacts.}
305 \end{twocollist}
306
307
308
309 \section{Image Menus}
310 \subsection{File - Properties}
311 Properties of image files include:
312 \begin{itemize}\itemsep=0pt
313   \item Whether the image is real or complex-valued.
314   \item Numeric statistics (minimum, maximum, mean, median, mode, and standard deviation).
315   \item History labels (text descriptions of the processing for this image).
316 \end{itemize}
317
318 \subsection{File - Export}\label{IDH_DLG_EXPORT}\index{Image!Export}
319 This command allows for exporting image files to a standard
320 graphics file format. This is helpful when you want to take an
321 image and import it into another application. The current
322 \helprefn{intensity scale}{intensityscale} is used when exporting
323 the file. The supported graphic formats are:
324
325 \begin{twocollist}
326 \twocolitem{\textbf{PNG}}{Portable Network Graphics format. This uses 8-bits or
327 256 shades of gray.}
328 \twocolitem{\textbf{PNG-16}}{This is a 16-bit version of PNG which allows for
329 65536 shades of gray.}
330 \twocolitem{\textbf{PGM}}{Portable Graymap format. This is a common format used on
331 UNIX systems.}
332 \twocolitem{\textbf{PGM ASCII}}{ASCII version of PGM.}
333 \end{twocollist}
334
335
336 \subsection{View}
337 \subsubsection{Intensity Scale}\label{intensityscale}\index{Intensity scale}
338 These commands are used change the intensity scale for viewing the image.
339 These commands do not change the image data. When the minimum value is
340 set, then the color pure black is assigned to that image value. Similarly,
341 when the maximum value is set, the the color pure white is assigned to that
342 image value.
343
344 Changing the intensity scale is useful when examining different image features.
345 In clinical medicine, the intensity scale is often changed to examine bone
346 (high value) versus soft-tissue (medium value) features.
347
348 \subsubsection{Set}\label{IDH_DLG_MINMAX}
349 This command displays a dialog box that sets the lower
350 and upper values to display.
351
352 \subsubsection{Auto}\label{IDH_DLG_AUTOSCALE}\index{Auto scale}
353 This command displays a dialog box that allows \ctsim\ to automatically
354 make an intensity scale. The parameters that \ctsim\ needs to make this
355 automatic scale are:
356
357 \begin{twocollist}
358 \twocolitem{\textbf{Center}}{This sets the center of the intensity scale. Currently,
359 \ctsim\ allows you to use either the mean, mode, or median of the image
360 as the center of the intensity scale.}
361
362 \twocolitem{\textbf{Width}}{This sets the half-width of the intensity scale. The half-width
363 is specified as a multiple of the standard deviation.}
364 \end{twocollist}
365
366 As an example, if \texttt{median} is selected as the center and
367 \texttt{0.5} is selected as the width, the the minimum value will
368 be \latexonly{$median - 0.5 \times standardDeviation$}\latexignore{\emph{median - 0.5 x standardDeviation}}
369 and the maximum value will be \latexonly{$median + 0.5 \times standardDeviation$.}\latexignore{\emph{
370 median + 0.5 x standardDeviation}.}
371
372 \subsubsection{Full}
373 This command resets the intensity scale to the full scale of the image.
374
375 \subsection{Image}
376 These commands create a new image based upon the current image,
377 and for some commands, also upon a comparison image.
378
379 \subsubsection{Add, Subtract, Multiply, Divide}
380 These are simple arithmetic operations. \ctsim\ will display a dialog
381 box showing all of the currently opened image files that are the
382 same size as the active image. After the selection of a compatible image,
383 \ctsim\ will perform the arithmetic operation on the two images and
384 make a new result image.
385
386 \subsubsection{Image Size}
387 This command will generate a new image based on the current image. The new
388 image can be scaled to any size. A dialog
389 appears asking for the size of the new image. Bilinear interpolation
390 is used when calculating the new image.
391
392 \subsubsection{3-D Conversion}
393 This command generates a 3-dimensional view of the current phantom. This view can be
394 rotated in three dimensions. The left and right arrow control the z-axis
395 rotation and the up and down arrows control the x-axis rotation. The y-axis
396 rotation is controlled by the \texttt{T} and \texttt{Y} keys. Other options
397 are presented on the \texttt{View} menu and include:
398
399 \begin{itemize}\itemsep=0pt
400 \item Surface plot versus wireframe plot.
401 \item Smooth shading versus flat shading.
402 \item Lighting on or off.
403 \item Color scale on or off.
404 \end{itemize}
405
406 \subsection{Filter}\index{Image!Filter}
407 These commands filter and modify the image
408
409 \subsubsection{Arithmetic}
410 These commands operate on the image on a pixel-by-pixel basis. The commands
411 support both real and complex-valued images. The available arithmetic commards are:
412
413 \begin{twocollist}
414   \twocolitem{\textbf{Invert}}{Negate pixel values.}
415   \twocolitem{\textbf{Log}}{Take natural logrithm of pixel values.}
416   \twocolitem{\textbf{Exp}}{Take natural exponent of pixel values.}
417   \twocolitem{\textbf{Square}}{Take square of pixel values.}
418   \twocolitem{\textbf{Square root}}{Take square root of pixel values.}
419 \end{twocollist}
420
421
422 \subsubsection{Frequency Based}
423 These commands perform Fourier and inverse Fourier transformations of
424 images. By default, the transformations will automatically convert
425 images between Fourier to natural orders as expected. For example, \texttt{2-D FFT}
426 will transform the points into natural order after the Fourier transform.
427 Similarly the inverse, \texttt{2-D IFFT}, will reorder the points from
428 natural order to Fourier order before applying the inverse Fourier transformation.
429
430 As you would expect, images that undergo frequency filtering will be complex-valued
431 after than filtering. Only the real component is shown by \ctsim. However, \ctsim\ does
432 have options for converting a complex-valued image into a real-valued image via
433 the \texttt{Magnitude} and \texttt{Phase} filtering commands.
434
435 The available frequency-based filtering commards are:
436
437 \begin{itemize}\itemsep=0pt
438 \item 2-D FFT
439 \item 2-D IFFT
440 \item FFT Rows
441 \item IFFT Rows
442 \item FFT Columns
443 \item IFFT Columns
444 \item 2-D Fourier
445 \item 2-D Inverse Fourier
446 \item Shuffle Fourier to Natural Order
447 \item Shuffle Natural to Fourier Order
448 \item Magnitude
449 \item Phase
450 \end{itemize}
451
452 \subsection{Analyze - Plot}
453 The commands plot rows and columns of images. There are commands
454 that perform FFT transformations prior to plotting. To select
455 the row or column to plot, click the left mouse button over the
456 desired cursor point.
457
458 The available plot commands are:
459 \begin{itemize}\itemsep=0pt
460 \item Plot Row
461 \item Plot Column
462 \item Plot Histogram
463 \item Plot FFT Row
464 \item Plot FFT Col
465 \end{itemize}
466
467 \subsection{Analyze - Compare}\label{IDH_DLG_COMPARISON}\index{Image!Comparison}
468 This command performs statistical comparisons between two images. An option
469 also exists for generating a difference image from the two input images.
470
471 The three distance measures reported are:
472 \begin{itemize}\itemsep=0pt
473 \item[] \textbf{$d$}\quad The normalized root mean squared distance measure.
474 \item[] \textbf{$r$}\quad The normalized mean absolute distance measure.
475 \item[] \textbf{$e$}\quad The worst case distance measure over a \latexonly{$2\times2$}\latexignore{\emph{2 x 2}} pixel area.
476 \end{itemize}
477
478 There are also commands for comparison plotting of rows and columns from two images.
479 This is quite helpful when comparing a phantom to a reconstruction. As with plotting
480 of rows and columns, click the left mouse button over the desired cursor point to
481 choose which row and column to plot.
482
483
484 \section{Projection Menus}
485
486 \subsection{File - Properties}
487 The displayed properties include:
488
489 \begin{itemize}\itemsep=0pt
490 \item Number of detectors in the projections.
491 \item Number of views.
492 \item The parameters used when generating the projections from the phantom.
493 \end{itemize}
494
495 \subsection{Process - Convert Rectangular}
496 The commands takes the projection data and creates an image file using
497 the projection data.
498
499 \subsection{Process - Convert Polar}\label{IDH_DLG_POLAR}\index{Polar conversion}
500 This command creates an image file with the polar conversion of the projection data.
501 The parameters to set are:
502
503 \begin{twocollist}
504 \twocolitem{\textbf{X Size}}{Number of columns in output image.}
505 \twocolitem{\textbf{Y Ssize}}{Number of rows in output image.}
506 \twocolitem{\textbf{Interpolation}}{Selects the interpolation method.
507 Currently, the \texttt{bilinear} option provides the highest
508 quality interpolation.}
509 \end{twocollist}
510
511 \subsection{Convert - Convert FFT Polar}
512 The parameters for this option are the same as the \helprefn{Convert
513 Polar Dialog}{convertpolardialog}. For this command, though, the
514 projections are Fourier transformed prior to conversion to polar
515 image.
516
517 \subsection{Convert - Interpolate to Parallel}
518 This command filters divergent projection data (equiangular or
519 equilinear) and interpolates (or rebins) to estimate the projection
520 data if the projections had been collected with parallel geometry.
521
522 \subsection{Analyze - Plot Histogram}
523 Plots a histogram of projection data attenuations.
524
525 \subsection{Analyze - Plot T-Theta Sampling}
526 Plots a 2-dimensional scattergram showing the \texttt{T} and
527 \texttt{Theta} values for each data point in the projection data.
528 This is especially instructive when scanning with divergent
529 geometries and the scan ratio is close to \texttt{1}.
530
531 \subsubsection{Theta Range}\label{IDH_DLG_THETA_RANGE}
532 This dialog box allows the constraint of Theta values for the
533 T-Theta Sampling scattergram. 
534
535 \subsection{Reconstruct - Filtered Backprojection}\label{IDH_DLG_RECONSTRUCTION}\index{Dialog!Reconstruction}
536 This command displays a dialog to set the parameters for reconstructing an image from projections
537 using the filtered backprojection technique. The parameters available are:
538
539 \begin{twocollist}
540 \twocolitem{\textbf{Filter}}{Selects the filter to apply to each
541 projection. To properly reconstruct an image, this filter should
542 consist of the the absolute value of distance from zero
543 frequency optionally multiplied by a smoothing filter. The optimal
544 filters to use are:
545 \begin{itemize}\itemsep=0pt
546 \item \texttt{abs\_bandlimit}
547 \item \texttt{abs\_hamming}
548 \item \texttt{abs\_hanning}
549 \item \texttt{abs\_cosine}
550 \end{itemize}
551 } \twocolitem{\textbf{Hamming parameter}}{Sets the alpha level for
552 Hamming window. This parameter adjusts the smoothing of the Hamming
553 filter and can range from \texttt{0} to \texttt{1}.
554 At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
555 At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
556 window.}
557 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
558 For large numbers of detectors, the FFT-based filters are preferred whereas for
559 smaller numbers of detectors \texttt{convolution} can be
560 faster. When \emph{Advanced Options} have been turned off, this menu only shows
561 the two basic choices: \texttt{convolution} and \texttt{FFT}. However, when
562 \emph{Advanced Options} have been turned on, additional selections are available as
563 discussed in the next section.
564 }
565 \twocolitem{\textbf{Interpolation}}{Interpolation technique during backprojection.
566 \texttt{cubic} has optimal quality when the
567 data is smooth. Smooth data is obtained by taking many projections and/or
568 using a smoothing filter. In the absence of smooth data, \texttt{linear} gives better results and
569 is also many times faster than cubic interpolation.
570
571 \begin{itemize}\itemsep=0pt
572 \item \texttt{nearest} - No interpolation, selects nearest point.
573 \item \texttt{linear} - Uses fast straight line interpolation.
574 \item \texttt{cubic} - Uses cubic interpolating polynomial.
575 \end{itemize}
576 }
577 \end{twocollist}
578
579 \textbf{Advanced Options}
580
581 These options are visible only if \emph{Advanced Options} has been
582 selected in the \texttt{File - Preferences} dialog. These parameters
583 default to optimal settings and don't need to be adjusted except
584 by expert users.
585
586 \begin{twocollist}
587 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
588 The general comments about this parameter given the previous section still apply.
589 With \emph{Advanced Options} on, the full set of filter methods are available:
590 \begin{itemize}\itemsep=0pt
591 \item \texttt{convolution}
592 \item \texttt{fourier} - Uses simple Fourier transform.
593 \item \texttt{fourier-table} - Optimizes Fourier transform by precalculating trigometric functions.
594 \item \texttt{fftw} - Uses complex-valued Fourier transform with the \emph{fftw} library.
595 \item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
596 \end{itemize}
597 }
598 \twocolitem{\textbf{Backprojection}}{Selects the backprojection
599 technique. A setting of \texttt{idiff} is optimal.
600 \begin{itemize}\itemsep=0pt
601 \item \texttt{trig} - Use trigometric functions at each image point.
602 \item \texttt{table} - Use precalculated trigometric tables.
603 \item \texttt{diff} - Use difference method to iterate within image.
604 \item \texttt{idiff} - Use integer iteration techique.
605 \end{itemize}
606 }
607
608 \twocolitem{\textbf{Filter Generation}}{Selects the filter
609 generation. With convolution, \texttt{direct} is the proper method
610 to select. With any of the frequency methods,
611 \texttt{inverse-fourier} is the best method.
612 \begin{itemize}\itemsep=0pt
613 \item \texttt{direct}
614 \item \texttt{inverse-fourier}
615 \end{itemize}
616 }
617
618 \twocolitem{\textbf{Zeropad}}{Zeropad factor when using
619 frequency-based filtering. A setting of \texttt{1} is optimal whereas
620 a setting of \texttt{0} disables zero padding. Settings greater than \texttt{1}
621 perform larger amounts of zero padding but without any significant benefit.}
622
623 \twocolitem{\textbf{ROI}}{These four settings control the
624 \textit{region of interest} for the reconstruction. The default values
625 match the dimensions of the entire phantom. By constraining the ROI to
626 be a smaller square, the reconstruction will be magnified.}
627
628 \end{twocollist}
629
630 \subsection{Reconstruct - Filtered Backprojection (Rebin to Parallel)}\label{IDH_DLG_RECONSTRUCTION_REBIN}\index{Dialog!ReconstructionRebin}
631 The command reconstructs the projection data via filtered backprojection
632 as described above. As opposed to the above command, this command also
633 rebins divergent projection data to parallel prior to reconstruction.
634 This greatly speeds reconstruction of divergent geometry projections.
635
636 \section{Plot Menus}
637 \subsection{File - Properties}
638 The displayed properties include:
639
640 \begin{itemize}\itemsep=0pt
641 \item the number of curves in the plot and the number of points per curve.
642 \item the EZPlot commands used to format the plot are displayed.
643 \item history labels from the originating image(s) and the plot function.
644 \end{itemize}
645
646 \subsection{View Menu}
647 These commands set the scaling for the y-axis. They are analogous
648 to the options used for setting the intensity scale for images.
649
650 \subsubsection{Set}
651 This command sets the upper and lower limits for the y-axis.
652
653 \subsubsection{Auto}
654 This command automatically sets the upper and lower limits for the
655 y-axis. Please refer to the image file \helpref{\texttt{View - Auto}}{IDH_DLG_AUTOSCALE}
656 documentation for the details.
657
658 \subsubsection{Full}
659 The command resets the upper and lower limits of the y-axis to the
660 minimum and maximum values of the curves.