next up previous [pdf]

Next: Buffer Up: Dataset definition Previous: Dataset definition

IO

For conventional datasets the io_func class is responsible for reading from disk a subsection of the controlling grid. It first converts from the grid coordinate system to the local dataset's coordinate system. This amounts to honoring the range of each axis requested. For example, imagine the grid is defined by the table below.
Axis n o d
1 100 0 1
2 100 0 1
3 100 0 1
And the dataset is only 2-D (an example is a grid that define time, offset, and midpoint while the dataset contains only time and midpoint) with the following sampling.
Axis n o d
1 50 0 .2
2 1 0 1
3 80 0 1
If there is a read request for the entire volume it will be converted into a read request for the 2-D subsection of the grid in which the dataset exists. Currently the io_func module can read SEPlib, RSF, SU, SEG-Y, and SeisPak formats from disk in this manner.

The io_func does not necessarily have to read from disk, and the data isn't necessarily static. For example imagine doing interactive NMO on 2-D dataset. Three datasets can exist: the original CMP, a semblance panel, and NMO corrected gather. In this case the grid contains 4 axes: time, offset, midpoint, and velocity. None of the three datasets contain all four axes. The latter two change depending user interaction. When the midpoint location changes semblance is recomputed. When a new velocity is selected on the semblance panel the NMOed data changes. To support this type of functionality the io_func has a changed boolean.


next up previous [pdf]

Next: Buffer Up: Dataset definition Previous: Dataset definition

2009-04-13