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