A SEG-Y file I/O toolbox for Matlab
Henry C. Bland, Paul R. MacDonald
Programs that read and write seismic data are essential in exploration geophysics. Although many file formats exist for storing seismic data, the SEG-Y format is the most widely used for transferring data between geophysical applications. Unfortunately, this file format suffers from many shortcomings: Designed in a time when computers were four orders of magnitude slower than today, the format is unsophisticated, has limited extensibility, and stores its data in a way that is foreign to the vast majority of modern computers. The format's simplicity has been the key to its longevity. Programmers with little experience are able to produce code that reads and writes files resembling the SEG-Y standard. Unfortunately, the code usually falls short of implementing the full SEG-Y standard, and many SEG-Y files remain unreadable by this code. Even worse is that many programmers, for lack of time or ability, write software that creates non-conformant SEG-Y files. Many popular geophysical applications exhibit serious flaws in their ability to read and write SEG-Y files. Since our research group writes a lot of software that performs seismic I/O, we chose to write a new, easy-to-use seismic I/O toolbox that could read and write standard-conforming SEG-Y files.
The CREWES Seismic I/O toolbox provides a comprehensive set of functions for working with SEG-Y files. In addition to basic trace reading and writing, the toolbox offers features for sorting traces, trace selection based on trace header criteria, and file-wide indexing of gathers. Most importantly, the toolbox handles many of the tedious details of the format, such as floating-point-type conversion and byte-order swapping.
The authors hope that this toolbox will greatly assist geophysics-related research in Matlab. With the aid of this toolbox, Matlab can operate on data from other geophysical applications easily and reliably. This toolbox enhances Matlab and makes it an even more optimal environment for developing new geophysical algorithms and processing techniques.