def test_get_georeferencing(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(target.georeferencing.coordinate_dict()['name'], '*unknown') self.assertEqual( target.georeferencing.coordinate_dict()['units'][:3], 'ft,') with segy.SegyReader(self.testfile_2d) as target: self.assertEqual(target.georeferencing.coordinate_dict()['name'], '*unknown') self.assertEqual( target.georeferencing.coordinate_dict()['units'][:2], 'm,')
def test_get_field_configuration(self): self.start() with segy.SegyReader(self.testfile_3d) as target: config = target.field_configuration self.assertEqual(len(config.fields), 14) self.assertEqual(config.fields[2].mapping, segy.FieldMapping.Crossline)
def test_get_trace_header(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual( target.get_trace_header(0)["Trace sequence number within line"] ["offset"], '0') self.assertEqual( target.get_trace_header(0)["Trace sequence number within line"] ["value"], '1') self.assertEqual( target.get_trace_header(0)["Source coordinate - X"]["offset"], '72') self.assertEqual( target.get_trace_header(0)["Source coordinate - X"]["value"], '264640') self.assertEqual( target.get_trace_header(1)["Trace sequence number within line"] ["offset"], '0') self.assertEqual( target.get_trace_header(1)["Trace sequence number within line"] ["value"], '2') self.assertEqual( target.get_trace_header(1)["Source coordinate - X"]["offset"], '72') self.assertEqual( target.get_trace_header(1)["Source coordinate - X"]["value"], '264640')
def test_export_multi_slice(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.export_files(slice_prefix=os.path.join( self.folder, 'test_crossline_slice'), inline_slices=[60, 70], crossline_slices=[80, 90], z_slices=[100, 110])
def test_scan_file_non_existing(self): self.start() with self.assertRaises(gxapi.GXError) as raise_context: with segy.SegyReader( 'this_file_nowhere_to_be_found.sgy') as target: target.scan_file() self.assertTrue('Unable to open "this_file_nowhere_to_be_found.sgy"' in str(raise_context.exception))
def test_set_georeferencing(self): self.start() with segy.SegyReader(self.testfile_3d) as target: georef_dict = target.georeferencing.coordinate_dict() georef_dict['name'] = 'NAD83 / UTM zone 15N' target.georeferencing = coordinate_system.Coordinate_system( georef_dict) self.assertEqual(target.georeferencing.coordinate_dict()['name'], 'NAD83 / UTM zone 15N')
def test_get_text_header(self): self.start() with segy.SegyReader(self.testfile_3d) as target: # Header should be 3200 characters long self.assertEqual(len(target.text_header), 3200) # Header should be ASCII self.assertTrue(all(ord(c) < 128 for c in target.text_header)) self.assertEqual(target.text_header[:4], 'C 1 ') self.assertEqual(target.text_header[3120:3124], 'C40 ')
def test_get_z_offset(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(target.z_offset, -7499)
def test_scan_file(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.scan_file() self.assertEqual(target.scan_file(), segy.InlineCrosslineSanity.OK)
def test_get_binary_header(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(len(target.binary_header.keys()), 27) self.assertEqual(target.binary_header['Line number'], 4)
def test_get_trace_range(self): self.start() with segy.SegyReader(self.testfile_3d) as target: top, bottom = target.trace_range self.assertEqual(top, -7499) self.assertEqual(bottom, 6000.1)
def test_get_is_depth_or_time(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(target.is_depth_or_time, segy.ZType.TIME)
def test_get_xy_units(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(target.xy_units, "feet")
def test_export_voxel(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.export_files( voxel=os.path.join(self.folder, 'test.geosoft_voxel'))
def test_get_z_units(self): self.start() with segy.SegyReader(self.testfile_3d) as target: self.assertEqual(target.z_units, 'microseconds')
def test_set_trace_sample_interval(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.trace_sample_interval = 1000 self.assertEqual(target.trace_sample_interval, 1000)
def test_set_trace_data_type(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.trace_data_type = segy.DataType.IEEE_FLOAT4 self.assertEqual(target.trace_data_type, segy.DataType.IEEE_FLOAT4)
def test_get_trace_length_from_trace_header(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.get_trace_length_from_trace_header(72) self.assertEqual(target.trace_length, 264640)
def test_set_trace_length(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.trace_length = 100 self.assertEqual(target.trace_length, 100)
def test_get_trace_data(self): self.start() with segy.SegyReader(self.testfile_3d) as target: trace = target.get_trace_data(100) self.assertEqual(trace.length, target.trace_length)
def test_export_gdb(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.scan_file() target.export_files(gdb=os.path.join(self.folder, 'test.gdb'))
def test_set_z_offset(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.z_offset = 2000.5 self.assertEqual(target.z_offset, 2000.5)
def test_export_inline_slice(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.export_files(slice_prefix=os.path.join( self.folder, 'test_inline_slice'), inline_slices=[20, 30])
def test_set_z_offset_units(self): self.start() with segy.SegyReader(self.testfile_3d) as target: target.z_offset_units = 'microseconds' self.assertEqual(target.z_offset_units, "microseconds")