|
OpenZGY/Python API and Internals (ALPHA)
Access seismic data stored in ZGY format.
|
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 |
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.
1.8.17