-\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
-%\input{psbox.tex}
+\documentstyle[a4,makeidx,verbatim,texhelp]{report}%
+\input{psbox.tex}
\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}}%
\date{January 2001}%
}%
\winhelponly{\title{Manual for CTSim 3.0}%
-\author{by Julian Smart\\$$\image{1cm;0cm}{tex2rtf.wmf}$$}%
+\author{by Kevin Rosenberg, M.D.\\$$\image{3cm;3cm}{logo-huge.bmp}$$}%
}%
\makeindex%
\begin{document}%
\pagestyle{fancyplain}%
\bibliographystyle{plain}%
\pagenumbering{roman}%
+
\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\tableofcontents%
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:
\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.
\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
\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
\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
\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
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
\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
\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}%
-
-\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.
+\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
- \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
+ \end{itemize}}
+ \twocolitem{{\bf --filter-parameter}}{Sets the alpha level for Hamming
+ window. At setting of 0.54, this equals the Hanning window.}
+ \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 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}}
+ \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.}
+
+ \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}\index{Web Interface}%
+\chapter{The Web Browser CGI Interface}\label{webinterface}\index{Web Interface}%
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
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}
-\bibliographystyle{abbrv}
-\bibliography{yes}
+\newpage
+
+\bibliographystyle{plain}
+\bibliography{ctsim}
+\addcontentsline{toc}{chapter}{Bibliography}
+\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
\addcontentsline{toc}{chapter}{Index}
\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\printindex%
-\end{document}
+\end{document}%
+