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 getHorizons(xc,sx,st): tdu = WTutils() d = "t" DKOT = readHorizonMod("FallRiverDKOT",d) CRMT = readHorizonMod("CrowMountainCRMT",d) TSAS = readHorizonMod("TensleepASand",d) TSBD = readHorizonMod("TensleepBbaseC1Dolo",d) tdk,ydk = tdu.horizon2d(DKOT.x1,DKOT.x2,DKOT.x3,sx,st,xc) tcr,ycr = tdu.horizon2d(CRMT.x1,CRMT.x2,CRMT.x3,sx,st,xc) tta,yta = tdu.horizon2d(TSAS.x1,TSAS.x2,TSAS.x3,sx,st,xc) ttb,ytb = tdu.horizon2d(TSBD.x1,TSBD.x2,TSBD.x3,sx,st,xc) return [tdk,tcr,tta,ttb],[ydk,ycr,yta,ytb]
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
def make2Dseismic(st,sz,toz,r,fpeak): wtu = WTutils() nx = len(r) s = zerofloat(st.count,nx) ml = 0 for ix in range(nx): s[ix] = wtu.syntheticSeismogram(fpeak,r[ix],toz[ix],st,sz,"ricker") if (len(s[ix])>ml): ml = len(s[ix]) nt = ml s2 = zerofloat(nt,nx) for ix in range(nx): for it in range(len(s[ix])): s2[ix][it] = s[ix][it] st = Sampling(nt,st.delta,st.first) #dz = sz.delta #nx = len(r) #nz = len(r[0]) #t = zerofloat(nz) #s = zerofloat(nz,nx) #for ix in range(nx): # s[ix] = addRickerWavelet(fpeak,r[ix]) # s[ix] = mul(1.0/max(abs(r[ix])),r[ix]) return s2,st
from edu.mines.jtk.dsp import * from edu.mines.jtk.dsp import DynamicWarping as DynamicWarpingO from edu.mines.jtk.io import * from edu.mines.jtk.mosaic import * from edu.mines.jtk.util import * from edu.mines.jtk.interp import * from edu.mines.jtk.util.ArrayMath import * from dtw import DynamicWarpingR from dtw import DynamicWarpingWTM from wt import WTutils ############################################################################# pngDir = "./dtwpics/demo2d/" wtu = WTutils() # 2D modeling nt = 501 nx = 301 dt = 1.0 dx = 1.0 nr = 2 # number of evenly spaced model layers fpeak = 3.0 / 35 fv = 250.0 dv = 10.0 / nr fd = 2.5 dd = 0.5 / nr sv = Sampling(nr, fd, fv) # velocity modeling sd = Sampling(nr, dd, fd) # density modeling theta = 0.0 # layer tilt in degrees