Project: segyio

Simple & fast IO for SEG-Y files

Project Details

Latest version
1.9.12
Home Page
https://github.com/equinor/segyio
PyPI Page
https://pypi.org/project/segyio/

Project Popularity

PageRank
0.0021827244930637062
Number of downloads
58684

======= SEGY IO

https://segyio.readthedocs.io

Introduction

Segyio is a small LGPL licensed C library for easy interaction with SEG Y formatted seismic data, with language bindings for Python and Matlab. Segyio is an attempt to create an easy-to-use, embeddable, community-oriented library for seismic applications. Features are added as they are needed; suggestions and contributions of all kinds are very welcome.

Feature summary

  • A low-level C interface with few assumptions; easy to bind to other languages.
  • Read and write binary and textual headers.
  • Read and write traces, trace headers.
  • Easy to use and native-feeling python interface with numpy integration.

Project goals

Segyio does necessarily attempt to be the end-all of SEG-Y interactions; rather, we aim to lower the barrier to interacting with SEG-Y files for embedding, new applications or free-standing programs.

Additionally, the aim is not to support the full standard or all exotic (but correctly) formatted files out there. Some assumptions are made, such as:

  • All traces in a file are assumed to be of the same sample size.
  • It is assumed all lines have the same number of traces.

The writing functionality in Segyio is largely meant to modify or adapt files. A file created from scratch is not necessarily a to-spec SEG-Y file, as we only necessarily write the header fields segyio needs to make sense of the geometry. It is still highly recommended that SEG-Y files are maintained and written according to specification, but segyio does not mandate this.