Skip to content

Commit

Permalink
reproducible version
Browse files Browse the repository at this point in the history
  • Loading branch information
Rui Gong authored and Rui Gong committed Jun 14, 2024
1 parent c1eda86 commit 736cd28
Show file tree
Hide file tree
Showing 13 changed files with 858 additions and 0 deletions.
5 changes: 5 additions & 0 deletions book/tccs/ltftapwd/SConstruct
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from rsf.tex import *

End(options='reproduce',use='hyperref,listings,amsmath,color',color='ALL')


122 changes: 122 additions & 0 deletions book/tccs/ltftapwd/cran/SConstruct
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
from rsf.proj import *
from rsf.recipes.beg import server
import math

segy = {'baseline':'2007_baseline_dvd.sgy',
'monitor': '2010_Match_dvd.sgy'}
titles = ['Baseline','Monitor']
i = 0
for case in segy.keys():
Fetch(segy[case],'cranfield',server)
Flow([case,'t'+case,case+'.asc',case+'.bin'],
segy[case],
'segyread tfile=${TARGETS[1]} hfile=${TARGETS[2]} bfile=${TARGETS[3]}')
Flow(case+'3',case,
'''
intbin xk=iline yk=xline |
window min1=2 max1=2.5 n2=213 min3=129 max3=337 |
put label2=IL label3=XL
''')
Flow(case+'spec',case+'3','spectra all=y')
Result(case+'3','byte gainpanel=all | grey3 flat=y title=%s frame1=120 frame2=107 frame3=105' % titles[i])
Result(case+'spec','graph')
i += 1

nw = 51
w0 = 10
w1 = 60
dw = (w1 - w0)/(nw - 1)
Flow('bltft bbas','baseline3','ltft basis=${TARGETS[1]} rect=5 nw=%d dw=%f w0=%f' % (nw,dw,w0) )
Flow('bsd','bltft bbas','math b=${SOURCES[1]} output="input*conj(b)" | real')
Flow('mltft mbas','monitor3','ltft basis=${TARGETS[1]} rect=5 nw=%d dw=%f w0=%f' % (nw,dw,w0) )
Flow('msd','mltft mbas','math b=${SOURCES[1]} output="input*conj(b)" | real')
Result('bsd','transp plane=23 | transp plane=34 | put unit2= unit3= | byte gainpanel=all | grey4 frame1=120 frame2=107 frame3=105 title=Baseline')
Result('msd','transp plane=23 | transp plane=34 | put unit2= unit3= | byte gainpanel=all | grey4 frame1=120 frame2=107 frame3=105 title=Monitor')
Flow('bsd4','bsd','put n2=1 n3=51 n4=213 n5=209')
Flow('msd4','msd','put n2=1 n3=51 n4=213 n5=209')
Flow('data','bsd4 msd4','cat ${SOURCES[1]} axis=2')
a = 'one'
idip = 'zero'
Flow(a,'bsd4','math output=1')
Flow(idip,a,'scale dscale=0 | pad end2=1')
dips = []
scales = []
for i in range(1,6):
scaled = 'scaled%d' % i
dip = 'dip%d' % i
Flow(scaled,['msd4',a,'bsd4'],'math a=${SOURCES[1]} output="input*a" | cat ${SOURCES[2]} axis=2 order=2,1')
Flow(dip,scaled,'dip n4=0 verb=y rect1=%d rect2=1 rect3=%d | smooth rect4=%d rect5=%d' % (50 - 7.5*(i-1),50 - 7.5*(i-1),50-7.5*(i-1),50-7.5*(i-1)) )
dips.append(dip)

r = 'r%d' % i
a = 'a%d' % i
Flow(r,['data',dip],'pwd1 dip=${SOURCES[1]} left=n')
Flow(a,['data',dip,r],'pwd1 dip=${SOURCES[1]} left=y | divn den=${SOURCES[2]} rect1=%d rect2=1 rect3=%d rect4=%d rect5=%d | window n2=1 squeeze=n' % (50-7.5*(i-1),50 - 7.5*(i-1),50 - 7.5*(i-1),50 - 7.5*(i-1)) )
scales.append(a)

Flow('dips',dips,'cat ${SOURCES[1:%d]} axis=6 | window n2=1 | scale dscale=.002 | put d2=1 o2=3 label2=IL unit2= d3=1 o3=129 label3=XL unit3= ' % i )
Flow('dip','dips','window f2=%d f5=%d | put d2=1 o2=3 label2=IL unit2= d3=1 o3=129 label3=XL unit3= ' % (nw-1,i-1) )
Flow('as',scales,'cat ${SOURCES[1:%d]} axis=6 | window n2=1' % i )
Flow('idip','dips','window f2=%d f4=104 n4=1 f5=%d' % (nw-1,i-1) )
Flow('xdip','dips','window f2=%d f3=106 n3=1 f5=%d' % (nw-1,i-1) )
Flow('fdip','dips','window f3=106 n3=1 f4=104 n4=1 f5=%d' % (i-1) )
Flow('ilb','baseline3','boxsmooth rect2=3 | window j2=7 f3=104 n3=1')
Flow('xlb','baseline3','boxsmooth rect3=3 | window f2=106 n2=1 j3=7')
Flow('fb','bsd','boxsmooth rect2=1 | window j2=2 f3=106 n3=1 f4=104 n4=1')
Flow('ilm','monitor3','boxsmooth rect2=3 | window j2=7 f3=104 n3=1')
Flow('xlm','monitor3','boxsmooth rect3=3 | window f2=106 n2=1 j3=7')
Flow('fm','msd','boxsmooth rect2=1 | window j2=2 f3=106 n3=1 f4=104 n4=1')
Flow('ilint','ilb ilm','interleave ${SOURCES[1]} axis=2')
Flow('xlint','xlb xlm','interleave ${SOURCES[1]} axis=2')
Flow('fint','fb fm','interleave ${SOURCES[1]} axis=2')
Flow('ilmt','ilm ilb idip','warp1 other=${SOURCES[1]} warpin=${SOURCES[2]} nliter=0')
Flow('xlmt','xlm xlb xdip','warp1 other=${SOURCES[1]} warpin=${SOURCES[2]} nliter=0')
Flow('fmt','fm fb fdip','warp1 other=${SOURCES[1]} warpin=${SOURCES[2]} nliter=0')
Flow('ilintt','ilb ilmt','interleave ${SOURCES[1]} axis=2')
Flow('xlintt','xlb xlmt','interleave ${SOURCES[1]} axis=2')
Flow('fintt','fb fmt','interleave ${SOURCES[1]} axis=2')
Plot('ilint','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('xlint','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('fint','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('ilintt','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('xlintt','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('fintt','wiggle pad=n transp=y yreverse=y wantaxis=n wanttitle=n scalebar=y')
Plot('idip','put d2=1 o2=3 label2=IL unit2= | grey color=seismic scalebar=y title=Timeshift')
Plot('xdip','put d2=1 o2=129 label2=XL unit2= | grey color=seismic scalebar=y title=Timeshift')
Plot('fdip','put d2=%f o2=%f label2=Frequency unit2=Hz | grey color=seismic scalebar=y title=Timeshift' % (dw,w0) )
Result('fint','grey title=Interleaved')
Result('ilint','grey title=Interleaved')
Result('xlint','grey title=Interleaved')
Result('fintt','grey title=Interleaved')
Result('ilintt','grey title=Interleaved')
Result('xlintt','grey title=Interleaved')
Result('idip','idip ilint','Overlay')
Result('xdip','xdip xlint','Overlay')
Result('fdip','fdip fint','Overlay')
Result('idipt','idip ilintt','Overlay')
Result('xdipt','xdip xlintt','Overlay')
Result('fdipt','fdip fintt','Overlay')
Result('dip','byte bar=bar.rsf gainpanel=all | grey3 color=seismic scalebar=y frame1=120 frame2=107 frame3=105 title=Timeshifts')
Result('dips','window f5=%d | transp plane=23 | transp plane=34 | put d2=1 o2=3 label2=IL unit2= d3=1 o3=129 label3=XL unit3= | byte bar=bar.rsf gainpanel=all | grey4 color=seismic scalebar=y minval=-.006 maxval=.006 frame1=120 frame2=107 frame3=105 title=Timeshifts')

Flow('res1','monitor3 baseline3','add ${SOURCES[1]} scale=1,-1')
Result('res1','window f1=119 n1=1 | grey')
Flow('num1','res1','stack axis=1 rms=y')
Flow('den1','monitor3 baseline3','cat ${SOURCES[1]} axis=4 | stack axis=1 rms=y | stack axis=3 norm=n')
Flow('nrms1','num1 den1','''divn den=${SOURCES[1]} rect1=10 rect2=10 | math output="1-input" | clip clip=0.999999 value=0 | math output="1-input" | put unit1=''')
Result('nrms1','grey color=seismic bias=.5 scalebar=y barlabel=NRMS minval=.1 maxval=1 title="Before Registration"')

Flow('mshift','monitor3 baseline3 dip','warp1 other=${SOURCES[1]} warpin=${SOURCES[2]} nliter=0')
Result('mshift','byte gainpanel=all | grey3 flat=y title=Shifted frame1=120 frame2=107 frame3=105')

Flow('res2','mshift baseline3','add ${SOURCES[1]} scale=1,-1')
Result('res2','window f1=119 n1=1 | grey')
Flow('num2','res2','stack axis=1 rms=y')
Flow('den2','mshift baseline3','cat ${SOURCES[1]} axis=4 | stack axis=1 rms=y | stack axis=3 norm=n')
Flow('nrms2','num2 den2','divn den=${SOURCES[1]} rect1=10 rect2=10 | math output="1-input" | clip clip=.999999 value=0 | math output="1-input" | put unit1=')
Result('nrms2','grey color=seismic bias=.5 scalebar=y barlabel=NRMS minval=.1 maxval=1 title="After Registration"')

Flow('strain','dip','smoothder')
Result('strain','byte gainpanel=all | grey3 color=seismic frame1=120 frame2=107 frame3=105 title=Timeshifts')

End()
Loading

0 comments on commit 736cd28

Please sign in to comment.