Files
segpy/testsegy.py
T

81 lines
1.8 KiB
Python

#!/usr/bin/env python
#
# testsegy.py
#
import segypy
def test_read(filename):
# Read Segy File
with open(filename, 'rb') as f:
return segypy.read_segy(f, filename)
def test_write(filename_out, data, sh, sth):
sh['DataSampleFormat'] = 5
sh['SegyFormatRevisionNumber'] = 100
segypy.write_segy_structure(filename_out, data, sh, sth)
segypy.wiggle(data, sh, 2, .1, .1)
f_ieee = 'data_IEEE.segy'
f_ibm = 'data_IBM_REV1.segy'
d_ieee, sh, sth = segypy.read_segy(f_ieee)
d_ibm, sh, sth = segypy.read_segy(f_ibm)
return d_ieee, d_ibm, data
def test_render(d_ieee, d_ibm, data):
import pylab
# imshow(Data)
pylab.figure(1)
pylab.imshow(d_ieee)
pylab.title('ieee')
pylab.show()
pylab.figure(2)
pylab.imshow(d_ibm)
pylab.title('IBM')
pylab.show()
pylab.figure(3)
pylab.imshow(data)
pylab.title('TEST')
pylab.show()
def parse_args():
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('filename',
help='The SEGY input file')
parser.add_argument('--output', '-o',
dest='outfile',
default='',
help='The output file (optional).')
parser.add_argument('--render_test', '-r',
dest='render_test',
action='store_true',
help='Whether to test rendering (only applies if '
'output is produced.)')
return parser.parse_args()
if __name__ == '__main__':
args = parse_args()
read_results = test_read(args.filename)
if args.outfile:
write_results = test_write(args.outfile, *read_results)
if args.render_test:
test_render(*write_results)