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.