samuelchodur / e1

Python interface to the e1 compression format.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

e1.py

Python support for the e1 seismic compression format.

"e1" is a variable-length compression algorithm for int32 data.

Installation

pip install e1

Usage

Decompress data from a file

import e1

file_name = 'some_file.w'
byte_offset = 0
nsamples = 1000

with open(file_name, 'rb') as f:
    f.seek(byte_offset)
    data = e1.decompress_file(f, nsamples)

Decompress raw bytes

with open(file_name, 'rb') as f:
    # Read 5 times as many bytes as you expecte from nsamples x 4-byte values,
    # just to make sure all your nsamples are in it.  Though it may be more data
    # than you need, this gaurds against poorly-compressed data.  
    # In e1, you don't know a priori how many bytes it took to compress your data.
    nbytes = 5 * nsamples * 4
    byts = f.read(nbytes)

data = decompress(byts, nsamples)

About

Python interface to the e1 compression format.

License:Other


Languages

Language:C 83.2%Language:Python 16.8%