In [2]:
%matplotlib inline
import matplotlib.pylab as pylab

A simple (not efficient) function to load a horizon that was exported from Oepen DTect.

import horizon_io.py

horizon is returned as a numpy array, and some stats are include in the hinfo object.

Note the horizon displayed below is not included in the repo


In [5]:
from horizon_io import *

data_path = '/Users/stevejpurves/dev/euclidity/data/'
horizon, hinfo = load_horizon(data_path + 'top_channels_grid.hor')

print(hinfo)

pylab.figure()
pylab.imshow(horizon)


{'z_range': [835.72012186, 1580.39677143], 'inline_range': [1737, 2657], 'xline_range': [4200, 5325]}
Out[5]:
<matplotlib.image.AxesImage at 0x1114dec50>

A typical use case is to use the horizon elevation values to extract data from a seismic volume.

horizon_io.py also includes a extract_map function to do this.

Here is some sample code. Note: the extents of the horizon must match exactly that of the volume


In [ ]:
volume_z_increment = 3
horizon_in_samples = (horizon / volume_z_increment)

# volume = some 3d numpy array with data

data_extracted_on_horizon = extract_map_i(volume, horizon_in_samples)

In [ ]: