DATRW++ library: seismic data I/O with multiple formats
Format, File, data, and stream properties

There are properties of different category which should be presented to the user:

  1. Format properties: Are properties of a specific data format like
    • The file is binary or ASCII
    • Each file can contain multiple traces
  2. File properties: Are properties of a specific file and are not specific to the format. For example data can be encoded differently in PDAS data files.
  3. Stream properties: Are properties of a specific stream. This can be a specifc normalization mode for SFF data used upon output.
  4. Trace properties: Are properties which can vary from trace to trace within one file.
  5. Data properties: Are properties of a data representation used internally (are samples stored as integers or floats in single or double precision).

Funtions should be provided, which return structures which present these properties. Using structures makes this interface quite flexible. These structures can be extended in the future without the need to change the query interface in all strteams. For this reason it is also necessary to define meaningful default values (which could also mean "undefined") such that the structure is filled with reasonable return values also in cases where the data module query interface is not explicitely made aware of this parameter.

Structures should contain each other hierarchically, such that the query for trace properties also return properties of the file. However, a query for format properties will not be able to return information on a specific traces.

See also
Data types