sfmutter performs a mute operation, common in prestack seismic data processing.

The following example from bei/wvs/vscan shows a seismic CMP gather before and after a mute.

sfmutter multiples the input by a weight, which follows the equation

$$W(t,x) = \left\{\begin{array}{rl} 0 & \quad \mbox{for} \quad t – t_0 < p_0\,(x-x_0) \\ 1 & \quad \mbox{for} \quad t – t_0 > \Delta t + p_1\,(x-x_0) \end{array}\right.$$

The weight is smoothly interpolated in between the two regions. Different parameters appearing in this equation can be specified as inputs for sfmutter: t0= and x0= correspond to $t_0$ and $x_0$; tp= corresponds to $\Delta t$; slope0= and slopep= correspond to $p_0$ and $p_1$, respectively. The slope can be specified by velocity v0= such that $p_0=1/v_0$. By default, $p_1=p_0$.

The parameter half= indicates whether the horizontal axis corresponds to half-offset instead of the full offset (true by default). In case of irregular offsets, they can be provides in a file specified by offset=. The parameter abs= controls whether to use the absolute value of the offset in the calculation of the mute (true by default).

To make a hyperbolic mute, instead of the default linear mute, use hyper=y. In this case, the equation changes to

$$W(t,x) = \left\{\begin{array}{rl} 0 & \quad \mbox{for} \quad (t-t_0)^2 < p_0^2\,(x-x_0)^2 \\ 1 & \quad \mbox{for} \quad (t-t_0)^2 > (\Delta t)^2 + p_1^2\,(x-x_0)^2 \end{array}\right.$$

The following example from xjtu/mcaseislet/sep2 applies a hyperbolic mute for an SRME prediction of surface-related multiple reflections:

For inner mute, specified by inner=y, the signs in the equation are reversed. The following example from milano/taupvel/cmp applies an inner mute to a Radon-transformed CMP gather: