Next: Rho filter Up: PIXEL-PRECISE VELOCITY SCANNING Previous: PIXEL-PRECISE VELOCITY SCANNING

## Smoothing in velocity

To get smoother results I took the time axis to be continuous and the signal value at (t,x) to be distributed between the two points and .The two time points and the x-value are mapped to two slownesses .The signal from the (t,x)-pixel is sprayed into the horizontal line .To enable you to reproduce the result, I include the vspray() subroutine.

subroutine vspray( adj,  nt,dt,t0,  nx,dx,x0, tx,  ns,ds,s0, zs)
integer adj, it, nt, iz, nz, ix, nx, is, ns, isp, ism
real    tx(nt,nx), zs(nt,ns), scale
real    z,dz,z0, t,dt,t0, x,dx,x0, s,ds,s0, sm,sp, xm,xp, tm,tp
nz=nt;  dz=dt;  z0=t0;
if( adj == 0)  { do ix=1,nx;  call halfdif ( 1, nt, tx(1,ix), tx(1,ix) )}
do iz=  1, nz {  z = z0 + dz*(iz-1)
do ix=  1, nx {  x = x0 + dx*(ix-1)
do it= iz, nt {  t = t0 + dt*(it-1)
tm = t-dt/2;    xm = x
tp = t+dt/2;    xp = x
sm = (tm**2 -z**2)/xp**2;  ism = 1.5+(sm-s0)/ds
sp = (tp**2 -z**2)/xm**2;  isp = 1.5+(sp-s0)/ds
if( ism<2 ) next
if( isp>ns) next
scale = sqrt( t / (1.+isp-ism) ) / ( abs(x) + abs(dx)/2.)
do is= ism, isp {
zs(iz ,is) = zs(iz ,is) + tx(it ,ix) * scale
else
tx(it ,ix) = tx(it ,ix) + zs(iz ,is) * scale
}
} } }
if( adj != 0)  { do ix=1,nx;  call halfdif ( 0, nt, tx(1,ix), tx(1,ix) )}
return; end


Figure 5 shows the result for the same inputs as used in Figures 3 and 4.

vspray4
Figure 5
Horizontal line method. Compare the left to Figure 3 and the right to 4.

Next: Rho filter Up: PIXEL-PRECISE VELOCITY SCANNING Previous: PIXEL-PRECISE VELOCITY SCANNING
Stanford Exploration Project
10/21/1998