OpenZGY/C++ API and Internals (ALPHA)
Access seismic data stored in ZGY format.
Public Member Functions | Static Public Attributes | List of all members
InternalZGY::LodWeightedAverage< T > Class Template Reference

Weighted arithmetic average of 8 neighboring samples. More...

Public Member Functions

 LodWeightedAverage (const std::int64_t *hist, int bins, double minHist, double maxHist)
 
operator() (T s0, T s1, T s2, T s3, T s4, T s5, T s6, T s7, int, int, int)
 

Static Public Attributes

static const LodAlgorithm algorithm = LodAlgorithm::WeightedAverage
 

Detailed Description

template<typename T>
class InternalZGY::LodWeightedAverage< T >

Weighted arithmetic average of 8 neighboring samples.

Each sample is weighted agaist how common this value is in the survey as a whole. Rare values (likely very high of very low) get higher priority. This prevents tiles from looking more and more washed out the more they get decimated.

TODO-Performance: Profile this function and try to speed it up. It is by far the most expensize of the decimators, ~10x the cost of LowPass. By default it is used for lod 2+ only. So it gets called with just 1/7 of the data passed to LowPass. In sum the code still spends more CPU cycles on this than on LowPass.


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