r1883: *** empty log message ***
[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 - Preferences}\label{IDH_DLG_PREFERENCES}\index{Dialog!Preferences}
156 This command displays a dialog box that allows users to control
157 the behavior of \ctsim. These options are saved across \ctsim\ sessions.
158 Under Microsoft Windows environments, they are stored in the registry.
159 On UNIX and Linux environments, they are stored in the user's home
160 directory with the filename of \texttt{.ctsim}.
161
162 \begin{twocollist}
163 \twocolitem{\textbf{Advanced options}}{This option is initially turned off in new installations.
164 These advanced options are not required for normal simulations. When \texttt{Advanced
165 Options} is set, \ctsim\ will display more options during scanning of phantoms and
166 the reconstruction of projections.}
167
168 \twocolitem{\textbf{Ask before closing new documents}}{This option is initially turned on in
169 new installations. With this option set, \ctsim\ will ask before closing
170 documents that have been modified or never saved on disk. By turning off
171 this option, \ctsim\ will never ask if you want to save a file -- you'll
172 be responsible for saving any files that you create.}
173
174 \twocolitem{\textbf{Verbose logging}}{This option is initially turned off in
175 new installations. With this option set, \ctsim\ will log more events than
176 usual. There extra events are not important for viewing with typical operation of
177 \ctsim.}
178
179 \twocolitem{\textbf{Show startup tips}}{This option is initially turned on in
180 new installations. With this option set, \ctsim\ will display
181 helpful tips when \ctsim\ is started.}
182
183 \twocolitem{\textbf{Run background tasks}}{This option is initially turned off in
184 new installations. With this option set, \ctsim\ execute lengthy calculations in the
185 background. A background window will appear when processes are running in the background
186 and will disappear when no background processes are executing. This background window shows
187 the status and progress of all background processes. 
188 \textbf{NOTE:} Due to limitations of \texttt{wxWindows}, this function is
189 only supported on Microsoft Windows.
190 }
191
192 \end{twocollist}
193
194 \subsection{File - Open}
195 This command opens a file section dialog box. Of special consideration
196 is the \texttt{File Type} combo box on the bottom of the dialog. You need
197 to set the this combo box to the type of file that you wish to open.
198
199 \subsection{File - Save}
200 This command saves the contents of the active window. If the window hasn't
201 been named, a dialog box will open asking for the file name to use.
202
203 \subsection{File - Close}
204 As one would expect, this closes the active window. If the contents of the window have not been
205 saved and the \emph{Advanced Preferences} option \texttt{Ask before closing new documents}
206 is turned on, then you will be prompted if decide if you want to save the contents of the window
207 prior to closing.
208
209 \subsection{File - Save As}
210 Allows the saving of the contents of the active window to any file name.
211
212 \subsection{Help - Contents}
213 This command displays the online help.
214
215 \subsection{Help - Tips}
216 This command displays a dialog with tips on using \ctsim.
217
218 \subsection{Help - Quick Start}
219 This command displays a recommend approach to helping new users learn to use \ctsim.
220
221 \subsection{Help - About}
222 This command shows the version number and operating environment of \ctsim.
223
224
225 \section{Phantom Menus}
226
227 \subsection{Properties}
228 Displays the properties of a phantom which includes:
229
230 \begin{itemize}\itemsep=0pt
231 \item Overall dimensions of a phantom
232 \item A list of all component phantom elements
233 \end{itemize}
234
235 \subsection{Process - Rasterize}\label{IDH_DLG_RASTERIZE}\index{Dialog!Rasterize}
236 This creates an image file from a phantom. Technically, it
237 converts the phantom from a vector (infinite resolution) object
238 into a 2-dimension array of floating-point pixels. The parameters
239 to set are:
240
241 \begin{twocollist}
242 \twocolitem{\textbf{X size}}{Number of columns in image file}
243 \twocolitem{\textbf{Y size}}{Number of rows in image file}
244 \twocolitem{\textbf{Samples per pixel}}{Numbers of samples taken
245 per pixel in both the x and y directions. For example, if the
246 \texttt{Samples per pixel} is set to \texttt{3}, then for every
247 pixel in the image file 9 samples \latexonly{($3\times3$)}\latexignore{(3 x 3)}
248 are averaged.}
249 \end{twocollist}
250
251 \subsection{Process - Projections}\label{IDH_DLG_PROJECTIONS}\index{Dialog!Projections}
252 This command creates a projection file from a phantom. The options
253 available when collecting projections are:
254
255 \begin{twocollist}
256 \twocolitem{\textbf{Geometry}}{Sets the scanner geometry. The available geometries are:
257   \begin{itemize}\itemsep=0pt
258     \item \texttt{Parallel}
259     \item \texttt{Equiangular}
260     \item \texttt{Equilinear}
261   \end{itemize}}
262 \twocolitem{\textbf{Number of detectors}}{Sets the number of
263 detectors in the detector array.}
264
265 \twocolitem{\textbf{Number of views}}{Sets the number of views
266 to collect.}
267
268 \twocolitem{\textbf{Samples per detector}}{Sets the number of
269 samples collected for each detector.}
270
271 \twocolitem{\textbf{View Ratio}}{Sets the field of view as a ratio
272 of the diameter of the phantom.  For normal scanning, use a value of
273 \texttt{1.0}.}
274
275 \twocolitem{\textbf{Scan Ratio}}{Sets the length of scanning as a
276 ratio of the view diameter. For normal scanning, use a value of \texttt{1.0}.}
277
278 \twocolitem{\textbf{Focal length ratio}}{Sets the distance between the
279 radiation source and the center of the phantom as a
280 ratio of the radius of the phantom. For parallel geometries, a value
281 of \texttt{1.0} is optimal. For other
282 geometries, this should be at least \texttt{2.0} to avoid artifacts.}
283 \end{twocollist}
284
285 \textbf{Advanced Options}
286
287 These options are visible only if \emph{Advanced Options} has been
288 selected in the \texttt{File - Preferences} dialog. These parameters
289 default to optimal settings and don't need to be adjusted except
290 by expert users.
291
292 \begin{twocollist}
293 \twocolitem{\textbf{Rotation Angle}}{Sets the rotation amount as a
294 fraction of a circle. For parallel geometries use a rotation angle of \texttt{0.5}
295 and for equilinear and equiangular geometries use a rotation angle
296 of \texttt{1}. Using any other rotation angle will lead to artifacts.}
297 \end{twocollist}
298
299
300
301 \section{Image Menus}
302 \subsection{File - Properties}
303 Properties of image files include:
304 \begin{itemize}\itemsep=0pt
305   \item Whether the image is real or complex-valued.
306   \item Numeric statistics (minimum, maximum, mean, median, mode, and standard deviation).
307   \item History labels (text descriptions of the processing for this image).
308 \end{itemize}
309
310 \subsection{File - Export}\label{IDH_DLG_EXPORT}\index{Image!Export}
311 This command allows for exporting image files to a standard
312 graphics file format. This is helpful when you want to take an
313 image and import it into another application. The current
314 \helprefn{intensity scale}{intensityscale} is used when exporting
315 the file. The supported graphic formats are:
316
317 \begin{twocollist}
318 \twocolitem{\textbf{PNG}}{Portable Network Graphics format. This uses 8-bits or
319 256 shades of gray.}
320 \twocolitem{\textbf{PNG-16}}{This is a 16-bit version of PNG which allows for
321 65536 shades of gray.}
322 \twocolitem{\textbf{PGM}}{Portable Graymap format. This is a common format used on
323 UNIX systems.}
324 \twocolitem{\textbf{PGM ASCII}}{ASCII version of PGM.}
325 \end{twocollist}
326
327
328 \subsection{View}
329 \subsubsection{Intensity Scale}\label{intensityscale}\index{Intensity scale}
330 These commands are used change the intensity scale for viewing the image.
331 These commands do not change the image data. When the minimum value is
332 set, then the color pure black is assigned to that image value. Similarly,
333 when the maximum value is set, the the color pure white is assigned to that
334 image value.
335
336 Changing the intensity scale is useful when examining different image features.
337 In clinical medicine, the intensity scale is often changed to examine bone
338 (high value) versus soft-tissue (medium value) features.
339
340 \subsubsection{Set}\label{IDH_DLG_MINMAX}
341 This command displays a dialog box that sets the lower
342 and upper values to display.
343
344 \subsubsection{Auto}\label{IDH_DLG_AUTOSCALE}\index{Auto scale}
345 This command displays a dialog box that allows \ctsim\ to automatically
346 make an intensity scale. The parameters that \ctsim\ needs to make this
347 automatic scale are:
348
349 \begin{twocollist}
350 \twocolitem{\textbf{Center}}{This sets the center of the intensity scale. Currently,
351 \ctsim\ allows you to use either the mean, mode, or median of the image
352 as the center of the intensity scale.}
353
354 \twocolitem{\textbf{Width}}{This sets the half-width of the intensity scale. The half-width
355 is specified as a multiple of the standard deviation.}
356 \end{twocollist}
357
358 As an example, if \texttt{median} is selected as the center and
359 \texttt{0.5} is selected as the width, the the minimum value will
360 be \latexonly{$median - 0.5 \times standardDeviation$}\latexignore{\emph{median - 0.5 x standardDeviation}}
361 and the maximum value will be \latexonly{$median + 0.5 \times standardDeviation$.}\latexignore{\emph{
362 median + 0.5 x standardDeviation}.}
363
364 \subsubsection{Full}
365 This command resets the intensity scale to the full scale of the image.
366
367 \subsection{Image}
368 These commands create a new image based upon the current image,
369 and for some commands, also upon a comparison image.
370
371 \subsubsection{Add, Subtract, Multiply, Divide}
372 These are simple arithmetic operations. \ctsim\ will display a dialog
373 box showing all of the currently opened image files that are the
374 same size as the active image. After the selection of a compatible image,
375 \ctsim\ will perform the arithmetic operation on the two images and
376 make a new result image.
377
378 \subsubsection{Image Size}
379 This command will generate a new image based on the current image. The new
380 image can be scaled to any size. A dialog
381 appears asking for the size of the new image. Bilinear interpolation
382 is used when calculating the new image.
383
384 \subsubsection{3-D Conversion}
385 This command generates a 3-dimensional view of the current phantom. This view can be
386 rotated in three dimensions. The left and right arrow control the z-axis
387 rotation and the up and down arrows control the x-axis rotation. The y-axis
388 rotation is controlled by the \texttt{T} and \texttt{Y} keys. Other options
389 are presented on the \texttt{View} menu and include:
390
391 \begin{itemize}\itemsep=0pt
392 \item Surface plot versus wireframe plot.
393 \item Smooth shading versus flat shading.
394 \item Lighting on or off.
395 \item Color scale on or off.
396 \end{itemize}
397
398 \subsection{Filter}\index{Image!Filter}
399 These commands filter and modify the image
400
401 \subsubsection{Arithmetic}
402 These commands operate on the image on a pixel-by-pixel basis. The commands
403 support both real and complex-valued images. The available arithmetic commards are:
404
405 \begin{twocollist}
406   \twocolitem{\textbf{Invert}}{Negate pixel values.}
407   \twocolitem{\textbf{Log}}{Take natural logrithm of pixel values.}
408   \twocolitem{\textbf{Exp}}{Take natural exponent of pixel values.}
409   \twocolitem{\textbf{Square}}{Take square of pixel values.}
410   \twocolitem{\textbf{Square root}}{Take square root of pixel values.}
411 \end{twocollist}
412
413
414 \subsubsection{Frequency Based}
415 These commands perform Fourier and inverse Fourier transformations of
416 images. By default, the transformations will automatically convert
417 images between Fourier to natural orders as expected. For example, \texttt{2-D FFT}
418 will transform the points into natural order after the Fourier transform.
419 Similarly the inverse, \texttt{2-D IFFT}, will reorder the points from
420 natural order to Fourier order before applying the inverse Fourier transformation.
421
422 As you would expect, images that undergo frequency filtering will be complex-valued
423 after than filtering. Only the real component is shown by \ctsim. However, \ctsim\ does
424 have options for converting a complex-valued image into a real-valued image via
425 the \texttt{Magnitude} and \texttt{Phase} filtering commands.
426
427 The available frequency-based filtering commards are:
428
429 \begin{itemize}\itemsep=0pt
430 \item 2-D FFT
431 \item 2-D IFFT
432 \item FFT Rows
433 \item IFFT Rows
434 \item FFT Columns
435 \item IFFT Columns
436 \item 2-D Fourier
437 \item 2-D Inverse Fourier
438 \item Shuffle Fourier to Natural Order
439 \item Shuffle Natural to Fourier Order
440 \item Magnitude
441 \item Phase
442 \end{itemize}
443
444 \subsection{Analyze - Plot}
445 The commands plot rows and columns of images. There are commands
446 that perform FFT transformations prior to plotting. To select
447 the row or column to plot, click the left mouse button over the
448 desired cursor point.
449
450 The available plot commands are:
451 \begin{itemize}\itemsep=0pt
452 \item Plot Row
453 \item Plot Column
454 \item Plot Histogram
455 \item Plot FFT Row
456 \item Plot FFT Col
457 \end{itemize}
458
459 \subsection{Analyze - Compare}\label{IDH_DLG_COMPARISON}\index{Image!Comparison}
460 This command performs statistical comparisons between two images. An option
461 also exists for generating a difference image from the two input images.
462
463 The three distance measures reported are:
464 \begin{itemize}\itemsep=0pt
465 \item[] \textbf{$d$}\quad The normalized root mean squared distance measure.
466 \item[] \textbf{$r$}\quad The normalized mean absolute distance measure.
467 \item[] \textbf{$e$}\quad The worst case distance measure over a \latexonly{$2\times2$}\latexignore{\emph{2 x 2}} pixel area.
468 \end{itemize}
469
470 There are also commands for comparison plotting of rows and columns from two images.
471 This is quite helpful when comparing a phantom to a reconstruction. As with plotting
472 of rows and columns, click the left mouse button over the desired cursor point to
473 choose which row and column to plot.
474
475
476 \section{Projection Menus}
477
478 \subsection{File - Properties}
479 The displayed properties include:
480
481 \begin{itemize}\itemsep=0pt
482 \item Number of detectors in the projections.
483 \item Number of views.
484 \item The parameters used when generating the projections from the phantom.
485 \end{itemize}
486
487 \subsection{Process - Convert Rectangular}
488 The commands takes the projection data and creates an image file using
489 the projection data.
490
491 \subsection{Process - Convert Polar}\label{IDH_DLG_POLAR}\index{Polar conversion}
492 This command creates an image file with the polar conversion of the projection data.
493 The parameters to set are:
494
495 \begin{twocollist}
496 \twocolitem{\textbf{X Size}}{Number of columns in output image.}
497 \twocolitem{\textbf{Y Ssize}}{Number of rows in output image.}
498 \twocolitem{\textbf{Interpolation}}{Selects the interpolation method.
499 Currently, the \texttt{bilinear} option provides the highest
500 quality interpolation.}
501 \end{twocollist}
502
503 \subsection{Convert - Convert FFT Polar}
504 The parameters for this option are the same as the \helprefn{Convert
505 Polar Dialog}{convertpolardialog}. For this command, though, the
506 projections are Fourier transformed prior to conversion to polar
507 image.
508
509 \subsection{Convert - Interpolate to Parallel}
510 This command filters divergent projection data (equiangular or
511 equilinear) and interpolates (or rebins) to estimate the projection
512 data if the projections had been collected with parallel geometry.
513
514 \subsection{Analyze - Plot Histogram}
515 Plots a histogram of projection data attenuations.
516
517 \subsection{Analyze - Plot T-Theta Sampling}
518 Plots a 2-dimensional scattergram showing the \texttt{T} and
519 \texttt{Theta} values for each data point in the projection data.
520 This is especially instructive when scanning with divergent
521 geometries and the scan ratio is close to \texttt{1}.
522
523
524 \subsection{Reconstruct - Filtered Backprojection}\label{IDH_DLG_RECONSTRUCTION}\index{Dialog!Reconstruction}
525 This command displays a dialog to set the parameters for reconstructing an image from projections
526 using the filtered backprojection technique. The parameters available are:
527
528 \begin{twocollist}
529 \twocolitem{\textbf{Filter}}{Selects the filter to apply to each
530 projection. To properly reconstruct an image, this filter should
531 consist of the the absolute value of distance from zero
532 frequency optionally multiplied by a smoothing filter. The optimal
533 filters to use are:
534 \begin{itemize}\itemsep=0pt
535 \item \texttt{abs\_bandlimit}
536 \item \texttt{abs\_hamming}
537 \item \texttt{abs\_hanning}
538 \item \texttt{abs\_cosine}
539 \end{itemize}
540 } \twocolitem{\textbf{Hamming parameter}}{Sets the alpha level for
541 Hamming window. This parameter adjusts the smoothing of the Hamming
542 filter and can range from \texttt{0} to \texttt{1}.
543 At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
544 At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
545 window.}
546 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
547 For large numbers of detectors, the FFT-based filters are preferred whereas for
548 smaller numbers of detectors \texttt{convolution} can be
549 faster. When \emph{Advanced Options} have been turned off, this menu only shows
550 the two basic choices: \texttt{convolution} and \texttt{FFT}. However, when
551 \emph{Advanced Options} have been turned on, additional selections are available as
552 discussed in the next section.
553 }
554 \twocolitem{\textbf{Interpolation}}{Interpolation technique during backprojection.
555 \texttt{cubic} has optimal quality when the
556 data is smooth. Smooth data is obtained by taking many projections and/or
557 using a smoothing filter. In the absence of smooth data, \texttt{linear} gives better results and
558 is also many times faster than cubic interpolation.
559
560 \begin{itemize}\itemsep=0pt
561 \item \texttt{nearest} - No interpolation, selects nearest point.
562 \item \texttt{linear} - Uses fast straight line interpolation.
563 \item \texttt{cubic} - Uses cubic interpolating polynomial.
564 \end{itemize}
565 }
566 \end{twocollist}
567
568 \textbf{Advanced Options}
569
570 These options are visible only if \emph{Advanced Options} has been
571 selected in the \texttt{File - Preferences} dialog. These parameters
572 default to optimal settings and don't need to be adjusted except
573 by expert users.
574
575 \begin{twocollist}
576 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
577 The general comments about this parameter given the previous section still apply.
578 With \emph{Advanced Options} on, the full set of filter methods are available:
579 \begin{itemize}\itemsep=0pt
580 \item \texttt{convolution}
581 \item \texttt{fourier} - Uses simple Fourier transform.
582 \item \texttt{fourier-table} - Optimizes Fourier transform by precalculating trigometric functions.
583 \item \texttt{fftw} - Uses complex-valued Fourier transform with the \emph{fftw} library.
584 \item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
585 \end{itemize}
586 }
587 \twocolitem{\textbf{Backprojection}}{Selects the backprojection
588 technique. A setting of \texttt{idiff} is optimal.
589 \begin{itemize}\itemsep=0pt
590 \item \texttt{trig} - Use trigometric functions at each image point.
591 \item \texttt{table} - Use precalculated trigometric tables.
592 \item \texttt{diff} - Use difference method to iterate within image.
593 \item \texttt{idiff} - Use integer iteration techique.
594 \end{itemize}
595 }
596
597 \twocolitem{\textbf{Filter Generation}}{Selects the filter
598 generation. With convolution, \texttt{direct} is the proper method
599 to select. With any of the frequency methods,
600 \texttt{inverse-fourier} is the best method.
601 \begin{itemize}\itemsep=0pt
602 \item \texttt{direct}
603 \item \texttt{inverse-fourier}
604 \end{itemize}
605 }
606
607 \twocolitem{\textbf{Zeropad}}{Zeropad factor when using
608 frequency-based filtering. A setting of \texttt{1} is optimal whereas
609 a setting of \texttt{0} disables zero padding. Settings greater than \texttt{1}
610 perform larger amounts of zero padding but without any significant benefit.}
611
612 \twocolitem{\textbf{ROI}}{These four settings control the
613 \textit{region of interest} for the reconstruction. The default values
614 match the dimensions of the entire phantom. By constraining the ROI to
615 be a smaller square, the reconstruction will be magnified.}
616
617 \end{twocollist}
618
619 \subsection{Reconstruct - Filtered Backprojection (Rebin to Parallel)}\label{IDH_DLG_RECONSTRUCTION_REBIN}\index{Dialog!Reconstruction_Rebin}
620 The command reconstructs the projection data via filtered backprojection
621 as described above. As opposed to the above command, this command also
622 rebins divergent projection data to parallel prior to reconstruction.
623 This greatly speeds reconstruction of divergent geometry projections.
624
625 \section{Plot Menus}
626 \subsection{File - Properties}
627 The displayed properties include:
628
629 \begin{itemize}\itemsep=0pt
630 \item the number of curves in the plot and the number of points per curve.
631 \item the EZPlot commands used to format the plot are displayed.
632 \item history labels from the originating image(s) and the plot function.
633 \end{itemize}
634
635 \subsection{View Menu}
636 These commands set the scaling for the y-axis. They are analogous
637 to the options used for setting the intensity scale for images.
638
639 \subsubsection{Set}
640 This command sets the upper and lower limits for the y-axis.
641
642 \subsubsection{Auto}
643 This command automatically sets the upper and lower limits for the
644 y-axis. Please refer to the image file \helpref{\texttt{View - Auto}}{IDH_DLG_AUTOSCALE}
645 documentation for the details.
646
647 \subsubsection{Full}
648 The command resets the upper and lower limits of the y-axis to the
649 minimum and maximum values of the curves.