Пример #1
0
def goSino():
  na,ka = 1,0 # sampling for inverse A of wavelet in PP image
  nb,kb = 1,0 # sampling for inverse B of wavelet in PS image
  nc,kc = 201,-100 # sampling for wavelet C in PP image
  nd,kd = 201,-100 # sampling for wavelet D in PS image
  nt,dt,ft = 501,0.004,0.000 # used for plotting only
  nx,dx,fx = 21,0.015,0.000
  #nx,dx,fx = 721,0.015,0.000
  sa = Sampling(na,dt,ka*dt)
  sb = Sampling(nb,dt,kb*dt)
  sc = Sampling(nc,dt,kc*dt)
  sd = Sampling(nd,dt,kd*dt)
  st = Sampling(nt,dt,ft)
  sx = Sampling(nx,dx,fx)
  tmin,tmax = 100,400 # PP time window
  sfac = 0.0 # stabilization factor
  f,g,u = getSinoImages() # PP image, PS image, and warping u(t,x)
  ww = WaveletWarpingAB()
  ww.setTimeRange(tmin,tmax)
  ww.setStabilityFactor(sfac)
  aw,bw = ww.getInverseAB(na,ka,nb,kb,u,f,g) # estimated inverses A & B
  dump(aw); dump(bw)
  cw = ww.getInverse(na,ka,aw,nc,kc) # estimated wavelet C
  dw = ww.getInverse(nb,kb,bw,nd,kd) # estimated wavelet D
  sg = ww.warp(u,g)
  af = ww.convolve(na,ka,aw,f)
  bg = ww.convolve(nb,kb,bw,g)
  sbg = ww.warp(u,bg)
  csbg = ww.convolve(nc,kc,cw,sbg)
  plotImage(st,sx,f,zoom=True,png="f")
  plotImage(st,sx,sg,zoom=True,png="sg")
  plotImage(st,sx,csbg,zoom=True,png="csbg")
  plotWaveletsPpPs(sc,cw,dw,png="cd")