OpenZGY/Python API and Internals (ALPHA)
Access seismic data stored in ZGY format.
Public Member Functions | List of all members
openzgy.impl.genlod.GenLodBase Class Reference
Inheritance diagram for openzgy.impl.genlod.GenLodBase:
openzgy.impl.genlod.GenLodImpl openzgy.impl.genlod.GenLodC

Public Member Functions

def __init__ (self, size, *bricksize=(64, 64, 64), dtype=np.float32, range_hint=None, nlods=None, decimation=None, histogram=None, defaultvalue=None, progress=None, verbose=None)
 

Detailed Description

Abstract class for generating low resolution bricks, histogram,
and statistics. At this level only define virtual methods for I/O.
The implementation can be used as-is when mocking the class.
The optional nlods parameter is only used as a consistency check.

Note that the WeightedAverage algorithm requires a histogram to work.
If no histogram was provided then the current contents of the
accumulated histogram will be used. This is unfortunate and might
cause brick artifacts. Especially in the first few bricks that are
generated. With a non-recursive algorithm (plan C) and with only
lod2 and above uses weighted average then this is unproblematic.
Because in that case we will be done with the histogram once we
need it. TODO-Low consider doing an initial pass with a statistical
sampling of the lod0 data, only for use with weighted average.
There will be a minor issue with some values appearing to have zero
frequency, but this should not cause any trouble. (assume "1").

Note that the WeightedAverage and AverageNon0 algorithms expect a
defaultvalue to use when all inputs are inf/nan or (for AverageNon0)
zero. Only relevant for integral types, to ensure that the default
is whatever will produce the value closest to 0 after conversion.
And integral data can neither be inf nor nan, so this is a pretty
academic issue. For AverageNon0 that algorithm is currently not
used. So it isn't even clear what the desired behavior should be.

The documentation for this class was generated from the following file: