Пример #1
0
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
Пример #2
0
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]
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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