Next: Data access
Up: Rickett, et al.: STANFORD
Previous: Parameter handling
Helical filtering () opens new possibilities
for multidimensional filtering applications. In particular, it becomes
possible to write completely dimension-independent programs for
deconvolution, missing data interpolation, least-square signal and
noise separation, etc. (). Of course, going
beyond the traditional one, two, and three dimensions has not only the
theoretical value. Prestack seismic data are naturally
five-dimensional (with a ``3-D'' acquisition), and additonal
dimensions (depth, velocity, etc.) are often added by processing.
Besides, dimension-independent programming avoids a large amount of an
error-prone code duplication, required for going from one to two to
three dimensions.
The sep module provides some additional functionality to
support N-dimensional programming. The function
sep_dimension takes the file tag
(defaulted to "in" - the standard input) and returns the
effective number of dimensions in the SEPlib file. Additionaly,
from_par, from_history, to_history, and
other parameter handling routines accept not only scalar arguments,
but also arrays of values. If iarr is an array of integer
values, then
call from_par ("arr",iarr)
whill fill iarr with parameter values 1, 5, 3, when
the command line (or a parameter file) has either a comma-separated
list arr=1,5,3 or distinct values arr1=1,
arr2=5, arr3=3. This convention can be handy for
reading all the dimensions from a file:
allocate (n (sep_dimension ()))
call from_history ("n",n)
It also works with to_history: short arrays are written to
the history file as comma-separated lists, while long arrays are
expanded as distinct parameters.
A suite of N-dimensional programs (using the sep module)
accompany the current revision of Claerbout's Geophysical
Estimation Mapping .
Next: Data access
Up: Rickett, et al.: STANFORD
Previous: Parameter handling
Stanford Exploration Project
7/5/1998