from rsf.proj import * Flow('imp1',None,'spike n1=10 mag=%g' % (2550 * 2650)) Flow('imp2',None,'spike n1=5 mag=%g' % (2700 * 2750)) Flow('imp3',None,'spike n1=12 mag=%g' % (2400 * 2450)) Flow('imp4',None,'spike n1=8 mag=%g' % (2800 * 3000)) Flow('imp5',None,'spike n1=16 mag=%g' % (2550 * 2650)) Flow('imp','imp1 imp2 imp3 imp4 imp5','cat axis=1 ${SOURCES[1:5]}') Result('imp','graph title=Impedance') Flow('ref','imp','ai2refl') Result('ref','dots title=Reflectivity') Flow('wavelet',None, ''' spike n1=51 k1=26 | ricker1 freq=0.2 | window f1=15 n1=21 ''') Result('wavelet','dots title=Wavelet dots=0 connect=1 label1=') Flow('data','ref','ricker1 freq=0.2') Result('data','graph title=Data') Plot('ref', 'scale dscale=0.25 | bargraph wanttitle=n min2=-0.03 max2=0.05 plotcol=2') Plot('data','graph title=Data min2=-0.03 max2=0.05') Result('dataref','ref data','Overlay') Flow('dot.test','data','dottest ricker1 freq=0.2 mod=$SOURCE dat=$SOURCE') iters = [] for niter in range(1,11): model = 'model%d' % niter Flow(model,'data', 'conjgrad ricker1 mod=$SOURCE freq=0.2 niter=%d' % niter) iters.append(model) Result('iters',iters[:5], ''' cat axis=2 ${SOURCES[1:5]} | dots yreverse=y labels="iter 1:iter 2:iter 3:iter 4:iter 5" ''') Plot('model10','graph title="Model Recovery" min2=-0.06 max2=0.09 plotcol=5 plotfat=5') Plot('ref2','ref', 'bargraph wanttitle=n min2=-0.06 max2=0.09 plotcol=2') Plot('data2','data','graph wanttitle=n min2=-0.06 max2=0.09 plotcol=4 plotfat=5') Result('dataref2','ref2 data2 model10','Overlay') Flow('data10','model10','ricker1 freq=0.2') Result('data10','data data10', ''' cat axis=2 ${SOURCES[1]} | graph plotcol=4,5 dash=1,0 title="Data Fit" ''') End() |