Overview: Why SEGY-SAK?

The objective of SEGY-SAK was to bring together the usefulness of segyio and xarray to improve accessibility of seismic data for geoscientists using Python. Key objectives for this project are to make loading and exporting SEG-Y easier by offering common simple interfaces to segyio and to then load data into an xarray format either directly into memory or by streaming large files to disk.

Currently SEGY-SAK can load 2D, 2D gathers, 3D and 3D gathers into a common format stable format called seisnc that you can use faithfully in your downstream applications. The seisnc format is outlined in the standard section of the documentation and is the basis for all of the other functionality provided by SEGY-SAK.

Beyond that, the segysak package has enhancements to xarray that reduce complexity for common seismic related tasks to extracting information from seismic such as arbitrary line, well-deviation or horizon extractions. We also offer a long list of notebook examples to help new and experienced Python users alike traverse the intricacies of Xarray and demonstrate how to do common tasks with segysak.

Finally, the use of Xarray and the NetCDF4 format allows you to scale your problems using Dask. Dask can lazily load and process data across multiple cores and even distributed memory allowing you to apply your Python code to large seismic volumes. This process also means you can plot slices from your volumes in Python without loading the full dataset into memory.