def goSinoTraces(): na,ka = 41,-20 # sampling for inverse A nh,kh = 41,-20 # sampling for wavelet H nt,dt,ft = 501,0.004,0.000 # used for plotting only #nx,dx,fx = 721,0.015,0.000 sa = Sampling(na,dt,ka*dt) sh = Sampling(nh,dt,kh*dt) st = Sampling(nt,dt,ft) f,g,u = getSinoTraces(16) # PP trace f(t), PS trace g(u), and warping u(t) ww = WaveletWarpingAH() ww.setTimeRange(100,500) # PP time window ww.setStabilityFactor(0.001) # stability factor ww.setMaxIterations(100) # max Gauss-Newton iterations a,h = ww.getAHGaussNewton(na,ka,nh,kh,u,f,g) sg = ww.warp(u,g) ag = ww.convolve(na,ka,a,g) sag = ww.warp(u,ag) hsag = ww.convolve(nh,kh,h,sag) dump(a) g = copy(nt,g) sg = copy(nt,sg) sag = copy(nt,sag) hsag = copy(nt,hsag) fmhsag= sub(f,hsag) plotWavelets(sa,[a],title="A") plotWavelets(sh,[h],title="H") plotTraces(st,[f,hsag,fmhsag],labels=["f","HSAg","f-HSAg"])
def goSinoTraces(): na, ka = 41, -20 # sampling for inverse A nh, kh = 41, -20 # sampling for wavelet H nt, dt, ft = 501, 0.004, 0.000 # used for plotting only #nx,dx,fx = 721,0.015,0.000 sa = Sampling(na, dt, ka * dt) sh = Sampling(nh, dt, kh * dt) st = Sampling(nt, dt, ft) f, g, u = getSinoTraces( 16) # PP trace f(t), PS trace g(u), and warping u(t) ww = WaveletWarpingAH() ww.setTimeRange(100, 500) # PP time window ww.setStabilityFactor(0.001) # stability factor ww.setMaxIterations(100) # max Gauss-Newton iterations a, h = ww.getAHGaussNewton(na, ka, nh, kh, u, f, g) sg = ww.warp(u, g) ag = ww.convolve(na, ka, a, g) sag = ww.warp(u, ag) hsag = ww.convolve(nh, kh, h, sag) dump(a) g = copy(nt, g) sg = copy(nt, sg) sag = copy(nt, sag) hsag = copy(nt, hsag) fmhsag = sub(f, hsag) plotWavelets(sa, [a], title="A") plotWavelets(sh, [h], title="H") plotTraces(st, [f, hsag, fmhsag], labels=["f", "HSAg", "f-HSAg"])
def goSinoImages(): na,ka = 21,-10 # sampling for inverse A nh,kh = 81,-40 # sampling for wavelet H nt,dt,ft = 501,0.004,0.000 # used for plotting only #nx,dx,fx = 721,0.015,0.000 nx,dx,fx = 101,0.015,0.000 sa = Sampling(na,dt,ka*dt) sh = Sampling(nh,dt,kh*dt) st = Sampling(nt,dt,ft) sx = Sampling(nx,dx,fx) tmin,tmax = 100,500 # PP time window f,g,u = getSinoImages() # PP image, PS image, and warping u(t,x) ww = WaveletWarpingAH() ww.setTimeRange(100,400) # PP time window ww.setStabilityFactor(0.0001) # stability factor ww.setMaxIterations(20) # max Gauss-Newton iterations a,h = ww.getAHGaussNewton(na,ka,nh,kh,u,f,g) dump(a) sg = ww.warp(u,g) ag = ww.convolve(na,ka,a,g) sag = ww.warp(u,ag) hsag = ww.convolve(nh,kh,h,sag) normalizeRms(f) normalizeRms(sg) normalizeRms(hsag) plotImage(st,sx,f,zoom=True,png="f") plotWavelets(sa,[a],title="A") plotWavelets(sh,[h],title="H") plotImage(st,sx,sg,zoom=True,png="Sg") plotImage(st,sx,hsag,zoom=True,png="HSAg")
def goSinoImages(): na, ka = 21, -10 # sampling for inverse A nh, kh = 81, -40 # sampling for wavelet H nt, dt, ft = 501, 0.004, 0.000 # used for plotting only #nx,dx,fx = 721,0.015,0.000 nx, dx, fx = 101, 0.015, 0.000 sa = Sampling(na, dt, ka * dt) sh = Sampling(nh, dt, kh * dt) st = Sampling(nt, dt, ft) sx = Sampling(nx, dx, fx) tmin, tmax = 100, 500 # PP time window f, g, u = getSinoImages() # PP image, PS image, and warping u(t,x) ww = WaveletWarpingAH() ww.setTimeRange(100, 400) # PP time window ww.setStabilityFactor(0.0001) # stability factor ww.setMaxIterations(20) # max Gauss-Newton iterations a, h = ww.getAHGaussNewton(na, ka, nh, kh, u, f, g) dump(a) sg = ww.warp(u, g) ag = ww.convolve(na, ka, a, g) sag = ww.warp(u, ag) hsag = ww.convolve(nh, kh, h, sag) normalizeRms(f) normalizeRms(sg) normalizeRms(hsag) plotImage(st, sx, f, zoom=True, png="f") plotWavelets(sa, [a], title="A") plotWavelets(sh, [h], title="H") plotImage(st, sx, sg, zoom=True, png="Sg") plotImage(st, sx, hsag, zoom=True, png="HSAg")