r407: no message
[ctsim.git] / doc / tex2rtf / ctsim.tex
1 \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
2 %\input{psbox.tex}
3 \usepackage{times}
4 \usepackage{hyperref}
5
6 \newcommand{\ctsim}{{\it CTSim}}
7 \newcommand{\ctsimtext}{{\it CTSimText}}
8
9 \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
10 \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
11 \newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}%
12 \newcommand{\indexit}[1]{#1\index{#1}}%
13 \newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
14 \parskip=10pt%
15 \parindent=0pt%
16 %\backgroundcolour{255;255;255}\textcolour{0;0;0}% Has an effect in HTML only
17 \winhelpignore{\title{Manual for CTSim 3.0}%
18 \author{Kevin Rosenberg, M.D.}%
19 \date{January 2001}%
20 }%
21 \winhelponly{\title{Manual for CTSim 3.0}%
22 \author{by Julian Smart\\$$\image{1cm;0cm}{tex2rtf.wmf}$$}%
23 }%
24 \makeindex%
25 \begin{document}%
26 \maketitle%
27 \pagestyle{fancyplain}%
28 \bibliographystyle{plain}%
29 \pagenumbering{roman}%
30 \setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
31 \setfooter{\thepage}{}{}{}{}{\thepage}%
32 \tableofcontents%
33
34 \chapter*{Copyright notice}%
35 \setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
36 \setfooter{\thepage}{}{}{}{}{\thepage}%
37
38 Copyright (c) 1983-2001 Kevin Rosenberg, M.D.
39
40 Permission to use, copy, modify, and distribute this software and its
41 documentation for any purpose is hereby granted without fee, provided that the
42 above copyright notice, author statement and this permission notice appear in
43 all copies of this software and related documentation.
44
45 THE SOFTWARE IS PROVIDED ``AS-IS'' AND WITHOUT WARRANTY OF ANY KIND, EXPRESS,
46 IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
47 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
48
49 IN NO EVENT SHALL KEVIN ROSENBERG BE LIABLE FOR ANY
50 SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR
51 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
52 WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
53 OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
54 PERFORMANCE OF THIS SOFTWARE.
55
56 \chapter{Introduction}%
57 \pagenumbering{arabic}%
58 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
59 \setfooter{\thepage}{}{}{}{}{\thepage}%
60
61 Computed Tomography is a technique for estimating the interior of an object 
62 from measurement of radiation collected around the object. This radiation 
63 can be either projected through or emitted from the object.
64 \ctsim simulates the process of projecting X-rays through a phantom object.
65 \ctsim can then reconstruct the interior of the object from the projections
66 collected around the phantom object.
67
68 \chapter{Installation}\index{Installation}%
69 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
70 \setfooter{\thepage}{}{}{}{}{\thepage}%
71
72 \section{Download}%\index{Installation,Download}%
73
74 The latest version of CTSim, plus source code, can be accessed from:
75
76 \begin{verbatim}
77 http://www.ctsim.org
78 ftp://ftp.ctsim.org
79 \end{verbatim}
80
81 It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI versions.
82
83 \section{Installing Linux RPM}\index{Installation,Linux}%
84
85 \section{Installing Windows Binary}\index{Installation,Windows}%
86
87 \section{Build From Sources}%\index{Installation,Build}%
88
89 See the INSTALL file included in the source distribution for instructions.
90
91 \section{Requirements}\index{Installation,Build,Requirements}%
92   \item Building CTSim
93   \begin{itemize}\itemsep=0pt
94   \item zlib Library (optional)
95         \par Used for PNG file export.
96
97   \item libpng Library (optional)
98         \par Used for PNG file export.
99         \par www.libpng.org
100
101   \item FFTW library (optional)
102         \par Used for frequency-based filtering and fourier transformations of images.
103         \par www.fftw.org
104
105   \item readline library (optional)
106         /par Used for {/ctsimtext} interactive shell.
107
108   \item dmalloc library (optional)
109         \par Used for debugging memory allocation
110         \par www.dmalloc.com
111
112   \item wxWindows library (optional) \par Used for
113   platform-independent graphical interface. The graphical-shell
114   program \ctsim requires this library.  \par www.wxwindows.org
115
116   \end{itemize}
117 \end{itemize}
118
119 \chapter{ctsim - the Graphical User Interface}%\index{ctsim}% 
120 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
121 \setfooter{\thepage}{}{}{}{}{\thepage}%
122
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.
127
128 \section{Usage}
129 ctsim [OPTIONS] [files to open...]
130
131 \ctsim can open projection files, image files, phantom definition files, and plotfiles.
132
133 \chapter{ctsimtext - The Command Line Interface}\index{ctsimtext}%
134 \ctsimtext is a master shell for all of the command-line utilities. 
135 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
136 \setfooter{\thepage}{}{}{}{}{\thepage}%
137
138 \section{Usage}%
139
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.
142
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...}.
144
145 The following function names are available:
146
147 \subsection{if1}\index{Programs,ctsimtext,if1}%
148 Perfoms math functions on a single image.
149
150 \subsubsection{Usage}%
151 \begin{itemize}\itemsep=0pt
152   \item --invert
153   \item --log
154   \item --exp
155   \item --sqr
156   \item --sqrt
157 \end{itemize}
158
159 \subsection{if2}\index{Programs,ctsimtext,if2}%
160 Perfoms math functions on a two images.
161
162 \subsubsection{Usage}%
163 \begin{itemize}\itemsep=0pt
164   \item --add
165   \item --sub
166   \item --mul
167   \item --comp
168   \item --column-plot
169   \item --row-plot
170 \end{itemize}
171
172 \subsection{ifinfo}\index{Programs,ctsimtext,ifinfo}%
173
174 Displays information about an imagefile.
175 \subsubsection{Usage}%
176 \begin{itemize}\itemsep=0pt
177   \item --labels
178   \item --no-labels
179   \item --stats
180   \item --no-stats
181   \item --help
182 \end{itemize}
183
184 \subsection{ifexport}\index{Programs,ctsimtext,ifexport}%
185 Export an imagefile to a standard graphics file.
186
187 \subsubsection{Usage}%
188 \begin{itemize}\itemsep=0pt
189   \item --format
190   \begin{itemize}\itemsep=0pt
191     \item --pgm
192     \item --pgmasc
193     \item --png
194     \item --png16
195   \end{itemize}
196   \item --center
197   \begin{itemize}\itemsep=0pt
198     \item median
199     \item mode
200     \item mean
201   \end{itemize}
202   \item --auto
203   \begin{itemize}\itemsep=0pt
204      \item --full
205      \item --std0.1
206      \item --std0.5
207      \item --std1
208      \item --std2
209      \item --std3
210   \end{itemize}
211   \item --scale
212   \item --min
213   \item --max
214 \end{itemize}
215
216 \subsection{phm2pj}\index{Programs,ctsimtext,phm2pj}%
217 Simulates collection of X-rays data (projections) around a phantom object.
218
219 \subsubsection{Usage}%
220 phm2pj projection-file-name number-of-detectors number-of-views [options...]
221 \begin{itemize}\itemsep=0pt
222   \item --phantom
223   Select a standard phantom 
224   \begin{itemize}\itemsep=0pt
225     \item herman
226     \item herman-b
227     \item shepp-logan
228     \item shepp-logan-b
229   \end{itemize}
230
231   \item --phmfile
232   Load a phantom definition definition
233
234   \item --geometry
235   \begin{itemize}\itemsep=0pt
236     \item parallel
237     \item equiangular
238     \item equilinear
239   \end{itemize}
240
241   \item --nray
242     Number of samples per each detector
243
244   \item --rotangle
245     Sets the rotation amount as a multiple of pi. For parallel geometries use
246 a rotation angle of 1 and for equilinear and equiangular geometries use a rotation angle of 2.
247
248   \item --field-of-view
249     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.
250
251   \item --focal-length
252     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.
253 \end{itemize}
254
255 \subsection{phm2if}\index{Programs,ctsimtext,phm2if}%
256 Converts a geometric phantom object into an imagefile. The size of the
257 imagefile in pixels must be specified as well as the number of samples
258 to average per pixel.
259
260 \subsubsection{Usage}%
261 \begin{itemize}\itemsep=0pt
262   \item --nsamples
263 \end{itemize}
264
265 \subsection{pj2if}\index{Programs,ctsimtext,pj2if}%
266 Convert a projection file into an imagefile.
267
268 \subsubsection{Usage}%
269 \begin{itemize}\itemsep=0pt
270 \end{itemize}
271
272 \subsection{pjinfo}\index{Programs,ctsimtext,pjinfo}%
273 Displays information about a projection file.
274
275 \subsubsection{Usage}%
276 \begin{itemize}\itemsep=0pt
277   \item --binaryheader
278   \item --binaryview
279   \item --startview
280   \item --endview
281   \item --dump
282 \end{itemize}
283
284 \subsection{pjrec}\index{Programs,ctsimtext,pjrec}%
285 Reconstructs the interior of an object from a projection file.
286
287 \subsubsection{Usage}%
288
289 \subsubsection{Parameters}%
290 \begin{itemize}\itemsep=0pt
291   \item Filter 
292   Selects which filter to apply to each projection. To
293   properly reconstruct an image, this filter should be multiplied 
294   by the absolute value of distance from zero frequency.
295   \begin{itemize}\itemsep=0pt
296     \item abs_bandlimit
297     \item abs_cosine
298     \item abs_hamming
299     \item abs_sinc
300   \end{itemize}
301
302   \item Filter Parameter 
303   \par Sets the alpha level for Hamming
304   window. At setting of 0.54, this equals the Hanning window.
305
306   \item Filter Method
307     \begin{itemize}\itemsep=0pt
308       \item convolution
309       \item fourier
310       \item fourier_table
311       \item fftw
312       \item rfftw
313     \end{itemize}
314
315   \item Filter Generation
316     \begin{itemize}\itemsep=0pt
317       \item direct
318       \item inverse_fourier
319     \end{itemize}
320
321   \item Interpolation
322     \begin{itemize}\itemsep=0pt
323       \item nearest
324       \item linear
325     \end{itemize}
326      
327   \item Backprojection
328     \begin{itemize}\itemsep=0pt
329       \item trig
330       \item table
331       \item diff
332       \item diff2
333       \item idiff2
334       \item idiff3
335     \end{itemize}
336
337   \item Zeropad
338   \item Preinterpolation Factor
339 \end{itemize}
340
341 \chapter{The Web Browser CGI Interface}\index{Web Interface}%
342 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
343 \setfooter{\thepage}{}{}{}{}{\thepage}%
344
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}.
351
352 \section{Requirements}\index{Web Interface,Requirements}%
353 \begin{itemize}\itemsep=0pt
354    \item For Web Interface
355    \begin{itemize}\itemsep=0pt
356       \item Apache or other CGI compatible web server
357
358       \item Perl (version 4.0 or higher)
359
360       \item A client web browser than can display PNG files. Most
361       current web browswer do support PNG.
362     \end{itemize}
363
364   \end{itemize}
365
366 \bibliographystyle{abbrv}
367 \bibliography{yes}
368
369 \addcontentsline{toc}{chapter}{Index}
370 \setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
371 \setfooter{\thepage}{}{}{}{}{\thepage}%
372 \printindex%
373
374 \end{document}