Home

Awesome

<div align="center">

SEGFAST

<a href="#installation">Installation</a><a href="#benchmarks">Benchmarks</a><a href="#getting-started">Getting Started</a>

License Python Status

</div>

segfast is a library for interacting with SEG-Y seismic data. Main features are:

Installation

# pip / pip3
pip3 install segfast

# developer version (add `--depth 1` if needed)
git clone https://github.com/analysiscenter/segfast.git

Benchmarks

Timings for reading data along various projections:

slide_islide_xslide_dcrop<br/>(256, 256, 500)batch<br/>(20, 256, 256, 500)
segyio2.582547.166723041.3941.28516104.4
segfast1.480563.3741850.135582.05742761.94
segfast<br/>segyio engine2.923795.69101225.13117.5713968.81
seismiqb1.467633.4515450.3333151.8772738.86
seismiqb+HDF51.042131.934141.8056781.35812616.83
segfast <br/>quantized0.2524520.51848556.66727.711511212.74

SlideBenchmarks

Getting started

After installation just import segfast into your code. A quick demo of our primitives and methods:

import segfast

# Open file and read some meta info. Engine can be `segyio` or `memmap`
segfast_file = segfast.open('/path/to/cube.sgy', engine='memmap')

# Load requested headers as dataframe
segfast_file.load_headers(['INLINE_3D', 'CROSSLINE_3D', ...])

# Data access. All methods support optional buffer as target memory
segfast_file.load_traces([123, 333, 777], buffer=None)
segfast_file.load_depth_slices([5, 10, 15], buffer=None)

# Convert data format to IEEE float32: speeds up operations by a lot
segfast_file.convert(format=5)

You can get more familiar with the library, its functional and timings by reading examples.