r403: no message
[ctsim.git] / doc / tex2rtf / ctsim.tex
diff --git a/doc/tex2rtf/ctsim.tex b/doc/tex2rtf/ctsim.tex
new file mode 100644 (file)
index 0000000..9fd2aec
--- /dev/null
@@ -0,0 +1,372 @@
+\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
+%\input{psbox.tex}
+
+\newcommand{\ctsim}{{\it CTSim}}
+\newcommand{\ctsimtext}{{\it CTSimText}}
+
+\newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
+\newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
+\newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}%
+\newcommand{\indexit}[1]{#1\index{#1}}%
+\newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
+\parskip=10pt%
+\parindent=0pt%
+%\backgroundcolour{255;255;255}\textcolour{0;0;0}% Has an effect in HTML only
+\winhelpignore{\title{Manual for CTSim 3.0}%
+\author{Kevin Rosenberg, M.D.}%
+\date{January 2001}%
+}%
+\winhelponly{\title{Manual for CTSim 3.0}%
+\author{by Julian Smart\\$$\image{1cm;0cm}{tex2rtf.wmf}$$}%
+}%
+\makeindex%
+\begin{document}%
+\maketitle%
+\pagestyle{fancyplain}%
+\bibliographystyle{plain}%
+\pagenumbering{roman}%
+\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+\tableofcontents%
+
+\chapter*{Copyright notice}%
+\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+Copyright (c) 1983-2001 Kevin Rosenberg, M.D.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice, author statement and this permission notice appear in
+all copies of this software and related documentation.
+
+THE SOFTWARE IS PROVIDED ``AS-IS'' AND WITHOUT WARRANTY OF ANY KIND, EXPRESS,
+IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+IN NO EVENT SHALL KEVIN ROSENBERG BE LIABLE FOR ANY
+SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
+OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+\chapter{Introduction}%
+\pagenumbering{arabic}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+Computed Tomography is a technique for estimating the interior of an object 
+from measurement of radiation collected around the object. This radiation 
+can be either projected through or emitted from the object.
+\ctsim simulates the process of projecting X-rays through a phantom object.
+\ctsim can then reconstruct the interior of the object from the projections
+collected around the phantom object.
+
+\chapter{Installation}\index{Installation}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\section{Download}%\index{Installation,Download}%
+
+The latest version of CTSim, plus source code, can be accessed from:
+
+\begin{verbatim}
+http://www.ctsim.org
+ftp://ftp.ctsim.org
+\end{verbatim}
+
+It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI versions.
+
+\section{Installing Linux RPM}\index{Installation,Linux}%
+
+\section{Installing Windows Binary}\index{Installation,Windows}%
+
+\section{Build From Sources}%\index{Installation,Build}%
+
+See the INSTALL file included in the source distribution for instructions.
+
+\section{Requirements}\index{Installation,Build,Requirements}%
+  \item Building CTSim
+  \begin{itemize}\itemsep=0pt
+  \item zlib Library (optional)
+        \par Used for PNG file export.
+
+  \item libpng Library (optional)
+        \par Used for PNG file export.
+       \par www.libpng.org
+
+  \item FFTW library (optional)
+       \par Used for frequency-based filtering and fourier transformations of images.
+       \par www.fftw.org
+
+  \item readline library (optional)
+       /par Used for {/ctsimtext} interactive shell.
+
+  \item dmalloc library (optional)
+       \par Used for debugging memory allocation
+       \par www.dmalloc.com
+
+  \item wxWindows library (optional) \par Used for
+  platform-independent graphical interface. The graphical-shell
+  program \ctsim requires this library.  \par www.wxwindows.org
+
+  \end{itemize}
+\end{itemize}
+
+\chapter{ctsim - the Graphical User Interface}%\index{ctsim}% 
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\ctsim\ is the graphical shell for the CTSim project. It is
+written using the wxLibrary for cross-platform compatibility with GTK,
+Motif, and Microsoft Windows. It includes all of the functionality of
+the command-line tool {\tt ctsimtext} as well as image processing and visualization features.
+
+\section{Usage}
+ctsim [OPTIONS] [files to open...]
+
+\ctsim can open projection files, image files, phantom definition files, and plotfiles.
+
+\chapter{ctsimtext - The Command Line Interface}\index{ctsimtext}%
+\ctsimtext is a master shell for all of the command-line utilities. 
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\section{Usage}%
+
+\ctsimtext can be executed without any parameters. In that case, \ctsimtext
+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.
+
+\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...}.
+
+The following function names are available:
+
+\subsection{if1}\index{Programs,ctsimtext,if1}%
+Perfoms math functions on a single image.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --invert
+  \item --log
+  \item --exp
+  \item --sqr
+  \item --sqrt
+\end{itemize}
+
+\subsection{if2}\index{Programs,ctsimtext,if2}%
+Perfoms math functions on a two images.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --add
+  \item --sub
+  \item --mul
+  \item --comp
+  \item --column-plot
+  \item --row-plot
+\end{itemize}
+
+\subsection{ifinfo}\index{Programs,ctsimtext,ifinfo}%
+
+Displays information about an imagefile.
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --labels
+  \item --no-labels
+  \item --stats
+  \item --no-stats
+  \item --help
+\end{itemize}
+
+\subsection{ifexport}\index{Programs,ctsimtext,ifexport}%
+Export an imagefile to a standard graphics file.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --format
+  \begin{itemize}\itemsep=0pt
+    \item --pgm
+    \item --pgmasc
+    \item --png
+    \item --png16
+  \end{itemize}
+  \item --center
+  \begin{itemize}\itemsep=0pt
+    \item median
+    \item mode
+    \item mean
+  \end{itemize}
+  \item --auto
+  \begin{itemize}\itemsep=0pt
+     \item --full
+     \item --std0.1
+     \item --std0.5
+     \item --std1
+     \item --std2
+     \item --std3
+  \end{itemize}
+  \item --scale
+  \item --min
+  \item --max
+\end{itemize}
+
+\subsection{phm2pj}\index{Programs,ctsimtext,phm2pj}%
+Simulates collection of X-rays data (projections) around a phantom object.
+
+\subsubsection{Usage}%
+phm2pj projection-file-name number-of-detectors number-of-views [options...]
+\begin{itemize}\itemsep=0pt
+  \item --phantom
+  Select a standard phantom 
+  \begin{itemize}\itemsep=0pt
+    \item herman
+    \item herman-b
+    \item shepp-logan
+    \item shepp-logan-b
+  \end{itemize}
+
+  \item --phmfile
+  Load a phantom definition definition
+
+  \item --geometry
+  \begin{itemize}\itemsep=0pt
+    \item parallel
+    \item equiangular
+    \item equilinear
+  \end{itemize}
+
+  \item --nray
+    Number of samples per each detector
+
+  \item --rotangle
+    Sets the rotation amount as a multiple of pi. For parallel geometries use
+a rotation angle of 1 and for equilinear and equiangular geometries use a rotation angle of 2.
+
+  \item --field-of-view
+    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.
+
+  \item --focal-length
+    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.
+\end{itemize}
+
+\subsection{phm2if}\index{Programs,ctsimtext,phm2if}%
+Converts a geometric phantom object into an imagefile. The size of the
+imagefile in pixels must be specified as well as the number of samples
+to average per pixel.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --nsamples
+\end{itemize}
+
+\subsection{pj2if}\index{Programs,ctsimtext,pj2if}%
+Convert a projection file into an imagefile.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+\end{itemize}
+
+\subsection{pjinfo}\index{Programs,ctsimtext,pjinfo}%
+Displays information about a projection file.
+
+\subsubsection{Usage}%
+\begin{itemize}\itemsep=0pt
+  \item --binaryheader
+  \item --binaryview
+  \item --startview
+  \item --endview
+  \item --dump
+\end{itemize}
+
+\subsection{pjrec}\index{Programs,ctsimtext,pjrec}%
+Reconstructs the interior of an object from a projection file.
+
+\subsubsection{Usage}%
+
+\subsubsection{Parameters}%
+\begin{itemize}\itemsep=0pt
+  \item Filter 
+  Selects which filter to apply to each projection. To
+  properly reconstruct an image, this filter should be multiplied 
+  by the absolute value of distance from zero frequency.
+  \begin{itemize}\itemsep=0pt
+    \item abs_bandlimit
+    \item abs_cosine
+    \item abs_hamming
+    \item abs_sinc
+  \end{itemize}
+
+  \item Filter Parameter 
+  \par Sets the alpha level for Hamming
+  window. At setting of 0.54, this equals the Hanning window.
+
+  \item Filter Method
+    \begin{itemize}\itemsep=0pt
+      \item convolution
+      \item fourier
+      \item fourier_table
+      \item fftw
+      \item rfftw
+    \end{itemize}
+
+  \item Filter Generation
+    \begin{itemize}\itemsep=0pt
+      \item direct
+      \item inverse_fourier
+    \end{itemize}
+
+  \item Interpolation
+    \begin{itemize}\itemsep=0pt
+      \item nearest
+      \item linear
+    \end{itemize}
+     
+  \item Backprojection
+    \begin{itemize}\itemsep=0pt
+      \item trig
+      \item table
+      \item diff
+      \item diff2
+      \item idiff2
+      \item idiff3
+    \end{itemize}
+
+  \item Zeropad
+  \item Preinterpolation Factor
+\end{itemize}
+
+\chapter{The Web Browser CGI Interface}\index{Web Interface}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\section{Overview}\index{Web Interface,Overview}%
+The CGI program {\tt ctsim.cgi} takes projections of a standard
+phantom object, performs reconstruction, and then compares the
+rasterized phantom object with the reconstruction. The comparison is
+performed both visually by an image subtraction as well as by standard
+statistics as described by Herman\cite{HERMAN80}.
+
+\section{Requirements}\index{Web Interface,Requirements}%
+\begin{itemize}\itemsep=0pt
+   \item For Web Interface
+   \begin{itemize}\itemsep=0pt
+      \item Apache or other CGI compatible web server
+
+      \item Perl (version 4.0 or higher)
+
+      \item A client web browser than can display PNG files. Most
+      current web browswer do support PNG.
+    \end{itemize}
+
+  \end{itemize}
+
+\bibliographystyle{abbrv}
+\bibliography{yes}
+
+\addcontentsline{toc}{chapter}{Index}
+\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+\printindex%
+
+\end{document}