X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fctsim-gui.tex;h=7e0f6d4de0f01ade1dbfc1f9cb53aaad3c0aac72;hb=befd71a7157339b52a0c40359518d5276b25d127;hp=99bc69d5ac4a525dba86eb8d7f888020d75947b3;hpb=103b084776d861a93e851ebff9c72798019b7561;p=ctsim.git diff --git a/doc/ctsim-gui.tex b/doc/ctsim-gui.tex index 99bc69d..7e0f6d4 100644 --- a/doc/ctsim-gui.tex +++ b/doc/ctsim-gui.tex @@ -1,14 +1,229 @@ -\chapter{ctsim - the Graphical User Interface}\label{ctsim}\index{ctsim}% +\chapter{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 -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{Overview} +\ctsim\ is the graphical shell for the CTSim project. It utilizes +using the \urlref{wxWindows}{http://www.wxwindows.org} library for +cross-platform compatibility. The graphical shell is compatible +with Microsoft Windows, \urlref{GTK}{http://www.gtk.org}, and +\urlref{Motif}{http://www.openmotif.org} graphical environments. +This graphical includes all of the functionality of the +command-line interface \helprefn{\ctsimtext}{ctsimtext} as well as +great image processing and visualization features. -\ctsim can open projection files, image files, phantom definition files, and plotfiles. +\ctsim\ can open projection files, image files, phantom files, and +plot files. -\usage -ctsim [OPTIONS] [files to open...] +\usage \texttt{ctsim [files to open...]} +You can invoke \ctsim\ by itself on the command line, or include +on the command-line any number of files that you want \ctsim\ to +automatically open. + +\section{File Types Support} + +Phantom and plot files are stored as ASCII text. In contrast, +image and projection files are stored in binary format. \ctsim +incorporates logic so that binary files are cross-platform +compatible between both little and big endian architectures. + +\subsection{Phantom} +Besides loading phantom files from the disk, the Herman and +Shepp-Logan phantoms are built-in to \ctsim. Phantom files can be +read and stored on the disk. However, a text editor is required to +create and edit these files. + +\subsection{Image} +Image files are 2-dimensional files that store 4-byte floating +point values. Images files can be either real or complex valued. +Typically, all images are real except for images that have been +processed by Fourier transforms. As you might expect, +complex-valued images are twice the size of real-valued images +since both a real and imaginary component need to be store. + +Images files can also store any number of text labels. \ctsim\ uses +these labels for storing history information regarding +the creation and modifications of images. + +When complex-valued images are viewed on the screen, only the real +component is displayed. + +\subsection{Projection} +Projection files are created from Phantom files during the +projection process. Numerous options are available for the +creation of the these files. The files are stored in a binary +format with cross-platform compatibility on little and big endian +architectures. + +\subsection{Plot} +Plot files are created by \ctsim\ during analysis of image files. +They can be read and stored on the disk. They are stored as ASCII +files for easy cross-platform support. + +\section{Phantom Menus} + +\subsection{Properties} +Displays the properties of a phantom which includes: + +\begin{itemize}\itemsep=0pt +\item Overall dimensions of a phantom +\item A list of all component phantom elements +\end{itemize} + +\subsection{Rasterize Dialog} +This creates an image file from a phantom. Technically, it +converts the phantom from a vector (infinite resolution) object +into a 2-dimension array of floating-point pixels. The parameters +to set are: + +\begin{twocollist} +\twocolitemruled{\textbf{Parameter}}{\textbf{Options}} +\twocolitem{\texttt{X size}}{Number of columns in image file} +\twocolitem{\texttt{Y size}}{Number of rows in image file} +\twocolitem{\texttt{Samples per pixel}}{Numbers of samples taken +per pixel in both the x and y directions. For example, if the +\texttt{Samples per pixel} is set to \texttt{3}, then for every +pixel in the image file 9 samples (3 x 3) are averaged.} +\end{twocollist} + +\subsection{Projection Dialog} +This creates a projection file from a phantom. The options +available when collecting projections are: + +\begin{twocollist} +\twocolitem{\textbf{Geometry}}{ + \begin{itemize}\itemsep=0pt + \item Parallel + \item Equiangular + \item Equilinear + \end{itemize}} +\twocolitem{\textbf{Number of detectors}}{Sets the number of +detectors in the detector array.} + +\twocolitem{\textbf{Number of views}}{Sets the number of views +collected} + +\twocolitem{\textbf{Samples per detector}}{Sets the number of +samples collected for each detector} + +\twocolitem{\textbf{View Ratio}}{Sets the field of view as a ratio +of the diameter of the phantom. For normal scanning, a value of +1.0 is fine.} + +\twocolitem{\textbf{Scan Ratio}}{Sets the length of scanning as a +ratio of the view diameter. For normal scanning, a value of 1.0 is +fine.} + +\twocolitem{\textbf{Focal length ratio}}{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{twocollist} + +\subsection{Advanced Options} +\begin{twocollist} +\twocolitem{\textbf{Rotation Angle}}{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. Using any other rotation angle will lead to artifacts.} +\end{twocollist} + + + +\section{Image Menus} +\subsection{File - Properties} +Properties of image files include +\begin{itemize}\itemsep=0pt + \item Whether the image is real or complex valued + \item Numeric statistics + \item Image file labels +\end{itemize} + +\subsection{File - Export} +This command allows for exporting image files to a standard +graphics file format. This is helpful when you want to take an +image and import it into another application. The current +\helprefn{intensity scale}{intensityscale} is used when exporting +the file. The support file formats are: + +\begin{description}\itemsep=0pt +\item[PNG]Portable Network Graphics format. This uses 8-bits or +256 shades of gray. + +\item[PNG-16]This is a 16-bit version of PNG which allows for +65536 shades of gray. +\item[PGM]Portable Graymap format. This is a common format used on +UNIX systems. +\item[PGM]ASCII version of PGM. +\end{description} + + +\subsection{View}\label{intensityscale} +These options are for change the intensity scale for viewing the image. +They do not change the image data. +\subsubsection{Set} +\subsubsection{Auto} +\subsubsection{Full} +This resets the intensity scale to the full scale of the image. + +\subsection{Image} +These commands create a new image based upon the current image, +and for some commands, also a comparison image. + +\subsubsection{Add, Subtract, Multiply, Divide} + +\subsubsection{Image Size} + +\subsubsection{3-D Conversion} +Generates a 3-dimensional view of the current phantom. + +\subsection{Filter} +These commands filter and modify the image. + +\subsubsection{Arithmetic} + +\subsubsection{Frequency Based} + +\subsection{Analyze} +These commands are used for analyzing an image. + +\subsubsection{Plotting} + +\subsubsection{Image Comparison} + +\section{Projection Menus} + +\subsection{File - Properties} + +\subsection{Process - Convert Polar Dialog}\label{convertpolardialog} +The parameters are \texttt{xsize}, \texttt{ysize}, and \texttt{interpolation}. +The \texttt{xsize} and \texttt{ysize} parameters set the size of the +resulting image file. The \texttt{interpolation} parameter selects the +interpolation method. Currently, the \texttt{bilinear} option provides +the highest quality interpolation. + +\subsection{Process - Convert FFT Polar Dialog} +The parameters for this option are the same as \helprefn{Convert +Polar Dialog}{convertpolardialog}. For this command, though, the +projections are Fourier transformed prior to conversion to polar +image. + +\subsection{Reconstruct - Filtered Backprojection Dialog} +This dialog sets the parameters for reconstructing an image from projections +using the Filtered Backprojection technique. The parameters are identical +to those for the \helprefn{pjrec}{pjrec} program. + +\section{Plot Menus} +\subsection{File - Properties} + +\subsection{File - Save} +Plot files can be saved. They are saved in an ASCII text format. + +\subsection{View Menu} +These commands set the scaling for the y-axis. +\subsubsection{Set} +\subsubsection{Auto} +\subsubsection{Full}