Selective hybrid approach using f-x EMD

November 23, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents: Random noise attenuation by a selective hybrid approach using f-x empirical mode decomposition

Empirical mode decomposition (EMD) becomes attractive recently for random noise attenuation because of its convenient implementation and ability in dealing with non-stationary seismic data. In this paper, we summarize the existing use of EMD in seismic data denoising and introduce a general hybrid scheme which combines $f-x$ EMD with a dipping-events retrieving operator. The novel hybrid scheme can achieve a better denoising performance compared with the conventional $f-x$ EMD and selected dipping event retriever. We demonstrate the strong horizontal-preservation capability of $f-x$ EMD that makes the EMD based hybrid approach attractive. When $f-x$ EMD is applied to a seismic profile, all the horizontal events will be preserved, while leaving few dipping events and random noise in the noise section, which can be dealt with easily by applying a dipping-events retrieving operator to a specific region for preserving the useful dipping signal. This type of incomplete hybrid approach is termed as selective hybrid approach. Two synthetic and one post-stack field data examples demonstrate a better performance of the proposed approach.

Deblending Using SVMF

November 23, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents: Deblending using a space-varying median filter

Deblending is a currently popular method for dealing with simultaneous-source seismic data. Removing blending noise while preserving as much useful signal as possible is the key to the deblending process. In this paper, I propose to use space-varying median filter (SVMF) to remove blending noise. I demonstrate that this filtering method preserves more useful seismic reflection than does the conventional version of median filter (MF). In SVMF, I use signal reliability (SR) as a reference to pick up the blending spikes and increase the window length in order to attenuate the spikes. When useful signals are identified, the window length is decreased in order to preserve more energy. The SR is defined as the local similarity between the data initially filtered using MF and the original noisy data. In this way, SVMF can be regionally adaptive, instead of rigidly using a constant window length through the whole profile for MF. Synthetic and field-data examples demonstrate excellent performance for my proposed method.

Program of the month: sfpldb and sfplas

November 16, 2015 Programs No comments

sfpldb and splas are utilities for debugging Vplot files by converting them to the plain text (ASCII) form. pldb (plot debugger) converts a Vplot file to a text form, plas (plot assembler) converts the text form back to the Vplot format.

Suppose, for example, that your Vplot file has a typo in the label which spells Dept instead of Depth. Here is a Unix one-liner for fixing the label:

< file.vpl sfpldb | sed s/Dept/Depth/ | sfplas > fixed.vpl

Here the Unix line editor sed gets sandwiched between sfpldb and sfplas.

These programs were initinally developed by Vplot’s original author, Joe Dellinger.

10 previous programs of the month:

The genesis of Madagascar

November 12, 2015 Celebration No comments

The November 2015 issue of The Leading Edge contains an article about Madagascar: The Genesis of Madagascar by John Holden.

In July 2014, an unusual meeting took place at Rice University in Houston, Texas. Two dozen participants from numerous organizations gathered in a conference room for a workshop. Instead of the usual presentations and long talks one associates with scientific workshops, the participants immediately broke into small teams and gathered around laptop computers to write software code. Intense code-hacking sessions were interrupted only by necessary group discussions. This was the second “working workshop” of the Madagascar open-source software project.

One of the article’s features are user testimonials:

William W. Symes, Noah Harding Professor in Computational and Applied Mathematics and professor of earth science at Rice University, Houston, says, “I use Madagascar for everything! All of my computational research projects and those of my students take advantage of both the utility side of Madagascar (that is, its many useful commands for data manipulation and processing) and the reproducible research side. I have been convinced since learning the concept from J. F. Claerbout many years ago that reproducible research, in the sense epitomized by Madagascar, is not just an intellectually satisfactory mode (arguably the only such) for computational science research but a tremendous labor saver. Over the years, I have built a number of my own reproducible research (RR) frameworks but junked them all in favor of Madagascar several years ago. The utility suite is an incredible achievement, but the truly exceptional feature of Madagascar, in my opinion, is the suite of reproducible research tools. These are based on a full-featured language (Python) making them easily extensible, and they integrate TeX shell commands and (increasingly) HPC tools — this integration makes Madagascar the most powerful realization of the reproducible-research concept of which I am aware. It doesn’t solve all of the problems of RR — notably, the inability of software to keep itself maintained without human intervention — but it represents a quantum leap beyond other RR frameworks.”

Yang Liu, professor at the College of Geo-exploration Science and Technology, Jilin University, China, says, “I am using Madagascar software to implement new research ideas and provide reproducible examples for techniques in oil-gas exploration. For me the most attractive feature of the Madagascar open-source software is its reproducibility of computational modules, data-processing scripts, and research papers. Anyone could generate all examples and papers just by using several simple commands. The software package is also well maintained, and there is a group of developers who are continuously contributing their codes, which keeps the Madagascar software up to date. Many natural phenomena, including geologic events and geophysical data, are fundamentally nonstationary. So figuring out how to recover nonstationary signals from a noisy environment is a persistent problem in my field. We developed a 3D t-x-y adaptive prediction filter (APF) for random-noise attenuation in seismic exploration. The method is also able to deal with random noise in other fields, e.g., imaging processing. The core of the proposed method is based on existing source codes in the Madagascar environment. Therefore, we can implement the new theory in a short time. The computational modules and the corresponding paper are also reproducible in the updated Madagascar software package.”

Jeffrey Shragge, Woodside Professor of Computational Geoscience at the School of Earth and Environment/School of Physics, University of Western Australia, says, “My students and I use Madagascar for an integrated R & D environment on all aspects of my research. We develop and apply codes within the $RSFSRC/user/area and port these over to our R & D and local public (termed IVEC) HPC clusters. We are integrating Madagascar into our teaching through developing reproducible seismic labs. The package is unique because it integrates all of my R & D activities — code development, testing and verification, development of examples, easy extension to interface with HPC cluster systems, writing of manuscripts, etc. Most important, all of these activities can be undertaken in a reproducible environment. We have used codes written in the Madagascar package to address what type of microseismic signals we would expect from a large CO2 project being developed south of Perth. This required performing large-scale 3D elastic modeling on grids of the size 20003 using MPI+OpenMP codes developed using the Madagascar API. We have also used various Madagascar 2D/3D seismic-imaging codes for imaging geologic structures at this site to help prepare for pilot CO2 injection studies. We also use Madagascar for various near-surface geophysics investigations, including archaeological and forensic projects throughout Western Australia.”

Interactive picking with sfwxipick

November 1, 2015 Programs No comments

sfwxipick is a new interactive picking script which reimplements the functionality of sfipick using wxpython.

wxipick

See also sfwxzoom which reimplements the functionality of sfzoom. These functionalities can be easily extended if needed. Enjoy!

Velocity-dependent seislet transform

October 25, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents: Signal and noise separation in prestack seismic data using velocity-dependent seislet transform

The seislet transform is a wavelet-like transform that analyzes seismic data by following varying slopes of seismic events across different scales and provides a multiscale orthogonal basis for seismic data. It generalizes the discrete wavelet transform (DWT) in the sense that DWT in the lateral direction is simply the seislet transform with a zero slope. Our earlier work used plane-wave destruction (PWD) to estimate smoothly varying slopes. However, PWD operator can be sensitive to strong noise interference, which makes the seislet transform based on PWD (PWD-seislet transform) occasionally fail in providing a sparse multiscale representation for seismic field data. We adopt a new velocity-dependent (VD) formulation of the seislet transform, where the normal moveout equation serves as a bridge between local slope patterns and conventional moveout parameters in the common-midpoint (CMP) domain. The velocity-dependent (VD) slope has better resistance to strong random noise, which indicates the potential of VD seislets for random noise attenuation under 1D earth assumption. Different slope patterns for primaries and multiples further enable a VD-seislet frame to separate primaries from multiples when the velocity models of primaries and multiples are well disjoint. Results of applying the method to synthetic and field-data examples demonstrate that the VD-seislet transform can help in eliminating strong random noise. Synthetic and field-data tests also show the effectiveness of the VD-seislet frame for separation of primaries and pegleg multiples of different orders.

Program of the month: sfisolr2

October 15, 2015 Programs No comments

sfisolr2 performs low-rank decomposition for wave propagation in a 2-D isotropic medium using lowrank approximation method.

The output of sfisolr2 can be used by other programs, such as sffftwave2 or sffftexp0 to perform wave modeling or reverse-time migration.

The following example from tccs/lowrank/impres shows a wave snapshot from a point source in an isotropic medium with a variable velocity.

sfisolr2 takes two inputs: the velocity model as standard input and the file given by fft= to specify the dimensions of the Fourier-transformed grid (the values in this file are not used). The program produces two outputs: the right decomposition matrix in the standard output, and the left decomposion matrix specified by left=. To make the results reproducible despite the randomization algorithm, set seed= for pseudorandom number generation.

The rank of the lowrank approximation is controlled by several parameters. The most important of those is the time step size dt=. The other controlling parameters are the approximation tolerance eps= and the number of random probes (maximum rank) npk=.

The related programs are sfanisolr2 for the anisotropic (TTI) case, and sfisolr3 for the 3-D case. The following example from tccs/lowrank/threed shows a 3-D wavefield snapshot computed with sfisolr3:

10 previous programs of the month:

Julia

September 28, 2015 Systems No comments

Julia is a new open-source programming/scripting language designed for high-performance scientific computing. The goal is to combine the simplicity of Python with the performance approaching that of statically-compiled languages like C.

Julia has a number of other attractive features including:

  • Dynamic type system
  • Powerful shell-like capabilities for managing other processes
  • Designed for parallelism and distributed computation
  • Automatic generation of efficient, specialized code for different argument types
  • Elegant and extensible conversions and promotions for numeric and other types

A simple interface to Julia has been added to Madagascar. It can be easily extended to include other functions from the Madagascar library. An example test script is shown below:

#!/usr/bin/env julia

using m8r

m8r.init()
inp = m8r.input("in")
out = m8r.output("out")

n1 = m8r.histint(inp,"n1")
n2 = m8r.leftsize(inp,1)

clip = m8r.getfloat("clip")

trace = Array(Float32,n1)

for i2 in 1:n2
    m8r.floatread(trace,n1,inp)
    trace = clamp(trace,-clip,clip)
    m8r.floatwrite(trace,n1,out)
end

Compare it with scripts or programs in other languages.

Tutorial on Spitz method for pattern recognition

September 24, 2015 Examples No comments

The example in rsf/tutorials/spitz reproduces the tutorial from Karl Schleicher on the Spitz method for signal and noise separation, presented at the 2014 SciPy conference. The implementation is different, with Claerbout’s T-X helical filters instead of Spitz’s and Schleicher’s F-X filters.

For more explanation, see:

  • Spitz, S., 1999, Pattern recognition, spatial predictability, and subtraction of multiple events: The Leading Edge, 18, 55–58.
  • J. F. Claerbout and S. Fomel, 2000, Spitz makes a better assumption for the signal PEF: Stanford Exploration Project, SEP-103, 211-219.

Madagascar users are encouraged to try improving the results.

SEG Working Workshop 2015 – Land 3D Processing

September 23, 2015 Celebration No comments

A working workshop to create processing results for Land 3D seismic data held on August 19-22, 2015. Working Workshops as opposed to “talking workshops” are meetings where the participants collaborate in small groups to develop new software code or to conduct computational experiments addressing a particular problem.

This workshop invited participants to create processing results on the small, open data, 3D land project (Teapot Dome 3D). Participants were encouraged to use their own proprietary or open software. Our goal was a final presentation describing the programs, parameters, and data (input and output) in sufficient detail so the results can be reproduced after the workshop. Participants were encouraged to download the Teapot Dome 3D data before the workshop.

The photograph at the top of this post shows some of the 25 participants from 16 organizations who participated in the event. They were from diverse backgrounds including students, post docs, academic staff, faculty, early career professionals, and senior professionals.

A GitHub repository was established to share processing scripts. Final presentations were made in a Lightning talk (5 minute presentation) session on the final day. Presentations were saved and are publicly available.

The agenda for the event was: Wednesday – Optional informal Tutorials Install software and Teapot Dome data Thursday – Working started Introductions, team formation, team work Lunch and learn – SeaView Team work, team check in Friday – continue work sessions Team work, check in, workshop dinner Saturday – wrap up and presentations Create presentation, lunch, lightning talks

An overview of some of the presentations follows.

Bjorn Olofsson was invited to on Thursday to make a lunch and learn presentation on SEAVIEW the viewer from the OpenSeaSeis package. Seaview supports multiple seismic formats including SeaSeis, SEGY, SU, and Madagascar. Bjorn described issues related to visualization including how to handle aliasing. See Bjorn’s presentation and the full distribution of his demo.

Huang, Liau, Yu described the workshop effort to edit bad traces on the Teapot Dome survey. They used the Python API in IPython notebooks to access the data. They used the Mayavi Python library for 3D visualization. They observed three types of noise and developed a Python script to build a mask to edit one type of noise traces. The presentation is available.

Merzlikin and Cvetkovic presented results using diffraction imaging and oriented filtering on the teapot dome project. They estimated a 3D dip field and used it for 3D diffraction and structure oriented smoothing. The presentation is available.

Worthy-Blackwell and Staal worked on Velocity interpolation and NMO. They interpolated the commercial velocity field using scipy.interpolate.Rbf and applied it to a small subset of the data using sfbinint3 and sfnmo.

Yangkang Chen applied noise suppression to the post stack volume and evaluated results on output and difference volumes.

Bill Symes applied a basic processing sequence with Seismic Unix. He approximated the processing sequence in Excell’s processing report from the original processing. His sequence was tpow, decon, agc, nmo, and stack. No surface consistant decon or scaling is available in SU, so he used single trace processing. He showed incremental improvement at each stage on midpoint gathers and stacks. He also checked for residual moveout on CMP gathers and made updates to the velocity field. This was the most complete processing sequence produced at the workshop. His presentation is available.

In summary, the workshop was attended by a good mixture of academics and professionals with a broad range of experience. Turnout for the optional tutorial day was much larger then expected, about 20. Most attendees used Madagascar, but the most complete processing sequence was applied using Seismic Unix. Madagascar and Seismic Unix were both developed as a platform for university research and many basic processes are missing. Applying a full processing sequence to 3D land data with these systems is a challenging task. Unfortunately nobody used a commercial processing system to help guide improvements to these academic systems. SeaView shows promise as a viewer to help explore your data. Participants enjoyed the opportunity to learn, contribute and network.

Let’s do it again next year using the Stratton 3D Land seismic survey. Contact me at seismic.working.workshop@gmail.com to help organize the event.