\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 graphics, batch files, and parallel processing in a Beowulf
-computer cluster.
+systems without graphical capability, batch files, and parallel processing
+with a Beowulf-type computer cluster.
\usage \ctsimtext\ can be invoked via three different
methods.
commands may be given to \ctsimtext. The shell is exited by the
\texttt{quit} command. \ctsimtext\ uses the
\urlref{readline}{http://www.gnu.org} library on UNIX and Linux platforms
-to provide for command history processing.
+to provide command history processing.
\item \ctsimtext\ can also be called to
execute a single command. This is especially useful for batch
\section{if1}\label{if1}\index{if1}%
-Performs math functions on a single image.
+Performs math functions on a single image. The commands works with
+both real and complex valued images.
\usage
+\texttt{if1 input-filename output-filename [options...]}
+
+\textbf{Options}
\begin{itemize}\itemsep=0pt
- \item \doublehyphen{invert}
- \item \doublehyphen{log}
- \item \doublehyphen{exp}
- \item \doublehyphen{sqr}
- \item \doublehyphen{sqrt}
+ \item \doublehyphen{invert} - Negate pixel values
+ \item \doublehyphen{log} - Take natural logrithm of pixel values
+ \item \doublehyphen{exp} - Take natural exponent of pixel values
+ \item \doublehyphen{sqr} - Take square of pixel values
+ \item \doublehyphen{sqrt} - Take square root of pixel values
\end{itemize}
\section{if2}\label{if2}\index{if2}%
-Performs math functions on a two images.
+Performs math functions on a two images. The command works with both
+real and complex valued images.
\usage
+\texttt{if2 input-filename1 input-filename2 output-filename [options...]}
+
+\textbf{Options}
\begin{itemize}\itemsep=0pt
- \item \doublehyphen{add}
- \item \doublehyphen{sub}
- \item \doublehyphen{mul}
- \item \doublehyphen{comp}
- \item \doublehyphen{column-plot}
- \item \doublehyphen{row-plot}
+ \item \doublehyphen{add} - Add the two images
+ \item \doublehyphen{sub} - Subtract the two images
+ \item \doublehyphen{multiply} - Multiply the two images
+ \item \doublehyphen{divide} - Divide the two images
+ \item \doublehyphen{comp} - Statistically compare the two images
+ \item \doublehyphen{column-plot n} - Plot the values of a particular col
+ \item \doublehyphen{row-plot n} - Plot the values of a particular row
\end{itemize}
\section{ifexport}\label{ifexport}\index{ifexport}%
Export an image file to a standard graphics file.
\usage
+\texttt{ifexport input-filename output-filename -\,-format }\emph{graphic-format} \texttt{ [options...]}
+
+\textbf{Options}
\begin{itemize}\itemsep=0pt
\item \doublehyphen{format}
\begin{itemize}\itemsep=0pt
- \item \texttt{gm}
- \item \texttt{pgmasc}
- \item \texttt{png}
- \item \texttt{png16}
+ \item \texttt{pgm} - Portable graymap format.
+ \item \texttt{pgmasc} - ASCII PGM format.
+ \item \texttt{png} - Portable network graphics format.
+ \item \texttt{png16} - 16-bit PNG format.
\end{itemize}
- \item \doublehyphen{center}
+ \item \doublehyphen{center} - Set center of intensity window.
\begin{itemize}\itemsep=0pt
\item \texttt{median}
\item \texttt{mode}
\item \texttt{mean}
\end{itemize}
- \item \doublehyphen{auto}
+ \item \doublehyphen{auto} - Set half-width of intensity window.
\begin{itemize}\itemsep=0pt
\item \texttt{full}
\item \texttt{std0.1}
\item \texttt{std2}
\item \texttt{std3}
\end{itemize}
- \item \doublehyphen{scale}
- \item \doublehyphen{min}
- \item \doublehyphen{max}
+ \item \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.
+ \item \doublehyphen{min} - Set the minimum intensity value.
+ \item \doublehyphen{max} - Set the maximum intensity value.
\end{itemize}
\section{ifinfo}\label{ifinfo}\index{ifinfo}%
Displays information about an imagefile.
\usage
+\texttt{ifinfo input-filename [options...]}
+
+\textbf{Options}
\begin{itemize}\itemsep=0pt
- \item \doublehyphen{labels}
- \item \doublehyphen{no-labels}
- \item \doublehyphen{stats}
- \item \doublehyphen{no-stats}
- \item \doublehyphen{help}
+ \item \doublehyphen{labels} - Display history labels.
+ \item \doublehyphen{no-labels} - Suppress history labels.
+ \item \doublehyphen{stats} - Display image statistics.
+ \item \doublehyphen{no-stats} - Suppress image statistics.
\end{itemize}
\section{phm2pj}\label{phm2pj}\index{phm2pj}%
Simulates collection of X-rays data (projections) around a phantom object.
\usage
-\texttt{phm2pj projection-file-name number-of-detectors number-of-views [options...]}
+\texttt{phm2pj projection-filename number-detectors number-views [options...]}
\begin{twocollist}
\twocolitem{\doublehyphen{phantom}}{Select a standard phantom.
\item \texttt{unit-pulse}
\end{itemize}
}
-\twocolitem{\doublehyphen{phmfile}}{Load a phantom definition definition}
+\twocolitem{\doublehyphen{phmfile}}{Reads a user-created phantom file.}
-\twocolitem{\doublehyphen{geometry}}{
+\twocolitem{\doublehyphen{geometry}}{Sets the scanner geometry. Valid values are:
\begin{itemize}\itemsep=0pt
\item \texttt{parallel}
\item \texttt{equiangular}
\twocolitem{\doublehyphen{nray}}{ Number of samples per each detector}
-\twocolitem{\doublehyphen{rotangle}}{Sets the rotation amount as a multiple of pi.
+\twocolitem{\doublehyphen{rotangle}}{The rotation angle as a multiple of pi.
For parallel geometries use a rotation angle of \texttt{1} and for equilinear and equiangular
geometries use a rotation angle of \texttt{2}. The default is to use to
appropriate rotation angle based on the geometry.}
\twocolitem{\doublehyphen{view-ratio}}{Sets the field of view as a ratio of the diameter of the phantom.
- For normal scanning, a default value of \texttt{1.0} is optimal.}
+ For normal scanning, the default value of \texttt{1.0} is optimal.}
\twocolitem{\doublehyphen{scan-ratio}}{Sets the length of scanning as a ratio of the view diameter.
- For normal scanning, a value of \texttt{1.0} is optimal.}
+ For normal scanning, the default value of \texttt{1.0} is optimal.}
-\twocolitem{\doublehyphen{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 \texttt{1.0} is optimal. For other
+\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.}
\end{twocollist}
\section{phm2if}\label{phm2if}\index{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.
+Converts a geometric phantom object into an imagefile.
\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,
Convert a projection file into an imagefile.
\usage
-\texttt{pj2if projection-file-name image-file-name x-size ysize [options...]}
+\texttt{pj2if projection-filename image-filename x-size y-size [options...]}
+\textbf{Options}
\begin{twocollist}
-\twocolitem{\doublehyphen{help}}{Print brief online help}
+\twocolitem{\doublehyphen{dump}}{Print all projection data to the console.}
\end{twocollist}
\section{pjinfo}\label{pjinfo}\index{pjinfo}%
Displays information about a projection file.
\usage
+\texttt{pjinfo projection-filename [options...]}
+
+\textbf{Options}
\begin{itemize}\itemsep=0pt
- \item \doublehyphen{binaryheader}
- \item \doublehyphen{binaryview}
- \item \doublehyphen{startview}
- \item \doublehyphen{endview}
- \item \doublehyphen{dump}
+ \item \doublehyphen{binaryheader} - Dump the binary header to the standard output.
+ This option is only used when manually creating a composite projection file from
+ several different projection files.
+ \item \doublehyphen{binaryview} - Dump binary view data to the standard output.
+ This option is only used when manually creating a composite projection file from
+ several different projection files.
+ \item \doublehyphen{startview} - Sets starting view to display. Default is \texttt{0}.
+ \item \doublehyphen{endview} - Sets ending view to display. Default is the last view.
+ \item \doublehyphen{dump} - Print all projection data to the console.
\end{itemize}
\section{pjrec}\label{pjrec}\index{pjrec}%
Reconstructs the interior of an object from a projection file.
+\usage
+\texttt{pjrec projection-filename image-filename image-cols image-rows [options...]}
+
+\textbf{Options}
+
\begin{twocollist}
\twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
\twocolitem{\doublehyphen{filter}}{Selects which filter to apply to
bit faster.
\begin{itemize}\itemsep=0pt
\item \texttt{convolution}
-\item \texttt{fourier}
-\item \texttt{fourier-table}
-\item \texttt{fftw}
-\item \texttt{rfftw}
-\item fftw
-\item rfftw
+\item \texttt{fourier} - Uses simple Fourier transform.
+\item \texttt{fourier-table} - Optimizes Fourier transform by precalculating trigometric functions.
+\item \texttt{fftw} - Uses complex-valued Fourier transform with the \emph{fftw} library.
+\item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
\end{itemize}
}
+\end{twocollist}
+\begin{twocollist}
\twocolitem{\doublehyphen{filter-generation}}{Selects the filter
generation. With convolution, \texttt{direct} is the proper method
to select. With any of the frequency methods,
\texttt{inverse-fourier} is the best method.
\begin{itemize}\itemsep=0pt
-\item direct
-\item inverse-fourier
+\item \texttt{direct}
+\item \texttt{inverse-fourier}
\end{itemize}
}
\twocolitem{\doublehyphen{interpolation}}{Interpolation technique.
-\texttt{linear} is optimal.
+\texttt{cubic} is optimal when the
+data is smooth. Smooth data is obtained by taking many projections and/or
+using a smoothing filter. In the absence of smooth data, \texttt{linear} gives better results and
+is many times faster than cubic interpolation.
+
\begin{itemize}\itemsep=0pt
-\item nearest
-\item linear
-\item cubic
+\item \texttt{nearest}
+\item \texttt{linear}
+\item \texttt{cubic}
\end{itemize}
}
\twocolitem{\doublehyphen{backprojection}}{Selects the
backprojection technique. A setting of \texttt{idiff} is optimal.
\begin{itemize}\itemsep=0pt
-\item trig
-\item table
-\item diff
-\item idiff
+\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.
\end{itemize}
}
\twocolitem{\doublehyphen{zeropad}}{Zeropad factor. A setting of
-\texttt{1} is optimal.}
+\texttt{1} is optimal whereas a zeropad of \texttt{0} performs no zeropadding.}
\end{twocollist}