sfgrey3 generates "cube" plots from 3-D data.
A cube plot displays sections from a 3-D cube as faces of the cube.
Some of the options specific to this kind of display are:
- flat=
The flat parameter tells sfgrey3 whether to display the cube as a flat image or in a 3-D projection. The default is flat=y. The following example from bei/fld/cube displays the same input data with both options:

- frame1=, frame2=, frame3=
The frame parameters select the slices from the cube to be displayed in the plot. The default is to take the first slice from the vertical and the out-of-plane axis (frame1=0 frame3=0) and the last slice from the horizontal axis (frame2=n2-1). In the following example from geo384w/hw3/gulf, the data size is n1=1000 n2=250 n3=48 and the frame parameters are frame1=500 frame2=160 frame3=10:

- point1=, point2=
The point1= and point2= parameters control the aspect ratio of the cube by specifying the ratio (from 0 and 1) that the front face of the cube takes from the plot in the vertical and the horizontal dimension, respectively. The default is point1=0.5 point2=0.5. The following example from sep/plane/qint has point1=0.85 point2=0.74:

- movie=
The movie parameter allows the user to create a movie looping over slices in a cube instead of a static picture. The value of the parameter (from 1 to 3) indicates the axis for looping or 0 (the default) for no movie. The frame increment in the movie is controled by dframe=. The following example from cwp/geo2009TTIModeSeparation/tti3 uses movie=1 to loop over the vertical axis:

To generate a movie out of 4-D data, you can use
sfgrey4. Here is an example:
Previous programs of the month:
sfderiv applies the first derivative filter. The algorithm implemented in this program is described in the paper Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delaye
Tracked: Jun 02, 06:46
sfdip estimates a local slope (dip) using the plane-wave destruction algorithm. The dip is measured in time samples. If α is the dip angle, then the output of sfdip corresponds to the dimensionless quantity p=tanα. The following example
Tracked: Jun 04, 05:46
sffft3 implements a complex-to-complex Fast Fourier Transform (FFT) along an arbitrary axis. The FFT library that Madagascar uses is KISS FFT, created by Mark Borgerding. KISS stands for Keep it simple, Stupid! KISS FFT may not be as fast as FFTW but i
Tracked: Jul 08, 12:34
Previous programs of the month:sffft3sfdipsfderivsfgrey3sfspectrasfnoisesfgraphsfclipsfagcsfenvelopesfcontoursfsmooth
Tracked: Sep 03, 14:02
sfpick performs automatic picking from semblance-like panels. The underlying algorithm is described in Appendix B of the paper Velocity analysis using AB semblance and is inspired by the method of virtual endoscopy in medical imaging. The following
Tracked: Sep 08, 16:07
sfiwarp performs mapping between different coordinates. If you have sampled functions f(x) and y(x), sfiwarp with inv=y (the default) finds sampled f(y). If inv=n, sfiwarp takes f(y) and y(x) and finds f(x). In both cases, the sampled y(x) function is sup
Tracked: Sep 09, 12:52
sfpick performs automatic picking from semblance-like panels. The underlying algorithm is described in Appendix B of the paper Velocity analysis using AB semblance and is inspired by the method of virtual endoscopy in medical imaging. The following
Tracked: Sep 09, 12:52
sfkirmod is a program for modeling seismic reflection data using the Kirchhoff method. According to this method, the reflection response is computed by integrating over the reflector surface. For a theoretical derivation, see, for example, Haddon, R. A
Tracked: Oct 13, 19:46
sfbandpass implements bandpass filtering using the Butterworth algorithm. The desired bandwidth is specified by low and high frequencies (in Hertz) flo= and fhi=. A continuous low-pass Butterworth filter is given by The actual filtering is imp
Tracked: Nov 18, 13:45
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 different
Tracked: Jan 06, 16:58
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
Tracked: Jan 18, 12:49
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
Tracked: Jan 19, 12:00
sfpwd 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
Tracked: Feb 09, 16:20