Notice the dark halo around the reconstruction in Figure 3.
It was suppressed in Figure 5 by the subroutine halfdif().
Recall that slant-stack inversion (see IEI for example)
requires an filter.
Without doing any formal analysis I guessed that the same filter
would be helpful here
because the dark halo has a strong spectral component at
which would be extinguished by an
filter.
Because of the close relation to wave propagation and causality,
I found it appealing to factor
into a causal
part and an anticausal
part.
I applied a causal
after generating
the (t,x)-space and an anticausal
before making the
-space.
I implemented the causality by taking
the square root of a Fourier domain representation
of causal differentiation, namely (1-Z)1/2.
The listing of this half-order differentiator is straightforward.
Notice also that vspray() includes a scaling variable named scale. I did not develop a theory for this scale factor, but if you omit it, amplitudes in the reconstructions will be far out of amplitude balance with the input.