r491: no message
[ctsim.git] / doc / ctsim-textui.tex
1 \chapter{ctsimtext}\label{ctsimtext}\index{ctsimtext}%
2 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
3 \setfooter{\thepage}{}{}{}{}{\thepage}%
4
5 \ctsimtext\ is a master shell for all of the command-line utilities. 
6
7 \usage
8 \ctsimtext\ can be executed without any parameters. In that case, \ctsimtext\ 
9 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 \texttt{quit} command.
10
11 \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
12 \texttt{ctsimtext function-name parameters...}.
13
14 The available functions are:
15
16 \section{if1}\label{if1}\index{ctsimtext,if1}%
17 Perfoms math functions on a single image.
18
19 \usage
20 \begin{itemize}\itemsep=0pt
21   \item --invert
22   \item --log
23   \item --exp
24   \item --sqr
25   \item --sqrt
26 \end{itemize}
27
28 \section{if2}\label{if2}\index{ctsimtext,if2}%
29 Perfoms math functions on a two images.
30
31 \usage
32 \begin{itemize}\itemsep=0pt
33   \item --add
34   \item --sub
35   \item --mul
36   \item --comp
37   \item --column-plot
38   \item --row-plot
39 \end{itemize}
40
41 \section{ifexport}\label{ifexport}\index{ctsimtext,ifexport}%
42 Export an imagefile to a standard graphics file.
43
44 \usage
45 \begin{itemize}\itemsep=0pt
46   \item --format
47   \begin{itemize}\itemsep=0pt
48     \item --pgm
49     \item --pgmasc
50     \item --png
51     \item --png16
52   \end{itemize}
53   \item --center
54   \begin{itemize}\itemsep=0pt
55     \item median
56     \item mode
57     \item mean
58   \end{itemize}
59   \item --auto
60   \begin{itemize}\itemsep=0pt
61      \item --full
62      \item --std0.1
63      \item --std0.5
64      \item --std1
65      \item --std2
66      \item --std3
67   \end{itemize}
68   \item --scale
69   \item --min
70   \item --max
71 \end{itemize}
72
73 \section{ifinfo}\label{ifinfo}\index{ctsimtext,ifinfo}%
74
75 Displays information about an imagefile.
76
77 \usage
78 \begin{itemize}\itemsep=0pt
79   \item --labels
80   \item --no-labels
81   \item --stats
82   \item --no-stats
83   \item --help
84 \end{itemize}
85
86 \section{phm2pj}\label{phm2pj}\index{ctsimtext,phm2pj}%
87 Simulates collection of X-rays data (projections) around a phantom object.
88
89 \usage
90 phm2pj projection-file-name number-of-detectors number-of-views [options...]
91 \begin{itemize}\itemsep=0pt
92   \item --phantom
93   Select a standard phantom 
94   \begin{itemize}\itemsep=0pt
95     \item herman
96     \item herman-b
97     \item shepp-logan
98     \item shepp-logan-b
99   \end{itemize}
100
101   \item --phmfile
102   Load a phantom definition definition
103
104   \item --geometry
105   \begin{itemize}\itemsep=0pt
106     \item parallel
107     \item equiangular
108     \item equilinear
109   \end{itemize}
110
111   \item --nray
112     Number of samples per each detector
113
114   \item --rotangle
115     Sets the rotation amount as a multiple of pi. For parallel geometries use
116 a rotation angle of 1 and for equilinear and equiangular geometries use a rotation angle of 2.
117
118   \item --field-of-view
119     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.
120
121   \item --focal-length
122     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.
123 \end{itemize}
124
125 The Herman phantom is taken with permission from Gabor Hermans 1980 book\cite{HERMAN80}. The Shepp-Logan phantom was published in 1974\cite{SHEPP74}.
126
127 \section{phm2if}\label{phm2if}\index{ctsimtext,phm2if}%
128 Converts a geometric phantom object into an imagefile. The size of the
129 imagefile in pixels must be specified as well as the number of samples
130 to average per pixel.
131
132 \usage
133 \begin{itemize}\itemsep=0pt
134   \item --nsamples
135 \end{itemize}
136
137 \section{pj2if}\label{pj2if}\index{ctsimtext,pj2if}%
138 Convert a projection file into an imagefile.
139
140 \usage
141 \begin{itemize}\itemsep=0pt
142 \item --help    Print brief online help
143 \end{itemize}
144
145 \section{pjinfo}\label{pjinfo}\index{ctsimtext,pjinfo}%
146 Displays information about a projection file.
147
148 \usage
149 \begin{itemize}\itemsep=0pt
150   \item --binaryheader
151   \item --binaryview
152   \item --startview
153   \item --endview
154   \item --dump
155 \end{itemize}
156
157 \section{pjrec}\label{pjrec}\index{ctsimtext,pjrec}%
158 Reconstructs the interior of an object from a projection file.
159
160 \usage
161 \begin{twocollist}
162 \twocolitemruled{\textbf{Parameter}}{\textbf{Options}}
163 \twocolitem{\textbf{--filter}}{Selects which filter to apply to each projection. To properly reconstruct an image, this filter should be multiplied 
164 by the absolute value of distance from zero frequency.
165 \begin{itemize}\itemsep=0pt
166 \item abs\_bandlimit
167 \item abs\_cosine
168 \item abs\_hamming
169 \end{itemize}
170 }
171 \twocolitem{\textbf{--filter-parameter}}{Sets the alpha level for Hamming
172   window. At setting of 0.54, this equals the Hanning window.}
173
174 \twocolitem{\textbf{--filter-method}}{Selects the filtering method. For large numbers of detectors, \texttt{rfftw} is optimal. For smaller numbers of detectors, \texttt{convolution} might be a bit faster. 
175 \begin{itemize}\itemsep=0pt
176 \item convolution
177 \item fourier
178 \item fourier\_table
179 \item fftw
180 \item rfftw
181 \end{itemize}
182 }
183 \twocolitem{\textbf{--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.
184 \begin{itemize}\itemsep=0pt
185 \item direct
186 \item inverse-fourier
187 \end{itemize}
188 }
189 \twocolitem{\textbf{--interpolation}}{Interpolation technique. \texttt{linear} is optimal.
190 \begin{itemize}\itemsep=0pt
191 \item nearest
192 \item linear
193 \end{itemize}
194 }
195 \twocolitem{\textbf{-backprojection}}{Selects the backprojection technique. A setting of \texttt{idiff3} is optimal.
196 \begin{itemize}\itemsep=0pt
197 \item trig
198 \item table
199 \item diff
200 \item diff2
201 \item idiff2
202 \item idiff3
203 \end{itemize}
204 }
205 \twocolitem{\textbf{--zeropad}}{Zeropad factor. A setting of \texttt{1} is optimal.}
206
207 \twocolitem{\textbf{--preinterpolate}}{Selects preinterpolation interpolation technique and sets the preinterpolation factor. Currently, this is experimental and does not work well.}
208 \end{twocollist}
209