Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if mmap: _segyio.mmap(f)
binary_header = _segyio.read_binaryheader(f)
ilb = 189
xlb = 193
metrics = _segyio.init_metrics(f, binary_header, ilb, xlb)
sorting = metrics['sorting']
trace_count = metrics['trace_count']
inline_count = metrics['iline_count']
crossline_count = metrics['xline_count']
offset_count = metrics['offset_count']
line_metrics = _segyio.init_line_metrics(sorting, trace_count, inline_count, crossline_count, offset_count)
metrics.update(line_metrics)
iline_indexes = numpy.zeros(metrics['iline_count'], dtype=numpy.uintc)
xline_indexes = numpy.zeros(metrics['xline_count'], dtype=numpy.uintc)
offsets = numpy.zeros(metrics['offset_count'], dtype=numpy.uintc)
_segyio.init_indices(f, metrics, iline_indexes, xline_indexes, offsets)
return f, metrics, iline_indexes, xline_indexes
def test_fread_trace0(self):
f = _segyio.open(self.filename, "r")
binary_header = _segyio.read_binaryheader(f)
ilb = 189
xlb = 193
metrics = _segyio.init_metrics(f, binary_header, ilb, xlb)
sorting = metrics['sorting']
trace_count = metrics['trace_count']
inline_count = metrics['iline_count']
crossline_count = metrics['xline_count']
offset_count = metrics['offset_count']
line_metrics = _segyio.init_line_metrics(sorting, trace_count, inline_count, crossline_count, offset_count)
iline_indexes = numpy.zeros(metrics['iline_count'], dtype=numpy.uintc)
xline_indexes = numpy.zeros(metrics['xline_count'], dtype=numpy.uintc)
offsets = numpy.zeros(metrics['offset_count'], dtype=numpy.uintc)
_segyio.init_indices(f, metrics, iline_indexes, xline_indexes, offsets)
with self.assertRaises(KeyError):
_segyio.fread_trace0(0, len(xline_indexes), line_metrics['iline_stride'], offset_count, iline_indexes, "inline")
with self.assertRaises(KeyError):
_segyio.fread_trace0(2, len(iline_indexes), line_metrics['xline_stride'], offset_count, xline_indexes, "crossline")
value = _segyio.fread_trace0(1, len(xline_indexes), line_metrics['iline_stride'], offset_count, iline_indexes, "inline")
self.assertEqual(value, 0)
value = _segyio.fread_trace0(2, len(xline_indexes), line_metrics['iline_stride'], offset_count, iline_indexes, "inline")
sorting = metrics['sorting']
trace_count = metrics['trace_count']
inline_count = metrics['iline_count']
crossline_count = metrics['xline_count']
offset_count = metrics['offset_count']
metrics = _segyio.init_line_metrics(sorting, trace_count, inline_count, crossline_count, offset_count)
self.assertEqual(metrics['xline_length'], 5)
self.assertEqual(metrics['xline_stride'], 5)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 1)
# (sorting, trace_count, inline_count, crossline_count, offset_count)
metrics = _segyio.init_line_metrics(1, 15, 3, 5, 1)
self.assertEqual(metrics['xline_length'], 3)
self.assertEqual(metrics['xline_stride'], 1)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 3)
metrics = _segyio.init_line_metrics(2, 15, 3, 5, 1)
self.assertEqual(metrics['xline_length'], 3)
self.assertEqual(metrics['xline_stride'], 5)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 1)
metrics = _segyio.init_line_metrics(sorting, trace_count, inline_count, crossline_count, offset_count)
self.assertEqual(metrics['xline_length'], 5)
self.assertEqual(metrics['xline_stride'], 5)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 1)
# (sorting, trace_count, inline_count, crossline_count, offset_count)
metrics = _segyio.init_line_metrics(1, 15, 3, 5, 1)
self.assertEqual(metrics['xline_length'], 3)
self.assertEqual(metrics['xline_stride'], 1)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 3)
metrics = _segyio.init_line_metrics(2, 15, 3, 5, 1)
self.assertEqual(metrics['xline_length'], 3)
self.assertEqual(metrics['xline_stride'], 5)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 1)
def test_line_metrics(self):
f = _segyio.open(self.filename, "r")
binary_header = _segyio.read_binaryheader(f)
ilb = 189
xlb = 193
metrics = _segyio.init_metrics(f, binary_header, ilb, xlb)
_segyio.close(f)
sorting = metrics['sorting']
trace_count = metrics['trace_count']
inline_count = metrics['iline_count']
crossline_count = metrics['xline_count']
offset_count = metrics['offset_count']
metrics = _segyio.init_line_metrics(sorting, trace_count, inline_count, crossline_count, offset_count)
self.assertEqual(metrics['xline_length'], 5)
self.assertEqual(metrics['xline_stride'], 5)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 1)
# (sorting, trace_count, inline_count, crossline_count, offset_count)
metrics = _segyio.init_line_metrics(1, 15, 3, 5, 1)
self.assertEqual(metrics['xline_length'], 3)
self.assertEqual(metrics['xline_stride'], 1)
self.assertEqual(metrics['iline_length'], 5)
self.assertEqual(metrics['iline_stride'], 3)
metrics = _segyio.init_line_metrics(2, 15, 3, 5, 1)