OpenZGY/Python API and Internals (ALPHA)
Access seismic data stored in ZGY format.
Classes | Functions
openzgy.impl.meta Namespace Reference

Meta data read/write. More...

Classes

class  AlphaLUPV1
 
class  AlphaLUPV2
 
class  AlphaLUPV3
 
class  BrickLUPV1
 
class  BrickLUPV2
 
class  BrickLUPV3
 
class  ErrorsWillCorruptFile
 
class  FileHeader
 
class  HeaderBase
 
class  HistHeaderV1
 
class  HistHeaderV2
 
class  HistHeaderV3
 
class  InfoHeaderV1
 
class  InfoHeaderV2
 
class  InfoHeaderV3
 
class  LookupTable
 
class  OffsetHeaderV1
 
class  OffsetHeaderV2
 
class  OffsetHeaderV3
 
class  StringListV1
 
class  StringListV2
 
class  StringListV3
 
class  ZgyInternalMeta
 

Functions

def OffsetHeaderFactory (version)
 
def InfoHeaderFactory (version)
 
def StringListFactory (version)
 
def HistHeaderFactory (version)
 
def AlphaLUPFactory (version)
 
def BrickLUPFactory (version)
 
def checkAllFormats (*verbose=False, file=None)
 

Detailed Description

Meta data read/write.

Meta data read/write

This file contains a number of classes and free functions dealing with
meta data access, i.e. everything in the ZGY file except the actual
bulk data. Nothing in this file should be directly visible to users of
the public API.

impl.meta.ZgyInternalMeta:

    * Holds a collection of header instances, one of each type.
    * A function to populate all the instances, mainly be invoking
      read() in each header instance, in the right order.
      With the current format there are several chicken and egg problems.
    * A function to populate all the header instances when creating
      a new file.
    * A function to flush all headers instances to file after writing.
    * The user visible ZgyReader and ZgyWriter classes should contain
      an instance of this class, using composition not inheritance
      because there are no methods or data in this class that the user
      is allowed to use directly.

FileHeader
OffsetHeader{V1,V2,V3}
InfoHeader{V1,V2,V3}
StringList{V1,V2,V3}
HistHeader{V1,V2,V3}
AlphaLUP{V1,V2,V3}
BrickLUP{V1,V2,V3}:

    * All these represent a particular version of one of the headers
      that make up a complete ZGY file. Each header knows about the
      physical layout on the file. In C++ the class should be a POD
      with an exact match to what is found on file. If additional
      data members are needed they should be introduced in a derived
      class. In Python there are no POD types so specifying the
      physical layout is a bit more involved. And any derived data
      might as well be included in the same class.

OffsetHeaderFactory, InfoHeaderFactory, etc.

    * Free functions to create an instance of this type, with the
      numerical version number passed in.

HeaderBase, LookupTable

    * These are "convenience" base classes for sharing code;
      they are not intended to provide polymorphic behavior.