SGFSpaces define the geometry and attributes of uniform rectilinear grids
![]() | Access to header table
| ||||||||
![]() | Constructors
|
SGFSpaces define the geometry and attributes of uniform rectilinear grids. Accomodates up to 9-dimensional data, and records its organization and any auxiliary scalar information required to properly interpret the data.Motivated by and designed after the Stanford Exploration Project ``classic'' seismic disk data format. After seismic usage, grid geometry and auxiliary information are ``headers'' or ``header words'' in this documentation.
Double and single precision versions defined. The description below refers to the double precision class (SGFSpace_d). In single precision, all doubles change to floats, otherwise everything is the same.
SGFSpace stores header words (grid parameters etc.) internally in a Table, and externally in a header file, using the Table disk data format, i.e. a list of keyword=value pairs. See the Table class documentation for further information, also the example below.
Required header words:
- data dimension: int dim
- record dimension: int rd
- number of samples in each direction: int n1, n2,..., ndim
- step size in each direction: double d1, d2,..., ddim
- coordinate of first sample in each direction: double o1, o2,..., odim
- pointer to data: char * in
- data type identifier: int esize = 8 for double precision, 4 for single precision [provided for backward compatibility with other software reading SEP disk data format]
Optional header words: any user-specified integer, real (double or float) or string data (``attributes'') needed for proper interpretation of the data in the particular SGFSpace.
Notes:
- The vectors in SGFSpaces are presumed to be stored out-of-core, so one of the header words must be the record dimension, specifying the dimension (hence implicitly the size) of the data subset to be stored in-core at any point during the life of an SGFVector object.
- The in string should be the filename of the binary data, when the SGFSpace object is the SGFSpace of an SGFVector. To define the space by itself (i.e. the grid plus its additional attributes, if any), initialize this string arbitrarily (eg. to "NULL").
Example: The following file, input to the SGFSpace_s usual constructor, constructs an SGFSpace_s implementing a 2-dimensional grid having additional attributes of WaterDepth and WineType. Any vector in this space is read into core in 1-dimensional slices (rd=1): if you think of the 2D data array as a matrix, then at any time during the life of an SGFVector_s in this space, one column resides in core.
Since no actual binary data filename appears (in=NULL), this file is suitable only to define an SGFSpace_s. A similar file specifying a vector in this space would include instead an actual filename (in=<filename>) as a ``pointer - to - data''.
dim=2 rd=1 n1=101 n2=201 d1=0.01 d2=27.9 o1=0.0 o2=34723.39487 esize=4 in=NULL WaterDepth=154.5 WineType=VinRougeOrdinaire
SGFSpace_d( const SGFSpace_d & S )
SGFSpace_d( const char * fname )
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de