1 \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
6 \newcommand{\ctsim}{{\tt CTSim}}
7 \newcommand{\ctsimtext}{{\tt CTSimText}}
8 \newcommand{\usage}{{\bf Usage \par}}
10 \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
11 \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
12 \newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}%
13 \newcommand{\indexit}[1]{#1\index{#1}}%
14 \newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
17 %\backgroundcolour{255;255;255}\textcolour{0;0;0}% Has an effect in HTML only
18 \winhelpignore{\title{Manual for CTSim 3.0}%
19 \author{Kevin Rosenberg, M.D.}%
22 \winhelponly{\title{Manual for CTSim 3.0}%
23 \author{by Kevin Rosenberg, M.D.\\$$\image{1cm;0cm}{logo-huge.bmp}$$}%
28 \pagestyle{fancyplain}%
29 \bibliographystyle{plain}%
30 \pagenumbering{roman}%
31 \setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
32 \setfooter{\thepage}{}{}{}{}{\thepage}%
35 \chapter*{Copyright notice}%
36 \setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
37 \setfooter{\thepage}{}{}{}{}{\thepage}%
39 Copyright (c) 1983-2001 Kevin Rosenberg, M.D.
41 Permission to use, copy, modify, and distribute this software and its
42 documentation for any purpose is hereby granted without fee, provided that the
43 above copyright notice, author statement and this permission notice appear in
44 all copies of this software and related documentation.
46 THE SOFTWARE IS PROVIDED ``AS-IS'' AND WITHOUT WARRANTY OF ANY KIND, EXPRESS,
47 IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
48 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
50 IN NO EVENT SHALL KEVIN ROSENBERG BE LIABLE FOR ANY
51 SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR
52 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
53 WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
54 OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
55 PERFORMANCE OF THIS SOFTWARE.
57 \chapter{Introduction}\label{introduction}%
58 \pagenumbering{arabic}%
59 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
60 \setfooter{\thepage}{}{}{}{}{\thepage}%
62 Computed Tomography is a technique for estimating the interior of an object
63 from measurement of radiation collected around the object. This radiation
64 can be either projected through or emitted from the object.
65 \ctsim\ simulates the process of projecting X-rays through a phantom object.
66 \ctsim\ can then reconstruct the interior of the object from the projections
67 collected around the phantom object.
69 \chapter{Installation}\index{Installation}%
70 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
71 \setfooter{\thepage}{}{}{}{}{\thepage}%
73 \section{Download}\label{download}\index{Installation,Download}%
75 The latest version of CTSim, plus source code, can be accessed from:
82 It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI versions.
84 \section{Installing Linux RPM}\index{Installation,Linux}%
86 \section{Installing Windows Binary}\index{Installation,Windows}%
88 \section{Build From Sources}%\index{Installation,Build}%
90 See the INSTALL file included in the source distribution for instructions.
92 \section{Requirements}\index{Installation,Requirements}%
93 \begin{itemize}\itemsep=0pt
94 \item zlib Library (optional)
95 \par Used for PNG file export.
97 \item libpng Library (optional)
98 \par Used for PNG file export.
101 \item FFTW library (optional)
102 \par Used for frequency-based filtering and fourier transformations of images.
105 \item readline library (optional)
106 /par Used for {/ctsimtext} interactive shell.
108 \item dmalloc library (optional)
109 \par Used for debugging memory allocation
112 \item wxWindows library (optional)
113 \par Used for platform-independent graphical interface. The graphical-shell
114 program \ctsim\ requires this library.
115 \par www.wxwindows.org
119 \chapter{ctsim - the Graphical User Interface}\label{ctsim}\index{ctsim}%
120 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
121 \setfooter{\thepage}{}{}{}{}{\thepage}%
123 \ctsim\ is the graphical shell for the CTSim project. It is
124 written using the wxLibrary for cross-platform compatibility with GTK,
125 Motif, and Microsoft Windows. It includes all of the functionality of
126 the command-line tool {\tt ctsimtext} as well as image processing and visualization features.
128 \ctsim\ can open projection files, image files, phantom definition files, and plotfiles.
131 ctsim [OPTIONS] [files to open...]
133 \chapter{ctsimtext}\index{ctsimtext}%
134 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
135 \setfooter{\thepage}{}{}{}{}{\thepage}%
137 \ctsimtext\ is a master shell for all of the command-line utilities.
140 \ctsimtext\ can be executed without any parameters. In that case, \ctsimtext
141 offers a command-line to enter the function-names and their parameters. The output of the command is displayed. Further commands may be given to \ctsimtext. The shell is exited by the {\tt quit} command.
143 \ctsimtext\ can also be called to execute a single command. This is especially useful for batch files containing multiple \ctsimtext\ commands. This is invoked by calling {\tt ctsimtext function-name parameters...}.
145 The following function names are available:
147 \subsection{if1}\label{if1}\index{ctsimtext,if1}%
148 Perfoms math functions on a single image.
151 \begin{itemize}\itemsep=0pt
159 \subsection{if2}\index{ctsimtext,if2}%
160 Perfoms math functions on a two images.
163 \begin{itemize}\itemsep=0pt
172 \subsection{ifinfo}\index{ctsimtext,ifinfo}%
174 Displays information about an imagefile.
177 \begin{itemize}\itemsep=0pt
185 \subsection{ifexport}\index{ctsimtext,ifexport}%
186 Export an imagefile to a standard graphics file.
189 \begin{itemize}\itemsep=0pt
191 \begin{itemize}\itemsep=0pt
198 \begin{itemize}\itemsep=0pt
204 \begin{itemize}\itemsep=0pt
217 \subsection{phm2pj}\index{ctsimtext,phm2pj}%
218 Simulates collection of X-rays data (projections) around a phantom object.
221 phm2pj projection-file-name number-of-detectors number-of-views [options...]
222 \begin{itemize}\itemsep=0pt
224 Select a standard phantom
225 \begin{itemize}\itemsep=0pt
233 Load a phantom definition definition
236 \begin{itemize}\itemsep=0pt
243 Number of samples per each detector
246 Sets the rotation amount as a multiple of pi. For parallel geometries use
247 a rotation angle of 1 and for equilinear and equiangular geometries use a rotation angle of 2.
249 \item --field-of-view
250 Sets the field of view as a ratio of the diameter of the phantom. For parallel geometries, using a value of 1.0 is fine. For other geometies, this should be at least 1.3 to avoid artifacts.
253 Sets the distance of the radiation source and detectors from the center of the object as a ratio of the radius of the object. For parallel geometries, a value of 1.0 is fine. For other geometries, this should be at least 2.0 to avoid artifacts.
256 The Herman phantom is taken with permission from Gabor Hermans 1980 book\cite{HERMAN80}. The Shepp-Logan phantom was published in 1974\cite{SHEPP74}.
258 \subsection{phm2if}\index{ctsimtext,phm2if}%
259 Converts a geometric phantom object into an imagefile. The size of the
260 imagefile in pixels must be specified as well as the number of samples
261 to average per pixel.
264 \begin{itemize}\itemsep=0pt
268 \subsection{pj2if}\index{ctsimtext,pj2if}%
269 Convert a projection file into an imagefile.
272 \begin{itemize}\itemsep=0pt
275 \subsection{pjinfo}\index{ctsimtext,pjinfo}%
276 Displays information about a projection file.
279 \begin{itemize}\itemsep=0pt
287 \subsection{pjrec}\index{ctsimtext,pjrec}%
288 Reconstructs the interior of an object from a projection file.
291 \begin{itemize}\itemsep=0pt
293 Selects which filter to apply to each projection. To
294 properly reconstruct an image, this filter should be multiplied
295 by the absolute value of distance from zero frequency.
296 \begin{itemize}\itemsep=0pt
302 \item Filter Parameter
303 \par Sets the alpha level for Hamming
304 window. At setting of 0.54, this equals the Hanning window.
307 \begin{itemize}\itemsep=0pt
315 \item Filter Generation
316 \begin{itemize}\itemsep=0pt
318 \item inverse_fourier
322 \begin{itemize}\itemsep=0pt
328 \begin{itemize}\itemsep=0pt
338 \item Preinterpolation Factor
341 \chapter{The Web Browser CGI Interface}\index{Web Interface}%
342 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
343 \setfooter{\thepage}{}{}{}{}{\thepage}%
345 \section{Overview}\index{Web Interface,Overview}%
346 The CGI program {\tt ctsim.cgi} takes projections of a standard
347 phantom object, performs reconstruction, and then compares the
348 rasterized phantom object with the reconstruction. The comparison is
349 performed both visually by an image subtraction as well as by standard
350 statistics as described by Herman\cite{HERMAN80}.
352 \section{Requirements}\index{Web Interface,Requirements}%
353 \begin{itemize}\itemsep=0pt
354 \begin{itemize}\itemsep=0pt
355 \item Apache or other CGI compatible web server
357 \item Perl (version 4.0 or higher)
359 \item A client web browser than can display PNG files. Most
360 current web browsers support PNG.
365 \bibliographystyle{plain}
367 \addcontentsline{toc}{chapter}{Bibliography}
368 \setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
369 \setfooter{\thepage}{}{}{}{}{\thepage}%
371 \addcontentsline{toc}{chapter}{Index}
372 \setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
373 \setfooter{\thepage}{}{}{}{}{\thepage}%