+
+\section{Phantom Processing}\label{phantomprocessing}
+\textbf{Key Concepts}\\
+\hspace*{1cm}\texttt{Geometric transformations}\\
+\hspace*{1cm}\texttt{Matrix algebra}\\
+
+Phantom objects are processed in two different ways: rasterization
+and projections. \ctsim\ uses optimized techniques to perform
+those procedures.
+
+The primary tool used to optimize these processes is
+\emph{Geometric transformations}. For every primitive
+\helpref{phantom element}{phantomelements}, a standardized
+configuration is defined. This standard configuration is used to
+speed the process of collecting projections.
+
+In general, to transform an object into the standard
+configuration, the following sequence of transformations occur.
+When this sequence is performed, the coordinates are termed the
+\emph{normalized phantom element} coordinates.
+
+\begin{itemize}
+\item Scaling by the inverse of its size, that is usually
+scaling by \texttt{(1/dx,1/dy)}.
+\item Translating the object to the origin, that is usually translation by
+\texttt{(-cx,-cy)}.
+\item Rotating the object by \texttt{-r}.
+\end{itemize}
+
+These steps can by combined into a single matrix multiplication
+which involves only 4 multiplications and 6 additions to transform
+both \texttt{x} and \texttt{y} coordinates. This matrix is
+precalculated and stored when the phantom is created. Similarly,
+the inverse of the matrix is precalculated and store to perform
+the inverse of this transformation.
+
+As an example of this technique, consider the problem of finding
+the length of an arbitrary line that may intersect an arbitary
+ellipse. Define the endpoints of the line by \texttt{(x1,y1)} and
+\texttt{(x2,y2)}.
+
+\begin{enumerate}
+\item First, transform the coordinates into the normalized
+phantom element coordinates. At this point, the ellipse will have
+been transformed into a unit circle centered at \texttt{(0,0)}.
+\item Translate the
+coordinates by \texttt{(-x1,-y2)}. The line now has the endpoint
+centered at the origin. The ellipse will now have its center at
+\texttt{(-x1,-y1)}.
+\item Rotate the coordinates by the negative of angle of the line
+with respect to the x-axis.
+\end{enumerate}
+
+At this point the line will now lie along the positive x-axis with
+one end at \texttt{(0,0)}. The circle will be rotated around the
+origin as well. At this point, it is fairly trivial to calculate
+the length of the intersection of the line with the unit circle.
+For example, if the \texttt{y} coordinate for the center of the
+circle is greater than \texttt{1} or less than \texttt{-1}, then
+we know that the unit circle doesn't intersect the line at all and
+stop further processing. Otherwise, the endpoints of the
+intersection of the line with the unit circle is a simple
+calculation.
+
+Those new, intersected endpoints are then inverse transformed by
+reverse of the above transformation sequence. After the inverse
+translation, the transformed endpoints will be the endpoints of
+the line that intersect the actual ellipse prior to any
+transformations.
+
+Though this sequence of events is somewhat complex, it is quite
+fast since the multiple transformations can be combined into a
+single matrix multiplication. Further, this technique is amendable
+to rapidly calculating the intersection of a line with any of the
+phantom elements that \ctsim\ supports.
+