r495: no message
[ctsim.git] / doc / ctsim-concepts.tex
index bd6bffbb32563ce68df9ec51b23ff895a2286abc..368c5e5334c94193bf922efe9b971bc3a4ed1c68 100644 (file)
@@ -23,24 +23,24 @@ phantom elements. These elements are simple geometric shapes,
 specifically, rectangles, triangles, ellipses, sectors and segments.
 With these the standard phantoms used in the CT literature (the Herman
 and the Shepp-Logan) can be constructed.  In fact
-\ctsim\ provides a shortcut to construct those phantoms for you.  It also 
+\ctsim\ provides a shortcut to construct those phantoms for you.  It also
 allows you to write a file in which the composition of your own phantom is
 described.
 
-The types of phantom elements and their definitions are taken from Herman's 1980 
+The types of phantom elements and their definitions are taken from Herman's 1980
 book\cite{HERMAN80}.
 
 \subsection{Phantom File}\label{phantomfile}\index{Concepts,Phantoms,File}
-Each line in the text file describes an element of the 
+Each line in the text file describes an element of the
 phantom.  Each line contains seven entries, in the following form:
 \begin{verbatim}
 item cx cy dx dy r a
 \end{verbatim}
 The first entry defines the type of the element, one
-of {\tt rectangle}, {\tt ellipse}, {\tt triangle}, {\tt sector}, or {\tt segment}.  
+of {\tt rectangle}, {\tt ellipse}, {\tt triangle}, {\tt sector}, or {\tt segment}.
 {\tt cx}, {\tt cy}, {\tt dx} and {\tt dy} have different meanings depending on the element type.
 
-{\tt r} is the rotation applied to the object in degrees counterclockwise, 
+{\tt r} is the rotation applied to the object in degrees counterclockwise,
 and {\tt a} is the X-ray attenuation coefficient of the object.
 Where objects overlap, the attenuations of the overlapped objects are summed.
 
@@ -54,32 +54,33 @@ with the centre of the ellipse at cx and cy.  Of note, the commonly used
 phantom described by Shepp and Logan\cite{SHEPP74} uses only ellipses.
 
 \subsubsection{rectangle}
-Rectangles use 
+Rectangles use
 cx  and cy to define the position of the centre of the rectangle with respect
 to the origin.  dx and dy  are the half-width and half-height of the
-rectangle. 
+rectangle.
 
 \subsubsection{triangle}
 Triangles are drawn with the centre of the base at cx,cy, with a base
 width of 2*dx in x direction, and a height of dy.  Rotations are then
-applied about the origin. 
+applied about the origin.
 
 \subsubsection{sector}
 It appears that dx and dy
 define the end points of a radius of the sector, from which the radius and
 the angle of the two arms of the sector are calculated.  But then
-orientation and centreing of the sector don't make much sense yet.  
+orientation and centering of the sector don't make much sense yet.
 
 \subsubsection{segment}
 Segments are the segments of a circle between a chord and the
-perimeter of the circle.  This also isn't clear to me, but it appears that 
+perimeter of the circle.  This also isn't clear to me, but it appears that
 perhaps the distance from chord to circle perimeter, and circle radius is
 defined by dx and dy. Chord is always horizontal through the origin, then
 translated and then rotated (???).
 
 \subsection{Phantom Size}
 Also note that the overall dimensions of the phantom are increased by 1\%
-above the specified sizes to avoid clipping due to round-off errors.  If the phantom is defined as
+above the specified sizes to avoid clipping due to round-off errors.  
+So, if the phantom is defined as
 a rectangle of size 0.1 by 0.1, the actual phantom has extent $\pm$0.101 in
 each direction.
 
@@ -93,12 +94,12 @@ the radius or diameter of the circular area from which data is collected
 and an image reconstructed.  In a real CT scanner, if the object being
 scanned is larger than the field of view, you get image artifacts.  And of
 course you can't stuff an object into a scanner if the object is larger
-than the bore!  In this model, the scanner size or field of view would 
+than the bore!  In this model, the scanner size or field of view would
 be used as the standard length scale.
 
 However, \ctsim\ takes another approach.  I believe this approach arose
 because the "image" of the phantom produced from the phantom description
-was being matched to the reconstruction image of the phantom.  That is, 
+was being matched to the reconstruction image of the phantom.  That is,
 the dimensions of the 'before' and 'after' images  were being matched.
 The code has a Phantom object and a Scanner object.  The geometry of the
 Scanner is defined in part by the properties of the Phantom.  In fact,
@@ -106,24 +107,20 @@ all dimensions are determined in terms of the phantom size, which is used
 as the standard length scale.     Remember, as mentioned above, the
 phantom dimensions are also padded by 1\%.
 
-The maximum of the phantom length and height is used as the phantom
-dimension, and one can think of a square bounding box of this size 
-which completely contains the phantom.  Let $l_p$ be the width (or height)
-of this square. 
+The maximum of the phantom length and height is used to define the square
+that completely surrounds the phantom. Let $p_l$ be the width (also height)
+of this square. The diameter of this boundary box, $p_d$ is then
+\latexonly{\begin{equation}p_d = \sqrt{2} (p_l/2)\end{equation}}
+\latexignore{sqrt(2) * $p_l$.}
+This relationship can be seen in figure 1.
 
 \subsubsection{Focal Length \& Field of View}
-The two other important variables are the field-of-view-ratio ($f_{vR}$) 
-and the focal-length-ratio ($f_{lR}$).  These are used along with $l_p$ to
-define the focal length and the field of view (not ratios) according to
-\begin{equation}
-f_l = \sqrt{2} (l_p/2)(f_{lR})= (l_p/\sqrt{2}) f_{lR}
-\end{equation}
-\begin{equation}
-f_v = \sqrt{2}l_p f_{vR}
-\end{equation}
-So the field of view ratio is specified in units of the phantom diameter,
-whereas the focal length is specified in units of the phantom radius.  The 
-factor of $\sqrt(2)$ can be understood if one refers to figure 1, where
+The two important variables is the focal-length-ratio $f_lr$.
+This is used along with $p_d$ to
+define the focal length according to
+\latexonly{\begin{equation}f_l = f_lr p_d\end{equation}}
+\latexignore{$f_l$ = $f_lr$ x $p_d$\\}
+where
 we consider the case of a first generation parallel beam CT scanner.
 
 \subsubsection{Parallel Geometry}\label{geometryparallel}\index{Concepts,Scanner,Geometries,Parallel}
@@ -142,25 +139,25 @@ However, if $f_{vR}$ is less than one and thus the scanner is smaller than
 the phantom, then distortions will occur without warning from the program.
 
 The code also sets the detector length equal to the field of view in this
-case.  The focal length is chosen to be $\sqrt{2}l_p$ so the phantom will 
+case.  The focal length is chosen to be $\sqrt{2}l_p$ so the phantom will
 fit between the source and detector at all rotation angles, when the focal
 length ratio is specified as 1.  Again, what happens if the focal length
 ratio is chosen less than 1?
 
 The other thing to note is that in this code the detector array is set to
-be the same size as the field-of-view $f_v$, equation (2).  So, one has to 
-know the size of the phantom to specify a given scanner geometry with a 
+be the same size as the field-of-view $f_v$, equation (2).  So, one has to
+know the size of the phantom to specify a given scanner geometry with a
 given source-detector distance (or $f_l$ here) and a given range of
-excursion ($f_v$ here).  
+excursion ($f_v$ here).
 
 \subsubsection{Divergent Geometries}\label{geometrydivergent}\index{Concepts,Scanner,Geometries,Divergent}
-Next consider the case of equilinear (second generation) and equiangular 
-(third, fourth, and fifth generation) geometries.  
+Next consider the case of equilinear (second generation) and equiangular
+(third, fourth, and fifth generation) geometries.
 The parts of the code  relevant to this
-discussion are the same for both modes.  In the equilinear mode, a single 
+discussion are the same for both modes.  In the equilinear mode, a single
 source produces a fan beam which is read by a linear array of detectors.  If
 the detectors occupy an arc of a circle, then the geometry is equiangular.
-See figure 2. 
+See figure 2.
 \begin{figure}
 \includegraphics[width=\textwidth]{ctsimfig2.eps}
 \caption{Equilinear and equiangular geometries.}
@@ -168,35 +165,39 @@ See figure 2.
 
 For these geometries, the following logic is executed:  A variable dHalfSquare
 $d_{hs}$ is defined as
-\begin{equation}
+\latexonly{\begin{equation}
 d_{hs} = (f_v)/(2\sqrt{2}) = (l_p/2) f_{vR}
-\end{equation}
-This is then subtracted from the focal length $f_l$ as calculated above, and 
-assigned to a new variable $\mathrm{dFocalPastPhm} = f_l - d_{hs}$.  Since $f_l$ and 
-$d_{hs}$ are derived from the phantom dimension and the input focal length and field of view ratios, one can write, 
+\end{equation}}
+This is then subtracted from the focal length $f_l$ as calculated above, and
+assigned to a new variable $\mathrm{dFocalPastPhm} = f_l - d_{hs}$.  Since $f_l$ and
+$d_{hs}$ are derived from the phantom dimension and the input focal length and field of view ratios, one can write,
+\latexonly{
 \begin{equation}
-\mathrm{dFocalPastPhm} = f_l -d_{hs} 
-       = \sqrt{2}(l_p/2) f_{lR} - (l_p/2) f_{vR} = l_p(\sqrt{2}f_{lR} - f_{vR})
+\mathrm{dFocalPastPhm} = f_l -d_{hs}
+    = \sqrt{2}(l_p/2) f_{lR} - (l_p/2) f_{vR} = l_p(\sqrt{2}f_{lR} - f_{vR})
 \end{equation}
+}
 If this quantity is less than or equal to zero, then at least for some
 projections  the source is inside the phantom.  Perhaps a figure will help at
 this point. Consider first the case where $f_{vR} = f_{lR} =1 $, figure 3. The
 square in the figure bounds the phantom and has sides $l_p$.  For this case
-then, 
-\[ 
+then,
+\latexonly{
+\[
 f_l=\sqrt{2}l_p/2 = l_p/\sqrt{2},
 \]
 \[
-f_v = \sqrt{2}l_p, 
+f_v = \sqrt{2}l_p,
 \]
-and 
+and
 \[
 d_{hs} = {l_p}/{2}.
 \]
-Then 
+Then
 \[
 \mathrm{dFocalPastPhm} = ({l_p}/{2}) (\sqrt{2}-1)
 \]
+}
 \begin{figure}
 \includegraphics[height=0.5\textheight]{ctsimfig3.eps}
 \caption{Equilinear and equiangluar geometry when focal length ratio =
@@ -205,10 +206,10 @@ field of view ratio = 1.}
 The angle $\alpha$ is now defined as shown in figure 3, and the detector
 length is adjusted to subtend the angle $2\alpha$ as shown.  Note that the
 size of the detector array may have changed and the field of view is not
-used.  
+used.
 For a circular array of detectors, the detectors are spaced around a
 circle covering an angular distance of $2\alpha$.  The dotted circle in
-figure 3 indicates the positions of the detectors in this case. Note that 
+figure 3 indicates the positions of the detectors in this case. Note that
 detectors at the ends of the range would not be illuminated by the source.
 
 Now, consider increasing the focal length ratio to two leaving the
@@ -217,7 +218,7 @@ denser, and the real field of view is closer to that specified, but note
 again that the field of view is not used. Instead, the focal length is
 used to give a distance from the centre of the phantom to the source, and
 the detector array is adjusted to give an angular coverage to include the
-whole phantom.  
+whole phantom.
 \begin{figure}
 \includegraphics[width=\textwidth]{ctsimfig4.eps}
 \caption{Equilinear and equiangluar geometry when focal length ratio = 2
@@ -229,7 +230,7 @@ the phantom rotated by 45 degrees, corresponding to the geometry of a
 projection taken at that angle.  Note that the fan beam now clips the top
 and bottom corners of the bounding square.  This illustrates that one may
 still be clipping the phantom, despite \ctsim\'s best efforts.  You have
-been warned.  
+been warned.
 \begin{figure}
 \includegraphics[width=\textwidth]{ctsimfig5.eps}
 \caption{Equilinear and equiangluar geometry when focal length ratio = 4.}
@@ -253,10 +254,16 @@ in a 16-CPU cluster with good results.
 
 \subsubsection{Filter projections}
 The projections for a single view have their frequency data multipled by
-a filter of absolute(w). \ctsim\ permits four different ways to accomplish this
+a filter of $|w|$. \ctsim\ permits four different ways to accomplish this
 filtering. Two of the methods use convolution of the projection data with the
-inverse fourier transform of absolute(x). The other two methods perform an fourier
-transform of the projection data and multiply that by the absolute(x) filter and
+inverse fourier transform of $|w|$. The other two methods perform an fourier
+transform of the projection data and multiply that by the $|w|$ filter and
 then perform an inverse fourier transform.
 
-\subsubsection{Backprojection of filtered projections}
\ No newline at end of file
+Though multiplying by $|w|$ gives the sharpest reconstructions, in practice, superior results are obtained by mutiplying the $|w|$ filter by
+another filter that attenuates the higher frequencies. \ctsim\ has multiple
+filters for this purpose.
+
+\subsubsection{Backprojection of filtered projections}
+Backprojection is the process of ``smearing'' the filtered projections over
+the reconstructing image.
\ No newline at end of file