sfhalfint implements half-order integration or differentiation, a filtering operation common in 2-D imaging operators such as as slant stacking or Kirchhoff migration.

By default,

**sfhalfint** performs half-order integration. To apply half-order differentiation, use

**inv=y**. To apply the adjoint operator, use

**adj=y**.

Theoretically, half-order integration and differiation correspond to division by

${\left(i\phantom{\rule{0.167em}{0ex}}\omega \right)}^{1/2}$. For stability,

$i\phantom{\rule{0.167em}{0ex}}\omega $ is replaced in practice by

$1-\rho \phantom{\rule{0.167em}{0ex}}Z$ when doing differentiation and by

$\genfrac{}{}{0.1ex}{}{1}{2}\phantom{\rule{0.167em}{0ex}}\left(\genfrac{}{}{0.1ex}{}{1-\rho \phantom{\rule{0.167em}{0ex}}Z}{1+\rho \phantom{\rule{0.167em}{0ex}}Z}\right)$ when doing integration. Here

$Z={e}^{i\omega \phantom{\rule{0.167em}{0ex}}\Delta t}$. As

explained by Jon Claerbout, this approximation attenuates high frequencies and assures a causal impulse response. The value of the ρ parameter is controlled by

**rho=**.

The following plot from

bei/ft1/hankel shows the impulse response of half-order differentiation (also known as the "rho filter")

### 10 previous programs of the month:

sfricker1 implements 1-D convolution with the Ricker wavelet. The following example from rsf/rsf/wedge shows convolution modeling with a wedge model using sfricker1. The convolution is implemented in the frequency domain, where the Ricker wavele

Weblog:Madagascar development blogTracked:Jan 18, 12:48sfricker1 implements 1-D convolution with the Ricker wavelet. The following example from rsf/rsf/wedge shows convolution modeling with a wedge model using sfricker1. The convolution is implemented in the frequency domain, where the Ricker wavele

Weblog:Madagascar development blogTracked:Jan 19, 12:00sfpwd implements plane-wave destruction, a filter that attenuates locally plane-wave events, as described in the paper Applications of plane-wave destruction filters. The following example from jsg/diffr/gom shows a seismic section before and after an

Weblog:Madagascar development blogTracked:Feb 09, 16:19sfpow multiplies the input data by a gain function of the form Gx1x2…,xn=x1p1x2p2⋯xnpn The powers p1,p2,…,pn are given by pow1=, pow2=, etc. parameters. For backward compatibility, sftpow tpow= is an alias for sfpow pow1=. The following examp

Weblog:Madagascar development blogTracked:Mar 11, 09:01sfnmo implements normal moveout (NMO) correction, one of the most fundamental operations in seismic reflection data processing. The following example from jsg/avo/avo shows synthetic data before and after NMO correction. NMO transforms presta

Weblog:Madagascar development blogTracked:Apr 08, 06:02sfvscan implements seismic velocity analysis by scanning stacking velocities. This transformation is also known as the velocity transform or the hyperbolic Radon transform. The following example from bei/vela/vscan shows an example for transforming a C

Weblog:Madagascar development blogTracked:May 11, 12:25sfwiggle plots data using the traditional seismic method of wiggly traces. The following example from rsf/rsf/rsftour shows a typical output: Similarly to other plotting programs, there are multiple parameters that control the output. For examp

Weblog:Madagascar development blogTracked:Jun 12, 10:51sfwiggle plots data using the traditional seismic method of wiggly traces. The following example from rsf/rsf/rsftour shows a typical output: Similarly to other plotting programs, there are multiple parameters that control the output. For examp

Weblog:Madagascar development blogTracked:Jun 12, 10:59sftime2depth converts the input from vertical time to depth coordinates. The following example from rsf/su/rsflab9 shows a seismic image converted from time to depth by this transformation: The example is borrowed from John Stockwell's lecture not

Weblog:Madagascar development blogTracked:Jul 01, 22:28sftime2depth converts the input from vertical time to depth coordinates. The following example from rsf/su/rsflab9 shows a seismic image converted from time to depth by this transformation: The example is borrowed from John Stockwell's lecture not

Weblog:Madagascar development blogTracked:Jul 01, 22:29sfai2refl converts acoustic impedance to normal-incidence PP reflectivity using the simple equation R(t)=I(t+Δt)-I(t)I(t+Δt)+I(t) The program is useful for convolution modeling. The following example from rsf/rsf/wedge shows a classic e

Weblog:Madagascar development blogTracked:Aug 02, 15:22sfpatch breaks the input data into local windows or "patches", possibly with overlap. The patching technique is explained by Jon Claerbout in Nonstationarity: patching chapter from Image Estimation by Example. Suppose you have a 1-D signal with

Weblog:Madagascar development blogTracked:Sep 14, 12:33sfslant is a T-X implementation of slant stack, also known as Radon transform or tau-p transform. The two middle panels in the example below from cwp/geo2006TimeShiftImagingCondition/zicig show a time-shift common-image gather and its transformation by

Weblog:Madagascar development blogTracked:Apr 21, 11:56