| name | segyio |
| description | Read, write, and manipulate SEG-Y seismic data files. Fast C library with Python
bindings for trace, header, inline, and crossline access. Use when Claude needs to:
(1) Read/inspect SEG-Y files, (2) Extract trace data or headers, (3) Access 3D survey
data by inline/crossline, (4) Create new SEG-Y files from arrays, (5) Modify existing
SEG-Y files, (6) Extract subsets of seismic data, (7) Read/write Seismic Unix format.
|
| version | 1.0.0 |
| author | Geoscience Skills |
| license | MIT |
| tags | ["Seismic","SEG-Y","Data I/O","Traces","Headers","Segyio","Inlines","Crosslines"] |
| dependencies | ["segyio>=1.9.0","numpy"] |
| complements | ["obspy","bruges","pyvista"] |
| workflow_role | data-loading |
segyio - SEG-Y Seismic Data
Quick Reference
import segyio
with segyio.open('seismic.sgy', 'r') as f:
print(f.tracecount, len(f.samples))
trace0 = f.trace[0]
data = segyio.tools.collect(f.trace[:])
with segyio.open('seismic.sgy', 'r', iline=189, xline=193) as f:
inline_100 = f.iline[100]
cube = segyio.tools.cube(f)
spec = segyio.spec()
spec.samples = samples
spec.tracecount = n_traces
with segyio.create('output.sgy', spec) as f:
f.trace[0] = data
Key Access Modes
| Mode | Description |
|---|
f.trace[i] | Sequential trace access by index |
f.header[i] | Trace header access (dict-like) |
f.iline[n] | Inline slice (3D surveys) |
f.xline[n] | Crossline slice (3D surveys) |
f.depth_slice[n] | Horizontal time/depth slice |
f.text[0] | Text header (3200 bytes) |
f.bin | Binary header |
Essential Operations