Reading and Writing Standard Seismic Records: SEG-Y, SGY, and SU Formats

Resource Overview

Processing SEG-Y, SGY, and SU standard seismic record formats with implementation details for binary data parsing and trace header management in MATLAB

Detailed Documentation

Seismic exploration data is commonly stored in standardized formats such as SEG-Y (.segy/.sgy) or SU (Seismic Unix), which contain both seismic trace data and associated metadata. When processing these files in MATLAB, special attention must be paid to binary data structures and trace header information parsing.

The SEG-Y file structure consists of three parts: text header (3200 bytes), binary header (400 bytes), and seismic trace data. Trace header information contains critical parameters such as sample interval, trace sequence number, and coordinate data, typically stored in EBCDIC or ASCII encoding. The SU format is a variant of SEG-Y primarily used in academic environments.

Key MATLAB implementation considerations include: Using fopen to open files in binary mode with appropriate endianness (big-endian for SEG-Y standard, little-endian for SU) Byte-by-byte parsing of text and binary headers, including EBCDIC to ASCII conversion when necessary Decoding trace data according to sample formats (e.g., IBM floating-point, IEEE floating-point) Trace header word processing following standard formats (e.g., bytes 73-76 represent sample count) Reverse encoding process during writing operations while maintaining proper byte alignment

Extended applications may consider: Supporting 3D survey coordinate system transformations Integrating new features from SEG-Y Revision 2 standard (2017) Adding data visualization modules for quick gather inspection

These tools have significant application value in seismic data processing and reservoir modeling domains, where accurate trace header parsing forms the foundation for subsequent interpretation work.