--- /dev/null
+\chapter{ctsimtext}\label{ctsimtext}\index{ctsimtext}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\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 \par
+{\tt ctsimtext function-name parameters...}.
+
+The available functions are:
+
+\section{if1}\label{if1}\index{ctsimtext,if1}%
+Perfoms math functions on a single image.
+
+\usage
+\begin{itemize}\itemsep=0pt
+ \item --invert
+ \item --log
+ \item --exp
+ \item --sqr
+ \item --sqrt
+\end{itemize}
+
+\section{if2}\label{if2}\index{ctsimtext,if2}%
+Perfoms math functions on a two images.
+
+\usage
+\begin{itemize}\itemsep=0pt
+ \item --add
+ \item --sub
+ \item --mul
+ \item --comp
+ \item --column-plot
+ \item --row-plot
+\end{itemize}
+
+\section{ifexport}\label{ifexport}\index{ctsimtext,ifexport}%
+Export an imagefile to a standard graphics file.
+
+\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}
+
+\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.
+
+\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}
+
+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.
+
+\usage
+\begin{itemize}\itemsep=0pt
+ \item --nsamples
+\end{itemize}
+
+\section{pj2if}\label{pj2if}\index{ctsimtext,pj2if}%
+Convert a projection file into an imagefile.
+
+\usage
+\begin{itemize}\itemsep=0pt
+\item --help Print brief online help
+\end{itemize}
+
+\section{pjinfo}\label{pjinfo}\index{ctsimtext,pjinfo}%
+Displays information about a projection file.
+
+\usage
+\begin{itemize}\itemsep=0pt
+ \item --binaryheader
+ \item --binaryview
+ \item --startview
+ \item --endview
+ \item --dump
+\end{itemize}
+
+\section{pjrec}\label{pjrec}\index{ctsimtext,pjrec}%
+Reconstructs the interior of an object from a projection file.
+
+\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.}
+
+\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}
+}
+
+\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}