up [pdf]
from rsf.proj import *
from rsf.gallery import french

french.get_refl('model')

Result('model',
       '''
       unif3 v00=1,2 n1=401 d1=10.265 |
       byte allpos=y bias=1 |
       grey3 color=j title="French model" label1=Depth unit1=m
       frame1=175 frame2=60 frame3=80 flat=n 
       ''')

# 2D test

french.get_zodata2d('data2d')

Result('data2d','grey title="Zero Offset" ')

Flow('fft2d','data2d','cosft sign2=1')

Flow('vc2d','fft2d','vczo v0=0.0001 dv=400 nv=10',
     split=[2,'omp'],reduce='cat axis=3')

Flow('vel2d','data2d','spike mag=2000')

Flow('mig2d','vc2d vel2d',
     'cosft sign3=-1 | slice pick=${SOURCES[1]}')

# Zero-offset

french.get_zodata('data')

Result('data',
       '''
       byte gainpanel=all |
       grey3 title="Zero Offset" 
       frame1=250 frame2=81 frame3=81 flat=n
       screenratio=1 point1=0.65 point2=0.65
       ''')

Flow('cosft','data','cosft sign2=1 sign3=1')

Flow('vc','cosft','vczo3 v0=0.01 dv=400 nv=10',
     split=[3,'omp'],reduce='cat axis=4')

Flow('vel','data','spike mag=2000')

Flow('vcmig','vc vel',
     'cosft sign3=-1 sign4=-1 | slice pick=${SOURCES[1]}')

french.time_mig('vcmig')

End()

sfdd
sftransp
sfscale
sfremap1
sfunif3
sfbyte
sfgrey3
sfwindow
sfsmooth
sfderiv
sfkirmod
sfput
sfgrey
sfcosft
sfomp
sfvczo
sfspike
sfslice
sfkirmod3
sfadd
sfvczo3

data/french/french.asc