-\chapter{The Command Line Interface}\label{ctsimtext}\index{ctsimtext}%
+\chapter{The Command Line Interface}\label{ctsimtext}\index{ctsimtext}
\setheader{{\it CHAPTER \thechapter}}{}{}{\ctsimheadtitle}{}{{\it CHAPTER \thechapter}}%
\ctsimfooter%
+\section{Overview}\index{Command line interface}
\ctsimtext\ is a master shell for all of the command-line utilities. The
command-line utilities can perform most of the functions of the graphical
shell. These command-line utilities are especially appropriate for use on
-systems without graphical capability, batch files, and parallel processing
-with a Beowulf-type computer cluster.
+systems without graphical capability, batch processing, shell scripting,
+and parallel processing with a Beowulf-type computer cluster.
\usage \ctsimtext\ can be invoked via three different
methods.
\item Using operating systems that support soft or hard linking of
files (such as UNIX and Linux), the executable file \ctsimtext\ can
be linked to the function names. This is automatically done by
-the installation file for Linux. Thus, to use \ctsimtext\ with the
+the installation program and the \texttt{rpm} manager. Thus, to use \ctsimtext\ with the
function name \texttt{pjrec}, the below command can be executed:\\
-\texttt{pjrec parameters...} \\
+\hspace*{1.5cm}\texttt{pjrec parameters...} \\
as a shortcut rather than the equivalent command \\
-\texttt{ctsimtext pjrec parameters...}
+\hspace*{1.5cm}\texttt{ctsimtext pjrec parameters...}
\end{enumerate}
-\section{Parallel Processing}
+\section{Parallel Processing}\index{Parallel processing}
\ctsimtext\ can be used to spread it's processing over a cluster. Specifically,
\ctsimtext\ supports the \urlref{LAM}{http://www.mpi.nd.edu/lam} version of
the MPI environment. On platforms with LAM installed, a parallel version of
\ctsimtext\ is created. The name of this program is \texttt{ctsimtext-lam}.
-The functions that take advantage of the parallel processing are
-\texttt{phm2if}, \texttt{phm2pj}, \texttt{pjrec}.
+The functions that take advantage of the parallel processing are:
+
+\begin{itemize}\itemsep=0pt
+\item \texttt{phm2if}
+\item \texttt{phm2pj}
+\item \texttt{pjrec}
+\end{itemize}
This parallel processing version has been tested with excellent results on
a 16-CPU \urlref{Beowulf}{http://www.beowulf.org} cluster.
\texttt{if1 input-filename output-filename [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{invert}}{Negate pixel values.}
\twocolitem{\doublehyphen{log}}{Take natural logrithm of pixel values.}
\texttt{if2 input-filename1 input-filename2 output-filename [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{add}}{Add the two images.}
\twocolitem{\doublehyphen{sub}}{Subtract the two images.}
\twocolitem{\doublehyphen{multiply}}{Multiply the two images.}
\twocolitem{\doublehyphen{divide}}{Divide the two images.}
- \twocolitem{\doublehyphen{comp}}{Statistically compare the two images.}
+ \twocolitem{\doublehyphen{comp}}{Statistically compare the two images. The standard
+ \helpref{three distance measurements}{conceptimagecompare} are reported.}
\twocolitem{\doublehyphen{column-plot n}}{Plot the values of a particular column.}
\twocolitem{\doublehyphen{row-plot n}}{Plot the values of a particular row.}
\end{twocollist}
\texttt{ifexport input-filename output-filename -\,-format }\emph{graphic-format} \texttt{ [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{format}}{
\begin{itemize}\itemsep=0pt
- \item \texttt{pgm} - Portable graymap format.
- \item \texttt{pgmasc} - ASCII PGM format.
- \item \texttt{png} - Portable network graphics format.
+ \item \texttt{png} - Portable network graphics format. This is the default output format.
\item \texttt{png16} - 16-bit PNG format.
+ \item \texttt{pgm} - Portable graymap format, binary format.
+ \item \texttt{pgmasc} - ASCII PGM format.
\end{itemize}}
\twocolitem{\doublehyphen{center}}{Set center of intensity window.
\begin{itemize}\itemsep=0pt
\item \texttt{std3}
\end{itemize}}
\twocolitem{\doublehyphen{scale}}{Set size of output image. A value of
- \texttt{1} is default and creates an output image the same size as the input image.}
+ \texttt{1} is default and creates an output image the same size as the input image. A value of \texttt{2} will double the
+ size of the output image.}
\twocolitem{\doublehyphen{min}}{Set the minimum intensity value.}
\twocolitem{\doublehyphen{max}}{Set the maximum intensity value.}
\end{twocollist}
\section{ifinfo}\label{ifinfo}\index{ifinfo}%
-Displays information about an imagefile.
+Displays information about an image file. By default, history labels and image statistics are displayed.
\usage
\texttt{ifinfo input-filename [options...]}
\textbf{Options}
+
\begin{twocollist}
- \twocolitem{\doublehyphen{labels}}{Display history labels.}
\twocolitem{\doublehyphen{no-labels}}{Suppress history labels.}
- \twocolitem{\doublehyphen{stats}}{Display image statistics.}
\twocolitem{\doublehyphen{no-stats}}{Suppress image statistics.}
\end{twocollist}
\usage
\texttt{phm2pj projection-filename number-detectors number-views [options...]}
+\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{phantom}}{Select a standard phantom.
\begin{itemize}\itemsep=0pt
\twocolitem{\doublehyphen{focal-length}}{Sets the distance between the radiation source
and the center of the object as a ratio of the radius of the object.
For parallel geometries, a value of \texttt{1.0} is optimal. For other
- geometries, this should be at least \texttt{2.0} to avoid artifacts.}
+ geometries, this should be at least \texttt{2.0} to avoid artifacts. The default value is \texttt{2}.}
\end{twocollist}
\section{phm2if}\label{phm2if}\index{phm2if}%
-Converts a geometric phantom object into an imagefile.
+Generates rasterized image file based on a phantom.
\usage
\texttt{phm2if phantom-filename image-filename [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{nsamples}}{Number of samples in x \& y directions per pixel}
\twocolitem{\doublehyphen{view-ratio}}{Sets the view ration. For normal scanning,
\texttt{pj2if projection-filename image-filename x-size y-size [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{dump}}{Print all projection data to the console.}
\end{twocollist}
\texttt{pjinfo projection-filename [options...]}
\textbf{Options}
+
\begin{twocollist}
\twocolitem{\doublehyphen{binaryheader}}{Dump the binary header to the standard output.
This option is only used when manually creating a composite projection file from
\begin{twocollist}
\twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
\twocolitem{\doublehyphen{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.
+each projection. To properly reconstruct an image, this filter should
+be consist of the the absolute value of distance from zero
+frequency optionally multiplied by a smoothing filter.
\begin{itemize}\itemsep=0pt
\item \texttt{abs\_bandlimit}
\item \texttt{abs\_cosine}
\item \texttt{abs\_hamming}
+\item \texttt{abs\_hanning}
\end{itemize}
} \twocolitem{\doublehyphen{filter-parameter}}{Sets the alpha level
-for Hamming window. At setting of \texttt{0.54}, this equals
-the Hanning window.}
+for Hamming window. This parameter adjusts the smoothing of the Hamming
+filter and can range from \texttt{0} to \texttt{1}.
+At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
+At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
+window.}
\twocolitem{\doublehyphen{filter-method}}{Selects the filtering
method. For large numbers of detectors, \texttt{rfftw} is optimal.
\item \texttt{trig} - Use trigometric functions at each image point.
\item \texttt{table} - Use precalculated trigometric tables.
\item \texttt{diff} - Use difference method to iterate within image.
-\item \texttt{idiff} - Use integer iteration math.
+\item \texttt{idiff} - Use integer iteration technique.
\end{itemize}
}
\twocolitem{\doublehyphen{zeropad}}{Zeropad factor. A setting of
-\texttt{1} is optimal whereas a zeropad of \texttt{0} performs no zeropadding.}
+\texttt{1} is optimal whereas a zeropad of \texttt{0} performs no zero padding.
+Settings greater than \texttt{1} perform additional zero padding, but without
+any significant output difference.}
\end{twocollist}