next up previous print clean
Next: Basic concepts Up: Biondi: Genkir3D toolkit Previous: Biondi: Genkir3D toolkit


 At the basis of a vast class of 3-D imaging algorithms there is a summation of seismic data over multi-dimensional surfaces. While this summation can be usually expressed mathematically in compact notations, its implementation on real seismic data can be complex and time consuming because of issues related with irregular sampling of the data and the limitations in computer memory that make it impossible to process a whole real data set in core.

The goal of the Genkir3D package is to help the development and testing of new methods to image 3-D seismic data by allowing the researcher to focus on the specifics of new operators, by hiding the mundane issues related with data geometries, anti-aliasing filtering, and memory allocation. The package automatically reads and write the data in the Sep3D data format that efficiently handle irregularly and regularly sampled seismic data.

The package is called by calling a Fortran 90 subroutine with the appropriate parameters. An example of this function call is:

      call genkir3d(param=gen_param,  &
        out_geom=out_geom, &
        out_geom_block=out_geom_block, &
        trace_interp_real=trace_interp_lin_real, &
        spat_interp_real=spat_interp_lin_near_real, &
        map_amp=dmo3d_map_amp,  &

The user controls the particular operator to be applied to the data by specifying the functions that are internally called by the package to compute the summation surface. The name of these functions are the values of the map_amp and oper_domain arguments. In our example map_amp=dmo3d_map_amp and oper_domain=dmo3d_domain, and thus a 3-D DMO will be applied to the data. The implementation of the desired integral operator is fine-tuned by setting the values of the fields in the data structure that is passed to the Genkir3D package as the param argument. Since both the data and the output space are sampled, temporal and spatial interpolation are important components of a 3-D integral operator. The type of interpolator to be used can be specified by passing the name of the desired interpolators with the trace_interp_real and spat_interp_real parameters. Standard nearest neighborhood and linear interpolators are provided by the package, but the user can use his/her own new interpolators, by providing an appropriate function. The geometry of the output space, and its blocking in memory, are specified by out_gem and out_gem_block.  

next up previous print clean
Next: Basic concepts Up: Biondi: Genkir3D toolkit Previous: Biondi: Genkir3D toolkit
Stanford Exploration Project