Multi-channel Q estimation

February 16, 2020 Documentation No comments

A new paper is added to the collection of reproducible documents: Multi-channel quality factor Q estimation

The estimation of quality factor, Q, plays an important role in many geophysical problems, including Q-compensated seismic imaging, geophysical interpretation, and fluid characterization. One of the most widely used approaches for estimating Q is the spectral ratio method (SRM). However, the spectral division in SRM may not be stable due to the spectral nulls. The shaping regularized inversion that treats the spectral division as a regularized least-squares inversion problem can help solve the spectral-nulls problem and make the spectral division stable. In the case of very noisy seismic data, the time-frequency maps can not be optimally obtained and thus the Q estimation performance will be strongly affected and unstable even with the regularized inversion method. We propose a multi-channel Q estimation approach that takes advantage of the multi-channel spatial coherence to constrain the inversion so that the estimated Q is spatially continuous. We use a set of synthetic and real data examples to demonstrate the performance of the multi-channel Q estimation method. Results show that the proposed method can obtain accurate and more importantly stable Q estimation result even in the case of strong random noise.

Deblending using space-varying median filter

February 16, 2020 Documentation No comments

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

In seismic data processing, the median filter is usually applied along the structural direction of seismic data in order to attenuate erratic or spike-like noise. The performance of a structure-oriented median filter highly depends on the accuracy of the estimated local slope from the noisy data. When local slope contains significant error, which is usually the case for noisy data, the structure-oriented median filter will still cause severe damages to useful energy. We propose a type of structure-oriented median filter that can effectively attenuate spike-like noise even when the local slope is not accurately estimated, which we call structure-oriented space-varying median filter. A structure-oriented space-varying median filter can adaptively squeeze and stretch the window length of the median filter when applied in the locally flattened dimension of an input seismic data in order to deal with the dipping events caused by inaccurate slope estimation. We show the key difference among different types of median filters in detail and demonstrate the principle of the structure-oriented space-varying median filter method. We apply the structure-oriented space-varying median filter method to remove the spike-like blending noise arising from the simultaneous source acquisition. Synthetic and real data examples show that structure-oriented space-varying median filter can significantly improve the signal preserving performance for curving events in the seismic data. The structure-oriented space-varying median filter can also be easily embedded into an iterative deblending procedure based on the shaping regularization framework and can help obtain much improved deblending performance.

Tutorial on interpolation

November 25, 2019 Examples No comments

The example in rsf/tutorials/interp reproduces the tutorial from Matt Hall on interpolation methods.

The tutorial was published in the April 2016 issue of The Leading Edge.

Madagascar users are encouraged to try improving the results.

Tutorial on mapping lineaments

September 14, 2019 Examples No comments

The example in rsf/tutorials/lineaments reproduces the tutorial from Matteo Niccoli on mapping and validating lineaments.

The tutorial was published in the August 2015 issue of The Leading Edge.

Madagascar users are encouraged to try improving the results.

Plotting with matplotlib

September 12, 2019 Programs 1 comment

Matplotlib is a popular Python library for 2D plotting, which emulates (and exceeds) the plotting functionality of MATLAB.

At the Madagascar Working Workshop in 2018, a couple of new scripts were added to simplify plotting with Matplotlib in Madagascar.

  • sfmatplotlib can be used to plot RSF files.You can use it as follows:
    sfmatplotlib <matplotlib function> <plot options> [format=eps] < inp.rsf [ > out.eps] 
    

    Without the standard output, the figure is displayed on the screen.

    The figure above was generated with

    sfspike n1=1000 k1=300 | sfbandpass fhi=2 phase=y| sfmatplotlib plot title="Welcome to Maagascar" grid=y linewidth=3 format=png > figure.png
    

    Futher enhancements are possible.

  • sfpgreywfl is a script contributed by Carlos da Costa that uses matplotlib for plotting a seismic wavefiels overlaid on the velocity model.

    The figure above was generated with

    sfpgreywfl < wavefield.rsf bg=velocity.rsf wflcmap=seismic title="Wavefield" barlabel="Velocity (m/s)" tmin=0.08 savefile=figure.gif
    

madagascar-3.0

September 9, 2019 Celebration No comments

The major version of Madagascar, stable version 3.0, has been released. The main change is the added support for Python-3. Both Python-2 and Python-3 are now supported. The new version also features 14 new reproducible papers, as well as other enhancements.

According to the SourceForge statistics, the previous 2.0 stable distribution has been downloaded about 6,000 times. The top country (with 27% of all downloads) was China, followed by the USA, Brazil, Canada, and India.

In September 2019, the total cumulative number of downloads for the stable version of Madagascar has reached 50 thousand. The current development version continues to be available through Github.

scons2jupyter

September 9, 2019 Programs No comments

scons2jupyter is a simple script that converts a Madagascar-style SConstruct file to a Jupyter notebook with a Python interface.

You can use it by simply running

scons2jupyter < SConstruct > mynotebook.ipynb

An example notebook is the result of running scons2jupyter in bei/vela/vscan.

A newly created notebook can be populated with Markdown text and explanations to implement the discipline of literate programmins.

Program of the month: sfsnr2

August 10, 2019 Programs 1 comment

sfsnr2 computes the signal-to-noise (SNR) ratio in decibells.

The following example from tccs/intshape/fsyn uses the SNR computation to compare the convergence of two different methods.

SNR is computed according to the equation

$SNR=\displaystyle 10\log_{10}\left(\frac{\Arrowvert \mathbf{s} \Arrowvert_2^2}{\Arrowvert\mathbf{n}\Arrowvert_2^2}\right)$

The signal vector $\mathbf{s}$ is in the standard input, the noise vector $\mathbf{n}$ is in the file specified by noise= parameter.

10 previous programs of the month:

Low-rank viscoacoustic wave extrapolation

July 18, 2019 Documentation No comments

A new paper is added to the collection of reproducible documents: Viscoacoustic modeling and imaging using low-rank approximation

A constant-$Q$ wave equation involving fractional Laplacians was recently introduced for viscoacoustic modeling and imaging. This fractional wave equation has a convenient mixed-domain space-wavenumber formulation, which involves the fractional-Laplacian operators with a spatially varying power. We propose to apply low-rank approximation to the mixed-domain symbol, which enables a space-variable attenuation specified by the variable fractional power of the Laplacians. Using the proposed approximation scheme, we formulate the framework of the $Q$-compensated reverse-time migration ($Q$-RTM) for attenuation compensation. Numerical examples using synthetic data demonstrate the improved accuracy of using low-rank wave extrapolation with a constant-$Q$ fractional-Laplacian wave equation for seismic modeling and migration in attenuating media. Low-rank $Q$-RTM applied to viscoacoustic data is capable of producing images comparable in quality with those produced by conventional RTM from acoustic data.

Program of the month: sflpf

July 9, 2019 Programs No comments

sfslpf estimates a non-stationary filter using shaping regularization.

The method is described in the reproducible paper Adaptive multiple subtraction using regularized nonstationary regressio

The following example from tccs/lpf/plut shows a common-offset section from the Pluto synthetic dataset before and after adaptive multiple subtraction with the help of sflpf.

Given target data $m(\mathbf{x})$ (specified with match= parameter) and a collection of fitting functions $s_k(\mathbf{x})$ (specified in the standard input), sflpf finds the fitting coefficients $b_k(\mathbf{x})$ by minimizing the error

$m(\mathbf{x}) – \displaystyle \sum_{k=1}^{N} b_k(\mathbf{x})\,s_k(\mathbf{x})$

while constraining the coefficients to be smooth. The smoothness is controlled by rect#= parameters, as in sfsmooth.

Shaping regularization is carried out iteratively, niter= controls the number of iterations.

The mean coefficient from the example above is shown in the figure below.

Optionally, a prediction-error filter can be applied to whiten the residual. The filter is specified with the help of pef= and lag= parameters, with a multidimensional helical filter specified as in sfhelicon.

The complex version of the same program is sfclpf.

10 previous programs of the month: