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