Crate giga_segy_out

source ·
Expand description

This is a simplified library for writing SEG-Y files from rust. It is designed purely for writing SEG-Y files in a trace by trace manner and supports writing with different settings and sample coordinate formats.

The library was designed to follow the SEG Technial Standards Committee’s SEG-Y_r2.0 standard (from January 2017).

This library is not designed for editing of SEG-Y files, although it can theoretically be accomplished with the clever use of giga_segy_in. However we do not recommend this.

Modules

  • This module contains the traits for creating new instances of headers.
  • This contains all the enums that are used in the trace and binary headers.
  • This module contains the CoordinateScalar structure which deals with the somewhat unusual way that SEG-Y uses to express scaling factor of coordinates.
  • This contains the code for writing the data to the file.
  • This submodule exists for converting headers to bytes and writing them.

Structs

  • This structure represents a parsed binary header for a SEG-Y file.
  • This is a rust readable version of the TapeLabel structure, which can be generated after the file has been read, but is not stored.
  • A structure which represents a mapped SEG-Y file. This represents a writeable SEG-Y.
  • This structure contains all of the metadata for opening a SEG-Y file.
  • This structure holds a list of various settings to be imported for the custom reading of byte locations of various variables in the headers and other things when interpreting a SEG-Y file.
  • This structure represents the 128-byte SEG-Y tape label which is largely optional. It appears that this is stored mostly as character bytes (u8).
  • This structure represents a SEG-Y trace.
  • This structure gives several different ways of looking at trace coordinates. It is created once a trace has been written and moved into the SegyFile lookup.
  • This structure represents a parsed binary trace header for a single trace of a SEG-Y file..

Enums