vels[489] = (0.05, 2781.67), (0.23, 3585.39), (0.47, 4379.31), (0.90, 4938.00), (1.47, 5437.87) vels[534] = (0.05, 2673.85), (0.14, 3212.93), (0.24, 4193.08), (0.76, 4741.97), (1.22, 5134.03) vels[579] = (0.08, 2673.85), (0.19, 3320.75), (0.40, 4036.26), (1.06, 4781.17) #build our 2D velocity map print "building velocities" params['vels'] = toolbox.build_vels(vels, **params) #~ #view it pylab.imshow(params['vels'].T, aspect='auto') pylab.colorbar() pylab.show() #~ #Now we have a better velocity profile, we can use a better nmo to move it out #~ print "applying nmo correction" #~ workspace = toolbox.co_nmo(workspace, None, **params) #~ #apply AGC #~ print "applying AGC" #~ toolbox.agc(workspace, None, **params) #~ #trace mix
tar(workspace, None, **params) #apply LMO #~ print "applying lmo" #~ params['lmo'] =1000.0 #~ lmo(workspace, None, **params) #~ workspace['trace'][:,:30] *= 0 #~ workspace['trace'][:,1850:] *= 0 #~ params['lmo'] = -1000.0 #~ lmo(workspace, None, **params) #apply our NMO print "applying nmo" params['smute'] = 30 v = [3000] t = [0.5] params['vels'] = toolbox.build_vels(t, v, ns=params['ns']) nmo(workspace, None, **params) #~ #apply AGC toolbox.agc(workspace, None, **params) #~ #stack print "stacking" stack(workspace, 'stack1.su', **params) #view params['primary'] = None toolbox.display('stack1.su', None, **params) pylab.show()
#apply LMO #~ print "applying lmo" #~ params['lmo'] =1000.0 #~ lmo(workspace, None, **params) #~ workspace['trace'][:,:30] *= 0 #~ workspace['trace'][:,1850:] *= 0 #~ params['lmo'] = -1000.0 #~ lmo(workspace, None, **params) #apply our NMO print "applying nmo" params['smute'] = 30 v = [3000] t = [0.5] params['vels'] = toolbox.build_vels(t, v, ns=params['ns']) nmo(workspace, None, **params) #~ #apply AGC toolbox.agc(workspace, None, **params) #~ #stack print "stacking" stack(workspace, 'stack1.su', **params) #view params['primary'] = None toolbox.display('stack1.su', None, **params) pylab.show()
#apply tar params['gamma'] = 5 toolbox.tar(workspace, None, **params) #copy vels from previous exercise vels = {} vels[225] = (0.06, 1537.38) , (0.28, 2876.21) , (0.87, 4608.10) vels[270] = (0.05, 1525.09) , (0.18, 2483.16) , (0.36, 3171.00) , (0.66, 4079.93) , (0.98, 4816.90) vels[315] = (0.04, 1365.42) , (0.14, 2728.82) , (0.22, 3134.15) , (0.57, 4116.78) , (0.74, 4571.25) , (0.97, 5013.43) vels[360] = (0.04, 1697.05) , (0.10, 2520.01) , (0.21, 2937.62) , (0.43, 3244.70) , (0.64, 3981.67) , (0.98, 4239.61) vels[405] = (0.06, 1439.11) , (0.27, 2753.38) , (0.49, 3957.10) , (0.97, 5381.92) vels[450] = (0.06, 1340.85) , (0.41, 2741.10) , (0.52, 3625.47) , (0.02, 1144.32) , (0.29, 3060.45) , (0.54, 3711.45) , (0.97, 4313.31) vels[495] = (0.04, 1611.07) , (0.11, 3072.74) , (0.23, 3318.39) , (0.35, 3772.86) , (0.48, 3981.67) , (0.94, 5099.41) vels[539] = (0.04, 2028.69) , (0.11, 3072.74) , (0.32, 3883.41) , (0.51, 4485.27) , (0.96, 5222.24) vels[584] = (0.06, 1623.36) , (0.20, 2495.44) , (0.32, 3121.87) , (0.95, 4411.57) #build vels vels = toolbox.build_vels(vels, **params) params['primary'] = None params['smute'] = 30 params['vels'] = vels v100 = toolbox.co_nmo(workspace, None, **params) toolbox.agc(v100, None, **params) section100 = toolbox.stack(v100, None, **params) toolbox.cp(section100, 'stack100.su', None) toolbox.display(section100, None, **params) pylab.show()
for index, cdp in enumerate(cdps): gather = dataset[dataset['cdp'] == cdp] trace = _stack_gather(gather) result[index] = trace return result if __name__ == '__main__': #initialise your test cdp first #first do the true amplitude recovery #set nmo parameters params['smute'] = 0 params['vels'] = toolbox.build_vels([0.5], [1], ns=params['ns']) #then apply NMO #we will apply a pre-stack agc toolbox.agc(workspace, None, None) #stack it section = stack(workspace, None, **params) #display it #params['clip'] = 1e-5 toolbox.display(section, None, **params) pylab.show()
#copy vels from previous exercise vels = {} vels[225] = (0.06, 1537.38) , (0.28, 2876.21) , (0.87, 4608.10) vels[270] = (0.05, 1525.09) , (0.18, 2483.16) , (0.36, 3171.00) , (0.66, 4079.93) , (0.98, 4816.90) vels[315] = (0.04, 1365.42) , (0.14, 2728.82) , (0.22, 3134.15) , (0.57, 4116.78) , (0.74, 4571.25) , (0.97, 5013.43) vels[360] = (0.04, 1697.05) , (0.10, 2520.01) , (0.21, 2937.62) , (0.43, 3244.70) , (0.64, 3981.67) , (0.98, 4239.61) vels[405] = (0.06, 1439.11) , (0.27, 2753.38) , (0.49, 3957.10) , (0.97, 5381.92) vels[450] = (0.06, 1340.85) , (0.41, 2741.10) , (0.52, 3625.47) , (0.02, 1144.32) , (0.29, 3060.45) , (0.54, 3711.45) , (0.97, 4313.31) vels[495] = (0.04, 1611.07) , (0.11, 3072.74) , (0.23, 3318.39) , (0.35, 3772.86) , (0.48, 3981.67) , (0.94, 5099.41) vels[539] = (0.04, 2028.69) , (0.11, 3072.74) , (0.32, 3883.41) , (0.51, 4485.27) , (0.96, 5222.24) vels[584] = (0.06, 1623.36) , (0.20, 2495.44) , (0.32, 3121.87) , (0.95, 4411.57) #build vels vels = toolbox.build_vels(vels, **params) params['primary'] = None params['highcut'] = 100 params['lowcut'] = 30 params['smute'] = 30 params['vels'] = vels v100 = toolbox.co_nmo(workspace, None, **params) toolbox.agc(v100, None, **params) section100 = toolbox.stack(v100, None, **params) toolbox.bandpass(section100, None, **params) toolbox.display(section100, None, **params)
sutype = np.result_type(dataset) result = np.zeros(cdps.size, dtype=sutype) for index, cdp in enumerate(cdps): gather = dataset[dataset['cdp'] == cdp] trace = _stack_gather(gather) result[index] = trace return result if __name__ == '__main__': #initialise your test cdp first #first do the true amplitude recovery #set nmo parameters params['smute'] = 0 params['vels'] = toolbox.build_vels([0.5], [1], ns=params['ns']) #then apply NMO #we will apply a pre-stack agc toolbox.agc(workspace, None, None) #stack it section = stack(workspace, None, **params) #display it #params['clip'] = 1e-5 toolbox.display(section, None, **params) pylab.show()
mask = toolbox.build_mask(data['cdp'], gathers) supergather = data[mask] supergather.sort(order=['offset']) #display it toolbox.semb(supergather, **params) #this is out holding dictionary - we'll put our velocity solutions in it. vels = {} vels[753]= (2456.0, 0.153), (2772.1, 0.413), (3003.2, 0.612), (3076.1, 0.704), (3270.7, 1.056), (3367.9, 1.668), (3538.2, 2.204), (3671.9, 3.566), (3915.1, 5.908), vels[800]= (2456.0, 0.153), (2772.1, 0.413), (3003.2, 0.612), (3076.1, 0.704), (3270.7, 1.056), (3367.9, 1.668), (3538.2, 2.204), (3671.9, 3.566), (3915.1, 5.908), vels[1000]= (2443.9, 0.122), (2662.7, 0.413), (2942.4, 0.980), (3027.5, 1.668), (3890.8, 5.893), vels[1200]= (2370.9, 0.138), (3051.8, 0.765), (3367.9, 1.209), (3720.5, 1.730), (4012.3, 2.602), (4292.0, 5.862), (4158.3, 3.689), (2711.4, 0.459), vels[1400]= (2419.5, 0.092), (2820.8, 0.520), (3112.6, 1.026), (3392.2, 1.668), (3562.5, 2.128), (3720.5, 2.755), (3830.0, 3.367), (4085.3, 5.939), vels[1600]= (2285.8, 0.107), (2662.7, 0.520), (3173.4, 1.087), (3501.7, 1.730), (3647.6, 2.526), (3781.3, 3.184), (4097.5, 5.862), vels[1800]= (2322.3, 0.153), (2638.4, 0.566), (3015.3, 1.133), (3355.8, 1.806), (3538.2, 2.556), (3708.4, 3.260), (4000.2, 5.893), vels[2000]= (2346.6, 0.199), (2845.1, 0.842), (3039.6, 1.347), (3185.5, 1.638), (3392.2, 3.276), (3963.7, 5.923), (3270.7, 2.510), vels[2200]= (2066.9, 0.138), (2480.3, 0.367), (2832.9, 0.765), (3100.4, 1.408), (3258.5, 1.760), (3513.8, 3.061), (3975.9, 5.939), (3416.6, 2.571), vels[2400]= (2298.0, 0.168), (2553.3, 0.582), (2735.7, 0.781), (3064.0, 1.301), (3149.1, 2.327), (3392.2, 3.092), (3975.9, 5.985), vels[2600]= (2176.4, 0.184), (2529.0, 0.582), (3003.2, 1.347), (3282.8, 1.806), (3465.2, 2.480), (3574.6, 3.184), (4036.7, 5.847), (3902.9, 4.577), vels[2800]= (2237.2, 0.168), (2747.8, 0.811), (3197.7, 1.286), (3428.7, 2.128), (3842.1, 3.857), (4012.3, 5.908), (2468.2, 0.490), vels[3056]= (2237.2, 0.168), (2747.8, 0.811), (3197.7, 1.286), (3428.7, 2.128), (3842.1, 3.857), (4012.3, 5.908), (2468.2, 0.490), params['cdp'] = cdps params['vels'] = toolbox.build_vels(vels, **params) np.array(params['vels']).tofile('vels_full.bin') pylab.imshow(params['vels'].T , aspect='auto') pylab.colorbar() pylab.show()