Example #1
0
def goNmoVigGather():
  """ Applies NMO correction to Viking Graben gather """
  st,sx,f = readVigGather(800)
  nt,nx = st.count,sx.count
  dt,dx = st.delta,sx.delta
  ft,fx = st.first,sx.first
  ts=0.010,0.646,0.846,1.150,1.511,1.825,2.490,2.985
  vs=1.510,1.575,1.687,1.817,1.938,1.980,2.446,2.735
  vnmoP = CubicInterpolator(ts,vs).interpolate(rampfloat(ft,dt,nt))
  vnmoM = fillfloat(1.475,nt)
  vnmo = vnmoM
  texp,tbal,smax = 2.0,100,9.00
  tmin,tmax,perc = 0.4,2.4,98.0
  #f = tpow(texp,st,f)
  if tbal>0:
    f = balance(tbal,f)
  nmo = NormalMoveout()
  nmo.setStretchMax(smax)
  g = nmo.apply(st,sx,vnmo,f)
  h = nmo.stackAndReplicate(g)
  plotGather(st,sx,f,tmin=tmin,tmax=tmax,perc=perc,title="input");
  plotGather(st,sx,g,tmin=tmin,tmax=tmax,perc=perc,title="output");
  plotGather(st,sx,h,tmin=tmin,tmax=tmax,perc=perc,title="stack");