Skip to main content

A library for interacting with SEG-Y seismic data

Project description


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

  • Faster access to read data: both traces headers and values
  • Optional bufferization, where user can provide a preallocated memory to load the data into
  • Convenient API that relies on numpy.memmap for most operations, while providing segyio as a fallback engine

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_i slide_x slide_d crop
(256, 256, 500)
batch
(20, 256, 256, 500)
segyio 2.58254 7.16672 3041.3 941.285 16104.4
segfast 1.48056 3.37418 50.1355 82.0574 2761.94
segfast
segyio engine
2.92379 5.69101 225.13 117.571 3968.81
seismiqb 1.46763 3.45154 50.3333 151.877 2738.86
seismiqb+HDF5 1.04213 1.93414 1.80567 81.3581 2616.83
segfast
quantized
0.252452 0.518485 56.6672 7.71151 1212.74

SlideBenchmarks

Getting started

After installation just import seismiQB 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

segfast-1.0.1.tar.gz (18.0 kB view hashes)

Uploaded Source

Built Distribution

segfast-1.0.1-py3-none-any.whl (18.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page