コード例 #1
0
def test_read_trace():
    with seismic_zfp.open(SGZ_FILE) as sgzfile:
        with segyio.open(SGY_FILE) as segyfile:
            for trace_number in range(25):
                sgz_trace = sgzfile.trace[trace_number]
                segy_trace = segyfile.trace[trace_number]
                assert np.allclose(sgz_trace, segy_trace, rtol=1e-6)
コード例 #2
0
def compare_zslice(sgz_filename, tolerance):
    with seismic_zfp.open(sgz_filename) as sgzfile:
        with segyio.open(SGY_FILE) as segyfile:
            for line_number in range(50):
                slice_sgz = sgzfile.depth_slice[line_number]
                slice_segy = segyfile.depth_slice[line_number]
                assert np.allclose(slice_sgz, slice_segy, rtol=tolerance)
コード例 #3
0
def test_read_trace_header():
    with seismic_zfp.open(SGZ_FILE) as sgzfile:
        with segyio.open(SGY_FILE) as sgyfile:
            for trace_number in range(25):
                sgz_header = sgzfile.header[trace_number]
                sgy_header = sgyfile.header[trace_number]
                assert sgz_header == sgy_header
コード例 #4
0
def compare_crossline(sgz_filename, tolerance):
    with seismic_zfp.open(sgz_filename) as sgzfile:
        with segyio.open(SGY_FILE) as segyfile:
            for line_number in range(5):
                slice_sgz = sgzfile.xline[sgzfile.xlines[line_number]]
                slice_segy = segyfile.xline[segyfile.xlines[line_number]]
                assert np.allclose(slice_sgz, slice_segy, rtol=tolerance)
コード例 #5
0
def compare_crossline_number(sgz_filename, sgy_filename, lines_to_test,
                             tolerance):
    with seismic_zfp.open(sgz_filename) as sgzfile:
        with segyio.open(sgy_filename) as segyfile:
            for line_number in lines_to_test:
                slice_segy = segyfile.xline[line_number]
                slice_sgz = sgzfile.xline[line_number]
                assert np.allclose(slice_sgz, slice_segy, rtol=tolerance)
コード例 #6
0
def compare_inline_ordinal(sgz_filename, sgy_filename, lines_to_test,
                           tolerance):
    with seismic_zfp.open(sgz_filename) as sgzfile:
        with segyio.open(sgy_filename) as segyfile:
            for line_ordinal in lines_to_test:
                slice_segy = segyfile.iline[segyfile.ilines[line_ordinal]]
                slice_sgz = sgzfile.iline[sgzfile.ilines[line_ordinal]]
                print(slice_segy)
                print(slice_sgz)
                assert np.allclose(slice_sgz, slice_segy, rtol=tolerance)
コード例 #7
0
def test_compress_headers(tmp_path):
    out_sgz = os.path.join(str(tmp_path), 'small_test_headers.sgz')

    with SegyConverter(SGY_FILE) as converter:
        converter.run(out_sgz, bits_per_voxel=8)

    with seismic_zfp.open(out_sgz) as sgz_file:
        with segyio.open(SGY_FILE) as sgy_file:
            for sgz_header, sgy_header in zip(sgz_file.header,
                                              sgy_file.header):
                assert sgz_header == sgy_header
コード例 #8
0
def test_read_trace_header_slicing():
    slices = [
        slice(0, 5, None),
        slice(0, None, 2),
        slice(5, None, -1),
        slice(None, None, 10),
        slice(None, None, None)
    ]
    with seismic_zfp.open(SGZ_FILE) as sgzfile:
        with segyio.open(SGY_FILE) as sgyfile:
            for slice_ in slices:
                sgy_headers = sgyfile.header[slice_]
                sgz_headers = sgzfile.header[slice_]
                for sgz_header, sgy_header in zip(sgz_headers, sgy_headers):
                    assert sgz_header == sgy_header
コード例 #9
0
import os
import sys

import seismic_zfp
import segyio

base_path = sys.argv[1]

with segyio.open(os.path.join(base_path, '0.sgy')) as segyfile:
    print(segyfile.bin)
    print(segyfile.text[0])

with seismic_zfp.open(os.path.join(base_path, '0.sgz')) as sgzfile:
    print(sgzfile.bin)
    print(sgzfile.text[0])
コード例 #10
0
def test_read_bin_header():
    with seismic_zfp.open(SGZ_FILE) as sgzfile:
        with segyio.open(SGY_FILE) as segyfile:
            assert sgzfile.bin == segyfile.bin
コード例 #11
0
def test_header_is_iterable():
    with seismic_zfp.open(SGZ_FILE) as sgz_file:
        with segyio.open(SGY_FILE) as sgy_file:
            for sgz_header, sgy_header in zip(sgz_file.header,
                                              sgy_file.header):
                assert sgz_header == sgy_header