sconstruct

来自「国外免费地震资料处理软件包」· 代码 · 共 59 行

TXT
59
字号
from rsfproj import *Flow('spike',None,     '''     spike     n1=256     n2=256     d1=0.004     d2=0.008 nsp=3     k1=100,150,200     k2=100,150,200 |     bandpass flo=10 fhi=50     ''')ffts = []for pad in (256,512):    spike = 'spike%d' % pad    Flow(spike,'spike','pad n2=%d' % pad)    for dv in (1,-1):        fft = 'fft%d-%d' % (dv,pad)        ffts.append(fft)        Flow(fft,spike,             '''             cosft sign2=1 | spray axis=2 n=1 o=0 d=0.008 |             fourvc pad=%d pad2=%d nv=1 dv=%d v0=%g |             cosft sign3=-1 | window n3=256         ''' % (pad,(pad,2*pad)[pad==512],2*dv,(2.0001,0.0001)[dv==1]))        Plot(fft,'grey title="t^2-FFT impulse response, dv=%d km/s"' % dv)Result('fft-imp',ffts,'TwoRows')for adj in (0,1):    fd = 'fd%d' % adj    Flow(fd,'spike512',         'velcon vel=1 v0=0 nv=3000 inv=%d adj=%d | window n2=256' % (adj,1-adj))    Plot(fd,         'grey title="Finite-diff impulse response, dv=%d km/s" ' % (1-2*adj))Result('fd-imp','fd0 fd1','SideBySideIso')Flow('chebft','spike','t2chebstretch nout=257 | pad n2=257 | cosft sign1=1 sign2=1')chebs = []for pad in (256,512):    for dv in (1,-1):        cheb = 'cheb%d-%d' % (dv,pad)        chebs.append(cheb)        Flow(cheb,'spike',             '''             t2chebstretch nout=257 | pad n2=%d |             cosft sign1=1 sign2=1 |             chebvc vel=%g nv=3000 |             cosft sign2=-1 sign1=-1 |             window n2=256 | t2chebstretch inv=1         ''' % (pad+1,dv))        Plot(cheb,'grey title="Chebyshev impulse response, dv=%g km/s" ' % dv)Result('cheb-impl',chebs,'TwoRows')End()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?