r432: *** empty log message ***
[ctsim.git] / doc / tex2rtf / ctsim.tex
index 7d2fa3aef99adfd8587f77bb7f9b7f3339404ac8..0dc9eab08c1d03ba38795d65708999bc8ed77e65 100644 (file)
@@ -1,10 +1,17 @@
-\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
+\documentclass[11pt]{report}%
 %\input{psbox.tex}
+\usepackage{texhelp}
+\usepackage{fancyheadings}
+\usepackage{mysober}
+\usepackage{mytitle}
+\usepackage{verbatim}
+\usepackage{makeidx}
 \usepackage{times}
 \usepackage{hyperref}
 
-\newcommand{\ctsim}{{\it CTSim}}
-\newcommand{\ctsimtext}{{\it CTSimText}}
+\newcommand{\ctsim}{{\tt CTSim}}
+\newcommand{\ctsimtext}{{\tt CTSimText}}
+\newcommand{\usage}{{\bf Usage}{\par}}
 
 \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
 \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
@@ -19,7 +26,7 @@
 \date{January 2001}%
 }%
 \winhelponly{\title{Manual for CTSim 3.0}%
-\author{by Kevin Rosenberg, M.D.\\$$\image{1cm;0cm}{logo-huge.bmp}$$}%
+\author{by Kevin Rosenberg, M.D.\\$$\image{3cm;3cm}{logo-huge.bmp}$$}%
 }%
 \makeindex%
 \begin{document}%
@@ -27,6 +34,7 @@
 \pagestyle{fancyplain}%
 \bibliographystyle{plain}%
 \pagenumbering{roman}%
+
 \setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 \tableofcontents%
@@ -53,23 +61,27 @@ 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}%
+\chapter{Introduction}\label{introduction}%
 \pagenumbering{arabic}%
 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
+\winhelponly{$$\image{3cm;3cm}{logo-huge}$$}%
+\htmlonly{$$\image{3cm;3cm}{logo-huge.gif}$$}%
 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
+\rtfsp\ctsim simulates the process of projecting X-rays through a phantom object.
+\rtfsp\ctsim can then reconstruct the interior of the object from the projections
 collected around the phantom object.
 
+The \ctsim package has two executable files: the graphical \helprefn{ctsim}{ctsim} and text \helprefn{ctsimtext}{ctsimtext} programs.
+
 \chapter{Installation}\index{Installation}%
 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
-\section{Download}%\index{Installation,Download}%
+\section{Download}\label{download}\index{Installation,Download}%
 
 The latest version of CTSim, plus source code, can be accessed from:
 
@@ -84,12 +96,11 @@ It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI version
 
 \section{Installing Windows Binary}\index{Installation,Windows}%
 
-\section{Build From Sources}%\index{Installation,Build}%
+\section{Build From Sources}\label{build}\index{Installation,Build}%
 
 See the INSTALL file included in the source distribution for instructions.
 
-\section{Requirements}\index{Installation,Build,Requirements}%
-  \item Building CTSim
+\section{Web Requirements}\label{installreq}\index{Installation,Requirements}%
   \begin{itemize}\itemsep=0pt
   \item zlib Library (optional)
         \par Used for PNG file export.
@@ -103,51 +114,51 @@ See the INSTALL file included in the source distribution for instructions.
        \par www.fftw.org
 
   \item readline library (optional)
-       /par Used for {/ctsimtext} interactive shell.
+       \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}
+  \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}
 
-\chapter{ctsim - the Graphical User Interface}%\index{ctsim}% 
+\chapter{ctsim - the Graphical User Interface}\label{ctsim}\index{ctsim}% 
 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
-\ctsim\ is the graphical shell for the CTSim project. It is
+\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. 
+\usage
+ctsim [OPTIONS] [files to open...]
+
+\chapter{ctsimtext}\label{ctsimtext}\index{ctsimtext}%
 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
-\section{Usage}%
+\ctsimtext is a master shell for all of the command-line utilities. 
 
+\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...}.
+\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 \par
+{\tt ctsimtext function-name parameters...}.
 
-The following function names are available:
+The available functions are:
 
-\subsection{if1}\index{Programs,ctsimtext,if1}%
+\section{if1}\label{if1}\index{ctsimtext,if1}%
 Perfoms math functions on a single image.
 
-\subsubsection{Usage}%
+\usage
 \begin{itemize}\itemsep=0pt
   \item --invert
   \item --log
@@ -156,10 +167,10 @@ Perfoms math functions on a single image.
   \item --sqrt
 \end{itemize}
 
-\subsection{if2}\index{Programs,ctsimtext,if2}%
+\section{if2}\label{if2}\index{ctsimtext,if2}%
 Perfoms math functions on a two images.
 
-\subsubsection{Usage}%
+\usage
 \begin{itemize}\itemsep=0pt
   \item --add
   \item --sub
@@ -169,22 +180,10 @@ Perfoms math functions on a two images.
   \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}%
+\section{ifexport}\label{ifexport}\index{ctsimtext,ifexport}%
 Export an imagefile to a standard graphics file.
 
-\subsubsection{Usage}%
+\usage
 \begin{itemize}\itemsep=0pt
   \item --format
   \begin{itemize}\itemsep=0pt
@@ -213,10 +212,23 @@ Export an imagefile to a standard graphics file.
   \item --max
 \end{itemize}
 
-\subsection{phm2pj}\index{Programs,ctsimtext,phm2pj}%
+\section{ifinfo}\label{ifinfo}\index{ctsimtext,ifinfo}%
+
+Displays information about an imagefile.
+
+\usage
+\begin{itemize}\itemsep=0pt
+  \item --labels
+  \item --no-labels
+  \item --stats
+  \item --no-stats
+  \item --help
+\end{itemize}
+
+\section{phm2pj}\label{phm2pj}\index{ctsimtext,phm2pj}%
 Simulates collection of X-rays data (projections) around a phantom object.
 
-\subsubsection{Usage}%
+\usage
 phm2pj projection-file-name number-of-detectors number-of-views [options...]
 \begin{itemize}\itemsep=0pt
   \item --phantom
@@ -252,27 +264,30 @@ a rotation angle of 1 and for equilinear and equiangular geometries use a rotati
     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}%
+The Herman phantom is taken with permission from Gabor Hermans 1980 book\cite{HERMAN80}. The Shepp-Logan phantom was published in 1974\cite{SHEPP74}.
+
+\section{phm2if}\label{phm2if}\index{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}%
+\usage
 \begin{itemize}\itemsep=0pt
   \item --nsamples
 \end{itemize}
 
-\subsection{pj2if}\index{Programs,ctsimtext,pj2if}%
+\section{pj2if}\label{pj2if}\index{ctsimtext,pj2if}%
 Convert a projection file into an imagefile.
 
-\subsubsection{Usage}%
+\usage
 \begin{itemize}\itemsep=0pt
+\item --help    Print brief online help
 \end{itemize}
 
-\subsection{pjinfo}\index{Programs,ctsimtext,pjinfo}%
+\section{pjinfo}\label{pjinfo}\index{ctsimtext,pjinfo}%
 Displays information about a projection file.
 
-\subsubsection{Usage}%
+\usage
 \begin{itemize}\itemsep=0pt
   \item --binaryheader
   \item --binaryview
@@ -281,64 +296,62 @@ Displays information about a projection file.
   \item --dump
 \end{itemize}
 
-\subsection{pjrec}\index{Programs,ctsimtext,pjrec}%
+\section{pjrec}\label{pjrec}\index{ctsimtext,pjrec}%
 Reconstructs the interior of an object from a projection file.
 
-\subsubsection{Usage}%
+\usage
+\begin{twocollist}
+\twocolitemruled{{\bf Parameter}}{{\bf Options}}
+\twocolitem{{\bf --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
+\end{itemize}
+}
+\twocolitem{{\bf --filter-parameter}}{Sets the alpha level for Hamming
+  window. At setting of 0.54, this equals the Hanning window.}
 
-\subsubsection{Parameters}%
+\twocolitem{{\bf --filter-method}}{Selects the filtering method. For large numbers of detectors, {\tt rfftw} is optimal. For smaller numbers of detectors, {\tt convolution} might be a bit faster. 
 \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 convolution
+\item fourier
+\item fourier\_table
+\item fftw
+\item rfftw
+\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
+\twocolitem{{\bf --filter-generation}}{Selects the filter generation. With convolution, {\tt direct} is the proper method to select. With any of the frequency methods, {\tt inverse-fourier} is the best method.
+\begin{itemize}\itemsep=0pt
+\item direct
+\item inverse-fourier
+\end{itemize}
+}
+\twocolitem{{\bf --interpolation}}{Interpolation technique. {\tt linear} is optimal.
+\begin{itemize}\itemsep=0pt
+\item nearest
+\item linear
+\end{itemize}
+}    
+  \twocolitem{{\bf -backprojection}}{Selects the backprojection technique. A setting of {\tt idiff3} is optimal.
+\begin{itemize}\itemsep=0pt
+\item trig
+\item table
+\item diff
+\item diff2
+\item idiff2
+\item idiff3
 \end{itemize}
+}
+\twocolitem{{\bf --zeropad}}{ Zeropad factor. A setting of {\tt 1} is optimal.}
 
-\chapter{The Web Browser CGI Interface}\index{Web Interface}%
+  \twocolitem{{\bf --preinterpolate}}{Selects preinterpolation interpolation technique and sets the preinterpolation factor. Currently, this is experimental and does not work well.}
+\end{twocollist}
+
+\chapter{The Web Browser CGI Interface}\label{webinterface}\index{Web Interface}%
 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
@@ -350,25 +363,17 @@ 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}
-
+      current web browsers support PNG.
   \end{itemize}
 
 \newpage
 
-\nocite{KAK87}
-\nocite{PRESS82}
-\nocite{SHEPP74}
-
 \bibliographystyle{plain}
 \bibliography{ctsim}
 \addcontentsline{toc}{chapter}{Bibliography}
@@ -376,8 +381,9 @@ statistics as described by Herman\cite{HERMAN80}.
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
 \addcontentsline{toc}{chapter}{Index}
-\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
-\setfooter{\thepage}{}{}{}{}{\thepage}%
-\printindex%
+\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}} %
+\setfooter{\thepage}{}{}{}{}{\thepage} %
+\printindex %
 
-\end{document} 
+\end{document}%