CREWES Matlab toolbox SEG-Y input/output update

Kevin W. Hall, Gary F. Margrave

The ability to read and write SEG-Y files into MatlabĀ® using the CREWES toolbox has been evolving for a long time. Along the way, at least six separate attempts to code SEG-Y input/output (I/O) have been written by many people. None of this code was able to effectively deal with trace headers, custom trace headers, or with very large SEG-Y files. In addition, outputs were incompatible so that, for example, trace headers read from disk by one set of CREWES code could not be written to an output SEG-Y file using an unrelated set of CREWES code. This lead to user frustration. A major re-write has been undertaken that combines ideas from legacy code in an object-oriented way that can handle very large datasets, trace headers and custom trace headers. Coding has also begun to support SEG-Y revision 2 which was released in January of 2017. Legacy code in the CREWES toolbox is being removed from the toolbox or being re-written as wrappers that call the new code for backwards compatibility. This report provides an overview of the current state of the new code, with examples of how to use it.