%% This file is part of Enblend.
%% Licence details can be found in the file COPYING.


\chapter[Visualization Image]{\label{sec:visualization-image}%
  \genidx{seam-line!visualization}%
  \gensee{visualization image}{seam-line, visualization}%
  \gensee{image!seam-line}{seam-line, visualization}%
  Visualization Image}

The visualization image shows the symmetric difference of the pixels in the rectangular region
where two images overlap.  The larger the difference the lighter shade of gray it appears in the
visualization image.  \App{} paints the non-overlapping parts of the image pair -- these are the
regions where \emph{no} blending occurs -- in \val{val:visualize-no-overlap-value-color}.
Table~\ref{tab:visualization-colors} shows the meanings of all the colors that are used in
seam-line visualization images.

\begin{table}
  \begin{description}
  \item[\val{val:visualize-no-overlap-value-color} areas]\itemend
    Non-overlapping parts of image pair.

  \item[various shades of gray]\itemend
    Difference of the pixel values in the overlap region.

  \item[\val{val:visualize-state-space-color} dot]\itemend
    Location of an optimizer sample.

  \item[\val{val:visualize-first-vertex-value-color} dot]\itemend
    First sample of a line segment.

  \item[\val{val:visualize-next-vertex-value-color} dot]\itemend
    Any other but first sample of a line segment.

    \genidx{radius!Dijkstra@\propername{Dijkstra}}%
    \gensee{Dijkstra@\propername{Dijkstra} radius}{radius, \propername{Dijkstra}}%
  \item[\val{val:visualize-state-space-inside-color} dot]\itemend
    State space sample inside the \propername{Dijkstra} radius.

  \item[\val{val:visualize-state-space-unconverged-color} dot]\itemend
    Non-converged point.

  \item[\val{val:visualize-initial-path-color} line]\itemend
    Initial seam line as generated by the primary seam generator.

  \item[\val{val:visualize-short-path-value-color} line]\itemend
    Final seam line.

    \genidx{seam-line!endpoint!frozen}%
    \gensee{frozen seam-line endpoint}{seam-line, endpoint, frozen}%
  \item[\val{val:visualize-frozen-point} \val{val:mark-frozen-point}]\itemend
    Non-movable, or ``frozen'' endpoint of a seam-line segment that no optimizer is allowed to
    move around.

    \genidx{seam-line!endpoint!movable}%
    \gensee{movable seam-line endpoint}{seam-line, endpoint, movable}%
  \item[\val{val:visualize-movable-point} \val{val:mark-movable-point}]\itemend
    Movable endpoint of a seam-line segment, which seam-line optimizers can move.
  \end{description}

  \caption[Visualization colors an symbols]{%
    \label{tab:visualization-colors}%
    \genidx{seam-line!visualization image colors}%
    \gensee{colors!visualization image}{seam-line, visualization image colors}%
    \gensee{visualization image colors}{seam-line, visualization image colors}%
    Colors and symbols used in seam-line visualization images.}
\end{table}


\genidx{seam-line!visualization example}%
\gensee{visualization image example}{seam-line, visualization example}%
\figureName~\ref{fig:seam-line-visualization} shows an example of a seam-line visualization.  It
was produced with an \App{} run at all defaults plus passing options~\code{--fine-mask} and
\code{--vi\shyp su\shyp al\shyp ize}.

\begin{figure}
  \begin{maxipage}
    \centering
    \includeimage[width=1\linewidth]{seam-line-visualization}
  \end{maxipage}

  \caption[Seam-line visualization]{\label{fig:seam-line-visualization}%
    Seam-line visualization of a simple overlap.  \ifhevea \relax\else The
    853\classictimes238~pixel image has been rescaled to fit the width of the current page.\fi}
\end{figure}

The large \val{val:visualize-no-overlap-value-color} border is ``off-limits'' for \App, for the
images do not overlap there.  The dark wedge inside the
\val{val:visualize-no-overlap-value-color} frame is where the images share a common region.

The initial seam-line (\val{val:visualize-initial-path-color}) is almost straight with the
exception of a single bend on the left side of the image and the final seam-line
(\val{val:visualize-short-path-value-color}) meanders around it.


%%% Local Variables:
%%% fill-column: 96
%%% End:
