def make2Dtoz(v,sz,dt): wtu = WTutils() nx = len(v) nz = len(v[0]) toz = zerofloat(nz,nx) for ix in range(nx): toz[ix] = wtu.tzVlog(v[ix],sz) nt = int(max(toz)/dt) st = Sampling(nt,dt,0.0) return toz,st
def make1Dseismic(v,d,sz,dt,fpeak): wtu = WTutils() nz = len(v) toz = wtu.tzVlog(v,sz) r = zerofloat(nz) s = zerofloat(nz) imp0 = v[0]*d[0] for iz in range(1,nz): imp1 = v[iz]*d[iz] r[iz] = (imp1-imp0)/(imp1+imp0) imp0 = imp1 st = Sampling(int(max(toz)/dt),dt,0.0) s = wtu.syntheticSeismogram(fpeak,r,toz,st,sz,"ricker") st = Sampling(len(s),dt,0.0) #s = addRickerWavelet(fpeak,r) #s = mul(1.0/max(abs(s)),s) return s,st