Skip to content

Commit

Permalink
Update with Colab Notebook for seismic trace interpolation using ML (#…
Browse files Browse the repository at this point in the history
…310)

* added SConstruct with real data example

* added SConstruct with Ray Abma's synthetic data example

* Colab Notebook for seismic trace interpolation using machine learning

* added google colab notebook for seismic trace interpolation using machine learning
  • Loading branch information
hcorzopola authored Oct 6, 2024
1 parent 9d335f5 commit 710a6e7
Show file tree
Hide file tree
Showing 3 changed files with 1,028 additions and 0 deletions.
39 changes: 39 additions & 0 deletions book/hackathon/2024soundfx/real/SConstruct
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from rsf.proj import *

# Fetch & plot dataset
Fetch('elf-stk2.rsf','masha')
Flow('elf','elf-stk2','dd form=native | put unit1=s')
Result('elf','grey')

# Decimate
Flow('decimated','elf','window j2=4 | put d2=53.3333')
Result('decimated','grey')

#Result('original_n_decimated',['elf','decimated'],'SideBySideAniso')

# Zoom-in
Flow('original_w','elf','window max1=1.5 n2=600 | costaper nw1=40')
Flow('decimated_w','decimated','window max1=1.5 n2=150 | costaper nw1=40')
Result('original_w','grey title="Original data"')
Result('decimated_w','grey title="Decimated data"')

#Result('original_n_decimated_w',['elf_w','decimated_w'],'SideBySideAniso')

# T-X interpolation
Flow(['pad_w','mask_w'],'decimated_w','lpad jump=4 mask=${TARGETS[1]}')
Flow(['pef_w','lag_w'],'decimated_w','lpef lag=${TARGETS[1]} a=17,5 jump=4')
Flow('interpolated_w',['pad_w','mask_w','pef_w'],
'miss padin=4 filt=${SOURCES[2]} mask=${SOURCES[1]} prec=n')
Result('interpolated_w','grey')

Flow('pef_aw','pad_w','apef a=15,4 jump=4 rect1=20 rect2=5 niter=200 verb=y')
Flow('interpolated_aw',['pad_w','pef_aw','mask_w'],'miss4 filt=${SOURCES[1]} mask=${SOURCES[2]} verb=y')
Result('interpolated_aw','grey')

## Interpolation error

# F-X interpolation

## Interpolation error

End()
85 changes: 85 additions & 0 deletions book/hackathon/2024soundfx/synthabma/SConstruct
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
from rsf.proj import *
from rsf.recipes.beg import server as private

###########################################################################

for dat in ('curve','linear','random','marm'):
input = 'input.%s.segy' % dat
Fetch(input,'ray',private)
Flow([dat,'./A'+dat,'./B'+dat],input,
'''
segyread tape=$SOURCE read=d hfile=${TARGETS[1]} bfile=${TARGETS[2]}
''',stdin=0)

Flow('linear2','linear','window min1=0.5 max1=2.7 | bandpass fhi=60')
Plot('linear','linear2',
'''
grey yreverse=y transp=y poly=y label2=Position
title=Input
''')
Plot('jlinear','linear2',
'''
window n2=11 f2=23 n1=150 min1=1.35 |
put d1=1 o1=675 label1=Sample unit1= |
wiggle yreverse=y transp=y poly=y label2=Position wherexlabel=t
title=Input wheretitle=b clip=0.0451806 labelsz=5. titlesz=7
labelfat=2 font=2 titlefat=2 screenratio=1.2
''')

# nonstationary PWD
Flow('lindip','linear2','twodip2 order=3 nj1=4 nj2=4 eps=10 gauss=n')
Flow('lindip2','lindip',
'transp | spline n1=240 o1=0 d1=0.25 | transp')

Flow('lin4 linones4','linear2','lpad jump=4 mask=${TARGETS[1]}')
Flow('lindeal','lin4 lindip2 linones4',
'planemis2 dip=${SOURCES[1]} mask=${SOURCES[2]} order=3 verb=y')
Plot('lindeal','grey yreverse=y transp=y poly=y title=Interpolated')

Result('linear-deal','linear lindeal','SideBySideAniso')

# Stationary T-X PEFs
Flow('lpef llag','linear2','lpef lag=${TARGETS[1]} a=10,4 jump=4')
Flow('lscov','lpad lmask lpef',
'miss padin=4 filt=${SOURCES[2]} mask=${SOURCES[1]} prec=n')
Plot('lscov',
'grey yreverse=y transp=y poly=y title="Stationary PEF"')

Result('linear-scomp','linear lscov','SideBySideAniso')

# Nonstationary T-X PEFs
Flow('lpad lmask','linear2','lpad jump=2 mask=${TARGETS[1]}')
Flow('lapef','lpad','apef a=15,4 jump=2 rect1=20 rect2=5 niter=200 verb=y')
Flow('lacov','lpad lapef lmask',
'miss4 filt=${SOURCES[1]} mask=${SOURCES[2]} verb=y')
Plot('lacov',
'''
grey yreverse=y transp=y poly=y label2=Position
title="Adaptive PEF"
''')

Plot('jlacov','lacov',
'''
window n2=22 f2=46 n1=150 min1=1.35 |
put d1=1 o1=675 label1=Sample unit1= |
wiggle yreverse=y transp=y poly=y label2=Position wherexlabel=t
title="Adaptive PEF" wheretitle=b clip=0.0225903 labelsz=5. titlesz=7
labelfat=2 font=2 titlefat=2 screenratio=1.2
''')

Result('linear-comp','linear lacov','SideBySideAniso')

# Stationary F-X PEFs
Flow('lfx','lpad',
'''
spitz norm=n verb=y
''')
Plot('lfx',
'''
grey yreverse=y transp=y poly=y label2=Position
title="Adaptive PEF"
''')

Result('linear-fxcomp','linear lfx','SideBySideAniso')

End()
904 changes: 904 additions & 0 deletions book/hackathon/soundfx2024/SFX_ML.ipynb

Large diffs are not rendered by default.

0 comments on commit 710a6e7

Please sign in to comment.