\def\figdir{./Figs}
When building a steering filter, we want to create a filter
that destroys a given slope {\it p}. Further, we would like to
control the bandwidth response of
filters oriented at different
slopes.  We can achieve both these goals by constructing
a triangle centered at the appropriate slope.
Every grid
cell center which the triangle passes through is assigned a negative value
proportional to the height of the triangle at that location,
\begin{equation}
f({\rm lag})=-\frac{a\left(\frac{w}{2}-|{\rm lag}|-p\right)}{\frac{w}{2} 
\sum_{{\rm lag}} f({\rm lag})} ,\end{equation}
where:
\begin{description}
\item [ $f({\rm lag})$] is the filter value at a given lag 
(for lags where $f({\rm lag})<0$)
\item [a] is the amplitude of the filter (ranging from 0 to 1)
\item [w] is the width of the triangle
\item [p] is the slope.
\end {description}
The wider the triangle base, the less  {\it anisotropic}
our smoother becomes  (Figure~\ref{fig:width}).  By increasing or
decreasing  $a$,
we can increase or decrease the {\it range}.

%\sideplot[t]{steering}{height=2.5in}{A finite-difference star for a monoplane rejection filter.
%The left column contains a `1'.  The right column contains
%samples off a triangle.
%The desired
%slope is represented by {\it p}, the smaller {\it w} the more precise
%the dip smoothed, and the larger {\it h} the bigger the
%area the smoother acts on.}

For example, let's return to the missing data problem.
If we  limit our {\it a priori} information  to
the assumption that velocity follows
structure and we have some guesses at reflector position, we
can use this information to build a complex operator (which I will
refer to as a {\it steering filter} composed of 
dip penalty filters.
For this problem we will assume that we have the location
of four reflectors, one above the top unconformity, two between the 
unconformities and  one below the lower unconformity 
(left-panel of Figure~\ref{fig:qdome-refs}).
If we  interpolate these dips to our entire model space we have all
we need to construct a steering filter operator.
If we use this operator as our regularizer we get Figure~\ref{fig:qdome-reg-cont}
as our interpolation result.  The steering filter  did a significantly
better job than our patching approach.  
%It
%didn't do as good of job as characterizing the model covariance as
%our space-varying PEF, Figure~\ref{fig:gp-continuous}, but it
%assumed a much more reasonable set of known information.
With more information about our model (more reflectors, an idea on
the level of {\it anisotropy} in different portions of the model, etc.) we
could do even better by using some of the other adjustable
parameters available when constructing the steering filter operator.

\activeplot{qdome-refs}{width=6.0in,height=3.0in}{ER}{Left panel
are four reflectors chosen to represent our {\it a priori} information.
The right panel is interpolated slope calculated from the reflectors that
will form the basis of our dip penalty filter.}

\activesideplot{qdome-reg-cont}{width=3.0in,height=3.0in}{ER}{The result
of using our steering filter operator as regularizer to the
missing data problem.}

The three adjustable parameters, possibly different
at every model point, in the filter construction
can seem daunting but is what enables almost any covariance
function to be described by steering filters.
In certain regions of the model you might feel that
that  covariance function is much more isotropic.
In these regions you  could consider making your triangle
bigger to  smooth your filter coefficients over a wider angle {\it range}, while
keeping it small in areas where the covariance is much
more {\it anisotropic}.  The sum of the
non-zero lag coefficients opens up another intriguing freedom.  As
Figure~\ref{fig:distance} shows, when the sum of the non-zero lag coefficients
gets close to $-1$, the area over which the smoother operates increases
greatly.  This is similar to increasing the $\epsilon$ value over
only a portion of your model space.  This enables steering filters
to handle a model space where the {\it range} difference is variable.
The final parameter we can vary, p, controls the angle at which we
wish to smooth (Figure~\ref{fig:angle}).
Note how imposing a triangle
has helped, but not completely eliminated, the variance
in angular bandwidth response of the filter.

\activeplot{width}{width=6.0in,height=3.3in}{ER}{The impulse response of the smoothing filter as
function of the triangle base. Note the wider the base, the less precise
the dip smoothing. }

\activeplot{distance}{width=6.0in,height=3.3in}{ER}{The impulse response of the smoothing filter as
the sum of the non-zero lag coefficients get closer to 1.}

      
\activeplot{angle}{width=6.0in,height=3.3in}{ER}{The impulse response as we vary angle.
Note how the bandwidth response varies slightly with angle.}

