from rsf.proj import *
from rsf.recipes.helderiv import Helderiv
horizon = 'Penobscot_HorB.txt'
Fetch(horizon,'data',
server='https://raw.githubusercontent.com',
top='agile-geoscience/notebooks/master')
Flow('xyz',horizon,
'''
echo n1=3 n2=254674 data_format=ascii_float in=$SOURCE |
dd form=native
''')
Flow('xy','xyz','window n1=2 | dd type=int')
Flow('horizon','xyz xy',
'''
window f1=2 squeeze=n |
intbin head=${SOURCES[1]} xkey=0 ykey=1 |
window | put label=Time unit=ms label1=Inline label2=Crossline
''')
Result('horizon','grey color=j bias=750 scalebar=y title=Horizon yreverse=n transp=n')
Flow('filled','horizon','lapfill grad=y verb=y niter=500')
Plot('cubeh','filled',
'''
grey color=x bias=950 clip=133 scalebar=y title=Horizon
yreverse=n transp=n screenwd=11.9 screenht=9.62
''')
Result('cubeh','Overlay')
Flow('window','horizon','window f1=200 n1=125 f2=200 n2=100')
Result('window',
'grey color=x bias=950 clip=133 scalebar=y title=Horizon yreverse=n transp=n screenratio=0.8')
Flow('wind.asc',None,
'''
echo
200 200
200 300
325 300
325 200
200 200
n1=2 n2=5 data_format=ascii_int in=$TARGET
''')
Plot('wind','wind.asc',
'''
dd type=complex form=native | window |
graph wanttitle=n wantaxis=n plotcol=7 plotfat=10
min1=1 max1=595 min2=1 max2=463 scalebar=y screenwd=11.9 screenht=9.62
''')
Result('wind','cubeh wind','Overlay')
Flow('noisy','filled','noise type=n seed=2014 range=15')
Flow('smoothed','noisy','smooth rect1=4 rect2=4')
Flow('diffused','noisy','impl2 rect1=10 rect2=10 tau=1')
Flow('median','noisy','despike2 wide1=10 wide2=10')
Flow('bilateral','noisy','bilat2 a1=0.1 a3=0.001 r1=10 r2=10')
for case in Split('filled noisy smoothed diffused median bilateral'):
Result(case,
'''
grey color=j bias=950 clip=133 scalebar=y
title="%s Horizon" yreverse=n transp=n
minval=800 maxval=1100
''' % case.capitalize())
if case != 'filled':
Result(case+'-slice',['filled',case],
'''
cat axis=3 ${SOURCES[1]} |
window n1=1 f1=300 n2=450 |
graph plotfat=7,1 wanttitle=n
yreverse=y label2=Time unit2=ms
''')
Flow('dx','filled','deriv')
Flow('dy','filled','transp | deriv | transp')
Flow('shaded','dx dy','add ${SOURCES[1]}')
Helderiv('hel',na=10)
Flow('helix','filled hel','helicon filt=${SOURCES[1]}')
for case in Split('shaded helix'):
Result(case,
'''
grey title="%s Horizon" yreverse=n transp=n mean=y
''' % case.capitalize())
End() |