OpenZGY/C++ Public API (ALPHA)
Access seismic data stored in ZGY format.
Public Member Functions | List of all members
OpenZGY::IZgyTools Class Referenceabstract

Base class of IZgyReader and IZgyWriter. More...

#include <api.h>

Inheritance diagram for OpenZGY::IZgyTools:
OpenZGY::IZgyMeta OpenZGY::Impl::ZgyMetaAndTools OpenZGY::IZgyReader OpenZGY::IZgyWriter OpenZGY::Impl::ZgyReader OpenZGY::Impl::ZgyWriter OpenZGY::Impl::ZgyReader OpenZGY::Impl::ZgyWriter

Public Member Functions

virtual void transform (const corners_t &from, const corners_t &to, std::vector< std::array< float64_t, 2 >> &) const =0
 General coordinate conversion of an array of points. (NOT IMPLEMENTED YET) More...
 
virtual std::array< float64_t, 2 > transform1 (const corners_t &from, const corners_t &to, const std::array< float64_t, 2 > &) const =0
 General coordinate conversion of a single coordinate pair. More...
 
virtual std::array< float64_t, 2 > annotToIndex (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
virtual std::array< float64_t, 2 > annotToWorld (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
virtual std::array< float64_t, 2 > indexToAnnot (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
virtual std::array< float64_t, 2 > indexToWorld (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
virtual std::array< float64_t, 2 > worldToAnnot (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
virtual std::array< float64_t, 2 > worldToIndex (const std::array< float64_t, 2 > &) const =0
 Convert a single coordinate pair.
 
- Public Member Functions inherited from OpenZGY::IZgyMeta
virtual size3i_t size () const =0
 Size in inline, crossline, vertical directions.
 
virtual SampleDataType datatype () const =0
 Type of samples in each brick.
 
virtual std::array< float32_t, 2 > datarange () const =0
 Used for float to int scaling.
 
virtual UnitDimension zunitdim () const =0
 Vertical dimension.
 
virtual UnitDimension hunitdim () const =0
 Horizontal dimension.
 
virtual std::string zunitname () const =0
 For annotation only. Use hunitfactor, not the name, to convert to or from SI.
 
virtual std::string hunitname () const =0
 For annotation only. Use hunitfactor, not the name, to convert to or from SI.
 
virtual float64_t zunitfactor () const =0
 Multiply by this factor to convert from storage units to SI units.
 
virtual float64_t hunitfactor () const =0
 Multiply by this factor to convert from storage units to SI units.
 
virtual float32_t zstart () const =0
 First time/depth.
 
virtual float32_t zinc () const =0
 Increment in vertical direction.
 
virtual std::array< float32_t, 2 > annotstart () const =0
 First inline, crossline.
 
virtual std::array< float32_t, 2 > annotinc () const =0
 Increment in inline, crossline directions.
 
virtual const corners_t & corners () const =0
 Survey corner points in world coordinates.
 
virtual const corners_t & indexcorners () const =0
 Survey corner points in ordinal (i,j) coordinates.
 
virtual const corners_t & annotcorners () const =0
 Survey corner points in inline, crossline coordinates.
 
virtual size3i_t bricksize () const =0
 Size of one brick. Almost always (64,64,64), change at your own peril.
 
virtual std::vector< size3i_t > brickcount () const =0
 Number of bricks at each resolution (LOD) level.
 
virtual int32_t nlods () const =0
 Number of resolution (LOD) levels.
 
virtual void meta () const =0
 Dictionary of meta data. NOT IMPLEMENTED.
 
virtual int32_t numthreads () const =0
 Number of threads to use. NOT IMPLEMENTED.
 
virtual void set_numthreads (int32_t)=0
 Number of threads to use. NOT IMPLEMENTED.
 
virtual void dump (std::ostream &) const =0
 Output in human readable form for debugging.
 
virtual SampleStatistics statistics () const =0
 Statistics of all sample values on the file.
 
virtual SampleHistogram histogram () const =0
 Histogram of all sample values on the file.
 

Additional Inherited Members

- Public Types inherited from OpenZGY::IZgyMeta
typedef std::int8_t int8_t
 
typedef std::int16_t int16_t
 
typedef std::int32_t int32_t
 
typedef std::int64_t int64_t
 
typedef float float32_t
 
typedef double float64_t
 
typedef std::array< int64_t, 3 > size3i_t
 
typedef std::array< std::array< float64_t, 2 >, 4 > corners_t
 
typedef std::pair< std::shared_ptr< const void >, std::int64_t > rawdata_t
 
typedef std::function< rawdata_t(const rawdata_t &, const std::array< int64_t, 3 > &)> compressor_t
 

Detailed Description

Base class of IZgyReader and IZgyWriter.

Member Function Documentation

◆ transform()

virtual void OpenZGY::IZgyTools::transform ( const corners_t &  from,
const corners_t &  to,
std::vector< std::array< float64_t, 2 >> &   
) const
pure virtual

General coordinate conversion of an array of points. (NOT IMPLEMENTED YET)

Parameters
fromcontrol points in the current coordinate system.
tocontrol points in the desired coordinate system.

Convert coordinates in place, with the conversion defined by giving the values of 3 arbitrary control points in both the "from" and "to" coordinate system. A common choice of arbitrary points is to use three of the lattice corners. As a convenience the "from" and "to" parameters are declared as corners_t so the caller can pass corners(), annotcorners(), or indexcorners() directly.

Implemented in OpenZGY::Impl::ZgyMetaAndTools.

◆ transform1()

virtual std::array<float64_t,2> OpenZGY::IZgyTools::transform1 ( const corners_t &  from,
const corners_t &  to,
const std::array< float64_t, 2 > &   
) const
pure virtual

General coordinate conversion of a single coordinate pair.

Parameters
fromcontrol points in the current coordinate system.
tocontrol points in the desired coordinate system.

Convert coordinates in place, with the conversion defined by giving the values of 3 arbitrary control points in both the "from" and "to" coordinate system. A common choice of arbitrary points is to use three of the lattice corners. As a convenience the "from" and "to" parameters are declared as corners_t so the caller can pass corners(), annotcorners(), or indexcorners() directly.

Implemented in OpenZGY::Impl::ZgyMetaAndTools.


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