Difference between revisions of "Seismic task-centric program list"
(transfer contents) |
|||
Line 5: | Line 5: | ||
'''All program names below should be prefixed with "sf".''' | '''All program names below should be prefixed with "sf".''' | ||
− | |||
=Manipulating irregular datasets, regularization and sorting= | =Manipulating irregular datasets, regularization and sorting= | ||
− | * Integer header attributes: [http:// | + | * Integer header attributes: [http://reproducibility.org/RSF/sfheaderattr.html headerattr] |
− | * Zero a portion of a dataset based on a header mask: [http:// | + | * Zero a portion of a dataset based on a header mask: [http://reproducibility.org/RSF/sfheadercut.html headercut] |
− | * Mathematical operations, possibly on header keys: [http:// | + | * Mathematical operations, possibly on header keys: [http://reproducibility.org/RSF/sfheadermath.html headermath] |
− | * Sort a dataset according to a header key: [http:// | + | * Sort a dataset according to a header key: [http://reproducibility.org/RSF/sfheadersort.html headersort] |
− | * Window a dataset based on a header mask: [http:// | + | * Window a dataset based on a header mask: [http://reproducibility.org/RSF/sfheaderwindow.html headerwindow] |
− | * Create a mask: [http:// | + | * Create a mask: [http://reproducibility.org/RSF/sfmask.html mask] |
− | * Shot interpolation: [http:// | + | * Shot interpolation: [http://reproducibility.org/RSF/sfinfill.html infill] |
− | * Data binning: [http:// | + | * Data binning: [http://reproducibility.org/RSF/sfintbin.html intbin] |
− | * Data binning in 1-D slices: [http:// | + | * Data binning in 1-D slices: [http://reproducibility.org/RSF/sfbin1.html bin1] |
− | * Data binning in 2-D slices: [http:// | + | * Data binning in 2-D slices: [http://reproducibility.org/RSF/sfbin.html bin] |
− | * Data regularization in 2-D using plane-wave destruction: [http:// | + | * Data regularization in 2-D using plane-wave destruction: [http://reproducibility.org/RSF/sfplanereg2.html planereg2] |
− | * Data regularization in 3-D using plane-wave destruction: [http:// | + | * Data regularization in 3-D using plane-wave destruction: [http://reproducibility.org/RSF/sfplanereg3.html planereg3] |
− | * Convert CMPs to shots for regular 2-D geometry: [http:// | + | * Convert CMPs to shots for regular 2-D geometry: [http://reproducibility.org/RSF/sfcmp2shot.html cmp2shot] |
− | * Convert shots to CMPs for regular 2-D geometry: [http:// | + | * Convert shots to CMPs for regular 2-D geometry: [http://reproducibility.org/RSF/sfshot2cmp.html shot2cmp] |
=Interpolation tools= | =Interpolation tools= | ||
==Making holes== | ==Making holes== | ||
− | * Cut an elliptic hole in data (for interpolation tests): [http:// | + | * Cut an elliptic hole in data (for interpolation tests): [http://reproducibility.org/RSF/sfhole.html hole] |
− | * Create a synthetic irregular dataset for interpolation tests: [http:// | + | * Create a synthetic irregular dataset for interpolation tests: [http://reproducibility.org/RSF/sfsyntop.html syntop] |
==Actual interpolation== | ==Actual interpolation== | ||
− | * Linear interpolation: [http:// | + | * Linear interpolation: [http://reproducibility.org/RSF/sflint1.html lint1] |
− | * 1-D cubic spline interpolation: [http:// | + | * 1-D cubic spline interpolation: [http://reproducibility.org/RSF/sfspline.html spline] |
− | * Data interpolation in 2-D slices using helix preconditioning: [http:// | + | * Data interpolation in 2-D slices using helix preconditioning: [http://reproducibility.org/RSF/sfinvbin.html invbin] |
− | * 1-D inverse interpolation: [http:// | + | * 1-D inverse interpolation: [http://reproducibility.org/RSF/sfinvbin1.html invbin1] |
− | * Leveler inverse interpolation in 1-D: [http:// | + | * Leveler inverse interpolation in 1-D: [http://reproducibility.org/RSF/sflevint.html levint] |
− | * Find MISSing Input values and Filter in 1-D: [http:// | + | * Find MISSing Input values and Filter in 1-D: [http://reproducibility.org/RSF/sfmisif.html misif] |
− | * Missing data interpolation in 1-D: [http:// | + | * Missing data interpolation in 1-D: [http://reproducibility.org/RSF/sfmiss1.html miss1] |
− | * 2-D missing data interpolation: [http:// | + | * 2-D missing data interpolation: [http://reproducibility.org/RSF/sfmiss2.html miss2] |
− | * Missing data interpolation (N-dimensional) using shaping regularization: [http:// | + | * Missing data interpolation (N-dimensional) using shaping regularization: [http://reproducibility.org/RSF/sfmiss3.html miss3] |
− | * Multi-dimensional missing data interpolation: [http:// | + | * Multi-dimensional missing data interpolation: [http://reproducibility.org/RSF/sfmiss.html miss] |
− | * Multiscale missing data interpolation (N-dimensional): [http:// | + | * Multiscale missing data interpolation (N-dimensional): [http://reproducibility.org/RSF/sfmsmiss.html msmiss] |
− | * 2-D missing data interpolation by differential offset continuation: [http:// | + | * 2-D missing data interpolation by differential offset continuation: [http://reproducibility.org/RSF/sfofilp.html ofilp] |
− | * 1-D ENO (Essentially Non Oscillatory) interpolation: [http:// | + | * 1-D ENO (Essentially Non Oscillatory) interpolation: [http://reproducibility.org/RSF/sfremap1.html remap1] |
− | * ENO interpolation in 2-D slices: [http:// | + | * ENO interpolation in 2-D slices: [http://reproducibility.org/RSF/sfenoint2.html enoint2] |
− | * 2-D trace interpolation to a denser grid using PWD ("beyond aliasing" method): [http:// | + | * 2-D trace interpolation to a denser grid using PWD ("beyond aliasing" method): [http://reproducibility.org/RSF/sfdealias.html dealias] |
− | * Shot interpolation: [http:// | + | * Shot interpolation: [http://reproducibility.org/RSF/sfinfill.html infill] |
− | * Testing forward interpolation in 1-D: [http:// | + | * Testing forward interpolation in 1-D: [http://reproducibility.org/RSF/sfinttest1.html inttest1] |
− | * Testing forward interpolation in 2-D: [http:// | + | * Testing forward interpolation in 2-D: [http://reproducibility.org/RSF/sfinttest2.html inttest2] |
− | * Missing data interpolation in 2-D by Laplacian regularization: [http:// | + | * Missing data interpolation in 2-D by Laplacian regularization: [http://reproducibility.org/RSF/sflapfill.html lapfill] |
− | * Missing data interpolation using one or two prediction-error filters: [http:// | + | * Missing data interpolation using one or two prediction-error filters: [http://reproducibility.org/RSF/sfmaskinv.html maskinv] |
− | * Missing data interpolation in 2-D using plane-wave destruction: [http:// | + | * Missing data interpolation in 2-D using plane-wave destruction: [http://reproducibility.org/RSF/sfplanemis2.html planemis2] |
− | * Missing data interpolation in 3-D using plane-wave destruction: [http:// | + | * Missing data interpolation in 3-D using plane-wave destruction: [http://reproducibility.org/RSF/sfplanemis3.html planemis3] |
− | * Missing data interpolation in 2-D using plane-wave destruction and shaping regularization: [http:// | + | * Missing data interpolation in 2-D using plane-wave destruction and shaping regularization: [http://reproducibility.org/RSF/sfpmshape2.html pmshape2] |
=Classic preprocessing= | =Classic preprocessing= | ||
Excludes: (1) denoising; (2) moveouts/stretches, and (3) interpolations, which will get their own sections. | Excludes: (1) denoising; (2) moveouts/stretches, and (3) interpolations, which will get their own sections. | ||
− | * Stretch of the time axis: [ | + | * Stretch of the time axis: [[Guide_to_madagascar_programs#sfstretch stretch guide]], [http://reproducibility.org/RSF/sfstretch.html stretch] |
− | * Amplitude balancing: [http:// | + | * Amplitude balancing: [http://reproducibility.org/RSF/sfabalance.html abalance] |
− | * Compute data envelope: [http:// | + | * Compute data envelope: [http://reproducibility.org/RSF/sfenvelope.html envelope] |
− | * Automatic gain control: [http:// | + | * Automatic gain control: [http://reproducibility.org/RSF/sfagc.html agc] |
− | * Bandpass filtering: [http:// | + | * Bandpass filtering: [http://reproducibility.org/RSF/sfbandpass.html bandpass] |
− | * Bandpass filtering using erf function: [http:// | + | * Bandpass filtering using erf function: [http://reproducibility.org/RSF/sferf.html erf] |
− | * Deconvolution (N-dimensional): [http:// | + | * Deconvolution (N-dimensional): [http://reproducibility.org/RSF/sfdecon.html decon] |
− | * 1-D convolution: [http:// | + | * 1-D convolution: [http://reproducibility.org/RSF/sfconv.html conv] |
− | * Dip filtering (2-D or 3-D): [http:// | + | * Dip filtering (2-D or 3-D): [http://reproducibility.org/RSF/sfdipfilter.html dipfilter] |
− | * Muting: [http:// | + | * Muting: [http://reproducibility.org/RSF/sfmutter.html mutter] |
− | * Stack a dataset over one of the dimensions: [http:// | + | * Stack a dataset over one of the dimensions: [http://reproducibility.org/RSF/sfstack.html stack] |
− | * Time power gain: [http:// | + | * Time power gain: [http://reproducibility.org/RSF/sftpow.html tpow] |
− | * Frequency spectra: [http:// | + | * Frequency spectra: [http://reproducibility.org/RSF/sfspectra.html spectra] |
− | * Frequency spectra in 2-D: [http:// | + | * Frequency spectra in 2-D: [http://reproducibility.org/RSF/sfspectra2.html spectra2] |
− | * Static correction: [http:// | + | * Static correction: [http://reproducibility.org/RSF/sfstretch.html datstretch]. Use the the <tt>datum=</tt> parameter to specify file holding time shifts. |
=Wavelet estimation= | =Wavelet estimation= | ||
− | * Mono-frequency wavelet estimation: [http:// | + | * Mono-frequency wavelet estimation: [http://reproducibility.org/RSF/sfmonof.html monof] |
− | * Gaussian wavelet estimation in 2-D: [http:// | + | * Gaussian wavelet estimation in 2-D: [http://reproducibility.org/RSF/sfmonof2.html monof2] |
− | * Ricker wavelet estimation: [http:// | + | * Ricker wavelet estimation: [http://reproducibility.org/RSF/sfricker.html ricker] |
=Denoising/S-N separation= | =Denoising/S-N separation= | ||
− | * Denoising using stationary wavelet transform: [http:// | + | * Denoising using stationary wavelet transform: [http://reproducibility.org/RSF/sfswtdenoise.html swtdenoise] |
− | * Remove bursty noise by IRLS: [http:// | + | * Remove bursty noise by IRLS: [http://reproducibility.org/RSF/sfdeburst.html deburst] |
− | * Burst noise removal using PEF: [http:// | + | * Burst noise removal using PEF: [http://reproducibility.org/RSF/sfpefdeburst.html pefdeburst] |
− | * Remove spikes in by sliding 1-D medians: [http:// | + | * Remove spikes in by sliding 1-D medians: [http://reproducibility.org/RSF/sfdespike.html despike] |
− | * Remove spikes in by sliding 2-D medians: [http:// | + | * Remove spikes in by sliding 2-D medians: [http://reproducibility.org/RSF/sfdespike2.html despike2] |
− | * Remove spikes in by sliding 3-D medians: [http:// | + | * Remove spikes in by sliding 3-D medians: [http://reproducibility.org/RSF/sfdespike3.html despike3] |
− | * Signal and noise separation (N-dimensional): [http:// | + | * Signal and noise separation (N-dimensional): [http://reproducibility.org/RSF/sfsignoi.html signoi] |
− | * Local signal and noise separation (N-dimensional): [http:// | + | * Local signal and noise separation (N-dimensional): [http://reproducibility.org/RSF/sflosignoi.html losignoi] |
− | * Signal and noise separation using plane-wave destruction filters: [http:// | + | * Signal and noise separation using plane-wave destruction filters: [http://reproducibility.org/RSF/sfplanesignoi.html planesignoi] |
− | * Signal and noise separation using both frequency components and dips: [http:// | + | * Signal and noise separation using both frequency components and dips: [http://reproducibility.org/RSF/sfexplanesignoi.html explanesignoi] |
− | * Signal and noise separation using frequency components: [http:// | + | * Signal and noise separation using frequency components: [http://reproducibility.org/RSF/sfexpsignoi.html expsignoi] |
=Tracewise stretch/moveout operators= | =Tracewise stretch/moveout operators= | ||
These operators do not carry energy from one trace to the other. The operation can be performed independently on each trace. | These operators do not carry energy from one trace to the other. The operation can be performed independently on each trace. | ||
− | * General stretch of the time axis: [http:// | + | * General stretch of the time axis: [http://reproducibility.org/RSF/sfstretch.html stretch] |
− | * Normal Moveout stretch: [http:// | + | * Normal Moveout stretch: [http://reproducibility.org/RSF/sfstretch.html nmostretch] |
− | * Linear Moveout stretch: [http:// | + | * Linear Moveout stretch: [http://reproducibility.org/RSF/sfstretch.html lmostretch] |
− | * Log stretch: [http:// | + | * Log stretch: [http://reproducibility.org/RSF/sfstretch.html logstretch] |
− | * T-square stretch: [http:// | + | * T-square stretch: [http://reproducibility.org/RSF/sfstretch.html t2stretch] |
− | * T-square Chebyshev stretch: [http:// | + | * T-square Chebyshev stretch: [http://reproducibility.org/RSF/sfstretch.html t2chebstretch] |
− | * Radial moveout: [http:// | + | * Radial moveout: [http://reproducibility.org/RSF/sfstretch.html radstretch] |
− | * Datuming stretch: [http:// | + | * Datuming stretch: [http://reproducibility.org/RSF/sfstretch.html datstretch] |
− | * Normal moveout: [http:// | + | * Normal moveout: [http://reproducibility.org/RSF/sfnmo.html nmo] |
− | * Inverse normal moveout: [http:// | + | * Inverse normal moveout: [http://reproducibility.org/RSF/sfinmo.html inmo] |
− | * Constant-velocity nearest-neighbor inverse NMO: [http:// | + | * Constant-velocity nearest-neighbor inverse NMO: [http://reproducibility.org/RSF/sfimospray.html imospray] |
− | * Normal moveout in tau-p domain: [http:// | + | * Normal moveout in tau-p domain: [http://reproducibility.org/RSF/sftaupmo.html taupmo] |
− | * Slope-based normal moveout: [http:// | + | * Slope-based normal moveout: [http://reproducibility.org/RSF/sfpnmo.html pnmo] |
=DMO/AMO/Offset continuation= | =DMO/AMO/Offset continuation= | ||
− | * Kirchhoff DMO with antialiasing by reparameterization: [http:// | + | * Kirchhoff DMO with antialiasing by reparameterization: [http://reproducibility.org/RSF/sfdmo.html dmo] |
− | * Azimuth moveout by log-stretch F-K operator: [http:// | + | * Azimuth moveout by log-stretch F-K operator: [http://reproducibility.org/RSF/sffkamo.html fkamo] |
− | * Offset continuation by log-stretch F-K operator: [http:// | + | * Offset continuation by log-stretch F-K operator: [http://reproducibility.org/RSF/sffkdmo.html fkdmo] |
− | * Offset continuation by finite differences: [http:// | + | * Offset continuation by finite differences: [http://reproducibility.org/RSF/sffincon.html fincon] |
− | * DMO and stack by finite-difference offset continuation: [http:// | + | * DMO and stack by finite-difference offset continuation: [http://reproducibility.org/RSF/sffinstack.html finstack] |
=Whole-image stretching= | =Whole-image stretching= | ||
− | * Stolt stretch: [http:// | + | * Stolt stretch: [http://reproducibility.org/RSF/sfstoltstretch.html stoltstretch] |
− | * Cartesian-Coordinates to Riemannian-Coordinates interpolation: [http:// | + | * Cartesian-Coordinates to Riemannian-Coordinates interpolation: [http://reproducibility.org/RSF/sfc2r.html c2r] |
=Autopicking= | =Autopicking= | ||
− | * Automatic traveltime picking: [http:// | + | * Automatic traveltime picking: [http://reproducibility.org/RSF/sfpick0.html pick0] |
− | * Automatic picking from semblance-like panels: [http:// | + | * Automatic picking from semblance-like panels: [http://reproducibility.org/RSF/sfpick.html pick], [http://reproducibility.org/RSF/sfpick2.html pick2] |
− | * Generate stereopicks from time-migration velocities and slopes: [http:// | + | * Generate stereopicks from time-migration velocities and slopes: [http://reproducibility.org/RSF/sfpgen.html pgen] |
− | * Generate stereotomography picks from time migration: [http:// | + | * Generate stereotomography picks from time migration: [http://reproducibility.org/RSF/sfspicks.html spicks] |
− | * Picking local maxima on the first axis: [http:// | + | * Picking local maxima on the first axis: [http://reproducibility.org/RSF/sfmax1.html max1] |
− | * Picking by plane-wave construction: [http:// | + | * Picking by plane-wave construction: [http://reproducibility.org/RSF/sfpwpick.html pwpick] |
− | * Preconditioning for traveltime picking: [http:// | + | * Preconditioning for traveltime picking: [http://reproducibility.org/RSF/sfshearer.html shearer] |
=Velocity analysis= | =Velocity analysis= | ||
− | * Velocity transform: [http:// | + | * Velocity transform: [http://reproducibility.org/RSF/sfvelmod.html velmod] |
− | * Slope-based velocity transform: [http:// | + | * Slope-based velocity transform: [http://reproducibility.org/RSF/sfpveltran.html pveltran] |
− | * Hyperbolic Radon transform: [http:// | + | * Hyperbolic Radon transform: [http://reproducibility.org/RSF/sfveltran.html veltran] |
− | * Hyperbolic Radon transform with conjugate-directions inversion: [http:// | + | * Hyperbolic Radon transform with conjugate-directions inversion: [http://reproducibility.org/RSF/sfcgscan.html cgscan] |
− | * Velocity analysis: [http:// | + | * Velocity analysis: [http://reproducibility.org/RSF/sfvscan.html vscan] |
− | * 3-D zero-offset WEMVA: [http:// | + | * 3-D zero-offset WEMVA: [http://reproducibility.org/RSF/sfzomva.html zomva] |
− | * 3-D S/R WEMVA with extended split-step: [http:// | + | * 3-D S/R WEMVA with extended split-step: [http://reproducibility.org/RSF/sfsrmva.html srmva] |
− | * Simple tomography test: [http:// | + | * Simple tomography test: [http://reproducibility.org/RSF/sftomo.html tomo] |
=Velocity continuation= | =Velocity continuation= | ||
− | * Post-stack 2-D velocity continuation by Chebyshev-tau method: [http:// | + | * Post-stack 2-D velocity continuation by Chebyshev-tau method: [http://reproducibility.org/RSF/sfchebvc.html chebvc] |
− | * Velocity continuation: [http:// | + | * Velocity continuation: [http://reproducibility.org/RSF/sffourvc.html fourvc] |
− | * Velocity continuation after NMO: [http:// | + | * Velocity continuation after NMO: [http://reproducibility.org/RSF/sffourvc0.html fourvc0] |
− | * Velocity continuation with semblance computation: [http:// | + | * Velocity continuation with semblance computation: [http://reproducibility.org/RSF/sffourvc2.html fourvc2] |
− | * Post-stack velocity continuation by implicit finite differences: [http:// | + | * Post-stack velocity continuation by implicit finite differences: [http://reproducibility.org/RSF/sfvelcon.html velcon] |
− | * 3-D finite-difference velocity continuation on a helix: [http:// | + | * 3-D finite-difference velocity continuation on a helix: [http://reproducibility.org/RSF/sfvelcon3.html velcon3] |
=Velocity and data converters= | =Velocity and data converters= | ||
− | * Convert RMS to interval velocity: [http:// | + | * Convert RMS to interval velocity: [http://reproducibility.org/RSF/sfdix.html dix] |
− | * Convert RMS to interval velocity using LS and shaping regularization: [http:// | + | * Convert RMS to interval velocity using LS and shaping regularization: [http://reproducibility.org/RSF/sfdixshape.html dixshape] |
− | * V(t) function for a linear V(Z) profile: [http:// | + | * V(t) function for a linear V(Z) profile: [http://reproducibility.org/RSF/sfvoft.html voft] |
− | * Conversion from depth to time in a V(z) medium: [http:// | + | * Conversion from depth to time in a V(z) medium: [http://reproducibility.org/RSF/sfdepth2time.html depth2time] |
− | * Time-to-depth conversion in V(z): [http:// | + | * Time-to-depth conversion in V(z): [http://reproducibility.org/RSF/sftime2depth.html time2depth] |
− | * Convert RMS to interval velocity using LS and plane-wave construction: [http:// | + | * Convert RMS to interval velocity using LS and plane-wave construction: [http://reproducibility.org/RSF/sfpwdix.html pwdix] |
=Ray tracing= | =Ray tracing= | ||
The programs below take as input a velocity model and output ray trajectories. | The programs below take as input a velocity model and output ray trajectories. | ||
==2-D, v(x,z)== | ==2-D, v(x,z)== | ||
− | * Huygens wavefront tracing: [http:// | + | * Huygens wavefront tracing: [http://reproducibility.org/RSF/sfhwt2d.html hwt2d] |
− | * For layered media: [http:// | + | * For layered media: [http://reproducibility.org/RSF/sflayer.html layer] |
− | * Second-order cell ray tracing with locally parabolic rays: [http:// | + | * Second-order cell ray tracing with locally parabolic rays: [http://reproducibility.org/RSF/sfcell2.html cell2]. |
− | * Ray tracing by a Runge-Kutta integrator: [http:// | + | * Ray tracing by a Runge-Kutta integrator: [http://reproducibility.org/RSF/sfrays2.html rays2] |
==2-D, v(x,z), anisotropic media== | ==2-D, v(x,z), anisotropic media== | ||
− | * Ray tracing in VTI media by a Runge-Kutta integrator: [http:// | + | * Ray tracing in VTI media by a Runge-Kutta integrator: [http://reproducibility.org/RSF/sfrays2a.html rays2a] |
==2-D, v(x,z), multiples== | ==2-D, v(x,z), multiples== | ||
− | * By cell ray tracing: [http:// | + | * By cell ray tracing: [http://reproducibility.org/RSF/sftrace2.html trace2] |
== Plotting == | == Plotting == | ||
− | * Plot rays: [http:// | + | * Plot rays: [http://reproducibility.org/RSF/sfplotrays.html plotrays] |
− | * Plot rays in 3D with OpenGL: [http:// | + | * Plot rays in 3D with OpenGL: [http://reproducibility.org/RSF/sfplotrays3.html plotsray3] |
=Traveltimes computation= | =Traveltimes computation= | ||
− | * Analytical traveltime in 2-D, linear v(z): [http:// | + | * Analytical traveltime in 2-D, linear v(z): [http://reproducibility.org/RSF/sfvofz.html vofz] |
− | * Huygens wavefront tracing (ray-based method): [http:// | + | * Huygens wavefront tracing (ray-based method): [http://reproducibility.org/RSF/sfhwtex.html hwtex], [http://reproducibility.org/RSF/sfhwt2d.html hwt2d] |
=Modeling= | =Modeling= | ||
Line 177: | Line 176: | ||
==Creating reflectivity models== | ==Creating reflectivity models== | ||
− | * For linear arrivals: [http:// | + | * For linear arrivals: [http://reproducibility.org/RSF/sfspike.html spike], followed by [http://reproducibility.org/RSF/sfbandpass.html bandpass] or convolution ([http://reproducibility.org/RSF/sfconv.html conv]) with a wavelet |
− | * Simple 2-D synthetics with crossing plane waves: [http:// | + | * Simple 2-D synthetics with crossing plane waves: [http://reproducibility.org/RSF/sfmake.html make] |
− | * Generates the 3-D Qdome model: [http:// | + | * Generates the 3-D Qdome model: [http://reproducibility.org/RSF/sfqdome.html qdome] |
− | * Generates the 2-D Sigmoid model: [http:// | + | * Generates the 2-D Sigmoid model: [http://reproducibility.org/RSF/sfsigmoid.html sigmoid] |
− | * Generates the 2-D Synmarine model, spreads it across offsets and applies moveout: [http:// | + | * Generates the 2-D Synmarine model, spreads it across offsets and applies moveout: [http://reproducibility.org/RSF/sfsynmarine.html synmarine] (bandpass or convolution with a wavelet still needed) |
− | * Generates the 2-D Conflicting Dips model: [http:// | + | * Generates the 2-D Conflicting Dips model: [http://reproducibility.org/RSF/sfconflict.html conflict] |
− | * Simple synthetics with random reflectivity: [http:// | + | * Simple synthetics with random reflectivity: [http://reproducibility.org/RSF/sfrandrefl.html randrefl] |
==Adding noise== | ==Adding noise== | ||
− | * Synthetics with bursts of noise: [http:// | + | * Synthetics with bursts of noise: [http://reproducibility.org/RSF/sfburstnoise.html burstnoise] |
− | * Add random noise to the data: [http:// | + | * Add random noise to the data: [http://reproducibility.org/RSF/sfnoise.html noise] |
==Creating falsely irregular data== | ==Creating falsely irregular data== | ||
− | * Cut an elliptic hole in data: [http:// | + | * Cut an elliptic hole in data: [http://reproducibility.org/RSF/sfhole.html hole] |
− | * Remove random shot gathers from a 2-D dataset: [http:// | + | * Remove random shot gathers from a 2-D dataset: [http://reproducibility.org/RSF/sfshotholes.html shotholes] |
==Creating velocity models== | ==Creating velocity models== | ||
− | * Generate 2-D layered velocity model from specified interfaces: [http:// | + | * Generate 2-D layered velocity model from specified interfaces: [http://reproducibility.org/RSF/sfunif2.html unif2] |
− | * Generate 3-D layered velocity model from specified interfaces: [http:// | + | * Generate 3-D layered velocity model from specified interfaces: [http://reproducibility.org/RSF/sfunif3.html unif3] |
==3-D, prestack, v(x,z)== | ==3-D, prestack, v(x,z)== | ||
− | * Extended split step wavefield extrapolation method: [http:// | + | * Extended split step wavefield extrapolation method: [http://reproducibility.org/RSF/sfsrmod.html srmod] |
==3-D, prestack, common-azimuth, v(x,z)== | ==3-D, prestack, common-azimuth, v(x,z)== | ||
− | * Split-step method: [http:// | + | * Split-step method: [http://reproducibility.org/RSF/sfcamig.html camig] |
==3-D, prestack, v(z)== | ==3-D, prestack, v(z)== | ||
− | * Kirchhoff method using analytical Green's functions: [http:// | + | * Kirchhoff method using analytical Green's functions: [http://reproducibility.org/RSF/sfkirmod3.html kirmod3] |
==3-D, zero-offset, v(x,z)== | ==3-D, zero-offset, v(x,z)== | ||
− | * Extended split step wavefield extrapolation method: [http:// | + | * Extended split step wavefield extrapolation method: [http://reproducibility.org/RSF/sfsstep2.html sstep2], [http://reproducibility.org/RSF/sfzomig.html zomig] |
==3-D, zero-offset, const.v== | ==3-D, zero-offset, const.v== | ||
− | * Stolt (F-K) method: [http:// | + | * Stolt (F-K) method: [http://reproducibility.org/RSF/sfstolt.html stolt] |
==2.5-D, v(z)== | ==2.5-D, v(z)== | ||
− | * Kirchhoff method using analytical Green's functions: [http:// | + | * Kirchhoff method using analytical Green's functions: [http://reproducibility.org/RSF/sfkirmod.html kirmod] |
==2-D, prestack, v(x,z)== | ==2-D, prestack, v(x,z)== | ||
− | * Unknown ray-based method: [http:// | + | * Unknown ray-based method: [http://reproducibility.org/RSF/sfshoot2.html shoot2] |
− | * Second-order cell ray tracing with locally parabolic rays: [http:// | + | * Second-order cell ray tracing with locally parabolic rays: [http://reproducibility.org/RSF/sfcell2.html cell2]. |
− | * Ray tracing by a Runge-Kutta integrator: [http:// | + | * Ray tracing by a Runge-Kutta integrator: [http://reproducibility.org/RSF/sfrays2.html rays2] |
− | * Time-domain acoustic FD: [http:// | + | * Time-domain acoustic FD: [http://reproducibility.org/RSF/sfafmod.html afmod], [http://reproducibility.org/RSF/sfawe.html awe], [http://reproducibility.org/RSF/sfawefd.html awefd], [http://reproducibility.org/RSF/sfawefd1.html awefd1], [http://reproducibility.org/RSF/sfafdm2d.html afdm2d] |
− | * Time-domain acoustic linearized FD: [http:// | + | * Time-domain acoustic linearized FD: [http://reproducibility.org/RSF/sflwefd.html lwefd], [http://reproducibility.org/RSF/sflwefd1.html lwefd1] |
− | * DSR-based survey-continuation WE method: [http:// | + | * DSR-based survey-continuation WE method: [http://reproducibility.org/RSF/sfdsr2.html dsr2] |
==2-D, prestack, v(x,z), anisotropic media== | ==2-D, prestack, v(x,z), anisotropic media== | ||
− | * Ray tracing in VTI media by a Runge-Kutta integrator: [http:// | + | * Ray tracing in VTI media by a Runge-Kutta integrator: [http://reproducibility.org/RSF/sfrays2a.html rays2a] |
==2-D, prestack, v(z)== | ==2-D, prestack, v(z)== | ||
− | * DSR-based survey-continuation WE method: [http:// | + | * DSR-based survey-continuation WE method: [http://reproducibility.org/RSF/sfdsr.html dsr] |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfspike.html spike], [http://reproducibility.org/RSF/sfbandpass.html bandpass], inverse NMO |
− | * Analytical traveltime in a linear slowness squared model: [http:// | + | * Analytical traveltime in a linear slowness squared model: [http://reproducibility.org/RSF/sfs2ofz.html s2ofz] |
==2-D, prestack, const. v== | ==2-D, prestack, const. v== | ||
− | * Kirchhoff: [http:// | + | * Kirchhoff: [http://reproducibility.org/RSF/sfpreconstkirch.html preconstkirch] |
− | * Stolt (F-K): [http:// | + | * Stolt (F-K): [http://reproducibility.org/RSF/sfprestolt.html prestolt] |
==2-D, zero-offset, v(x,z)== | ==2-D, zero-offset, v(x,z)== | ||
− | * Implicit finite-difference method, 15 and 45 degree approximation: [http:// | + | * Implicit finite-difference method, 15 and 45 degree approximation: [http://reproducibility.org/RSF/sfmig45.html mig45] |
− | * Riemannian Wavefield Extrapolation: [http:// | + | * Riemannian Wavefield Extrapolation: [http://reproducibility.org/RSF/sfrwezomig.html rwezomig] |
==2-D, zero-offset, v(z)== | ==2-D, zero-offset, v(z)== | ||
− | * Wavefield-extrapolation, phase-shift method: [http:// | + | * Wavefield-extrapolation, phase-shift method: [http://reproducibility.org/RSF/sfgazdag.html gazdag] |
− | * Kirchhoff with antialiasing: [http:// | + | * Kirchhoff with antialiasing: [http://reproducibility.org/RSF/sfkirchnew.html kirchnew] |
− | * 1-D convolution modeling: [http:// | + | * 1-D convolution modeling: [http://reproducibility.org/RSF/sfai2refl.html ai2refl] |
==Elastic modeling== | ==Elastic modeling== | ||
− | * Time-domain FD method: [http:// | + | * Time-domain FD method: [http://reproducibility.org/RSF/sfewefd.html ewefd] |
==Unconventional outputs== | ==Unconventional outputs== | ||
− | * Models PP intercept, PP gradient and PS gradient directly: [http:// | + | * Models PP intercept, PP gradient and PS gradient directly: [http://reproducibility.org/RSF/sfmodrefl2.html modrefl2] |
− | * Outputs PP and PS seismograms in the tau-p domain: [http:// | + | * Outputs PP and PS seismograms in the tau-p domain: [http://reproducibility.org/RSF/sfmodrefl3.html modrefl3] |
==Uncertain== | ==Uncertain== | ||
− | * [http:// | + | * [http://reproducibility.org/RSF/sfmodrefl.html modrefl] ("Normal reflectivity modeling", according to <tt>sfdoc -k</tt>). Takes as input files with vp, vs and rho, but it is not clear whether it outputs a 2-D or 3-D file, and if modeling is with ray or WE methods. |
− | * 2-D, unknown if prestack or zero-offset, v(x,z), Born modeling: [http:// | + | * 2-D, unknown if prestack or zero-offset, v(x,z), Born modeling: [http://reproducibility.org/RSF/sfaborn.html aborn], [http://reproducibility.org/RSF/sfborn2d.html born2d] |
=Migration= | =Migration= | ||
Line 251: | Line 250: | ||
==3-D, prestack, wide-azimuth, v(x,z)== | ==3-D, prestack, wide-azimuth, v(x,z)== | ||
− | *Survey-sinking scheme in midpoint-offset coordinates with extended split-step extrapolator: [http:// | + | *Survey-sinking scheme in midpoint-offset coordinates with extended split-step extrapolator: [http://reproducibility.org/RSF/sfsrmig.html srmig], [http://reproducibility.org/RSF/sfsrmig2.html srmig2] |
==3-D, prestack, common-azimuth, v(x,z)== | ==3-D, prestack, common-azimuth, v(x,z)== | ||
− | *Extended split-step extrapolator: [http:// | + | *Extended split-step extrapolator: [http://reproducibility.org/RSF/sfcamig.html camig] |
==3-D, prestack, one-azimuth, const. v== | ==3-D, prestack, one-azimuth, const. v== | ||
The "one-azimuth" term was employed to underline that they take as input 3-D data with a single offset dimension, but they do not employ the common-azimuth approximation<ref>Biondi, B., and Palacharla, G.: 3-D prestack migration of common-azimuth data, Geophysics, v. 61, pp. 1822-1832.</ref> when computing ky. | The "one-azimuth" term was employed to underline that they take as input 3-D data with a single offset dimension, but they do not employ the common-azimuth approximation<ref>Biondi, B., and Palacharla, G.: 3-D prestack migration of common-azimuth data, Geophysics, v. 61, pp. 1822-1832.</ref> when computing ky. | ||
− | *F-K scheme: [http:// | + | *F-K scheme: [http://reproducibility.org/RSF/sfprestolt.html prestolt] |
− | *Kirchhoff scheme: [http:// | + | *Kirchhoff scheme: [http://reproducibility.org/RSF/sfpreconstkirch.html preconstkirch] |
==3-D, poststack, v(x,z)== | ==3-D, poststack, v(x,z)== | ||
− | *Extended split-step extrapolator: [http:// | + | *Extended split-step extrapolator: [http://reproducibility.org/RSF/sfsstep2.html sstep2], [http://reproducibility.org/RSF/sfzomig.html zomig] |
==3-D, poststack, const. v== | ==3-D, poststack, const. v== | ||
− | *F-K scheme: [http:// | + | *F-K scheme: [http://reproducibility.org/RSF/sfstolt.html stolt], with impulse response examples in <tt>sep/forwd</tt> |
− | *Kirchhoff with antialiasing: [http:// | + | *Kirchhoff with antialiasing: [http://reproducibility.org/RSF/sfmig3.html mig3], [http://reproducibility.org/RSF/sfmigsteep3.html migsteep3] |
==2-D, prestack, v(x,z)== | ==2-D, prestack, v(x,z)== | ||
− | *Survey-sinking scheme in midpoint-offset coordinates with PSPI extrapolator: [http:// | + | *Survey-sinking scheme in midpoint-offset coordinates with PSPI extrapolator: [http://reproducibility.org/RSF/sfdsr.html dsr] |
− | *Survey-sinking scheme in midpoint-offset coordinates with split-step extrapolator: [http:// | + | *Survey-sinking scheme in midpoint-offset coordinates with split-step extrapolator: [http://reproducibility.org/RSF/sfdsr2.html dsr2] |
− | *Shot-profile scheme, Riemannian extrapolator: [http:// | + | *Shot-profile scheme, Riemannian extrapolator: [http://reproducibility.org/RSF/sfrwe2d.html rwe2d], [http://reproducibility.org/RSF/sfrwesrmig.html rwesrmig] |
==2-D, prestack, v(z)== | ==2-D, prestack, v(z)== | ||
− | *Slope-based migration: [http:// | + | *Slope-based migration: [http://reproducibility.org/RSF/sfpmig.html pmig] |
==2-D, prestack, const. v== | ==2-D, prestack, const. v== | ||
− | *Angle-gather migration: [http:// | + | *Angle-gather migration: [http://reproducibility.org/RSF/sfagmig.html agmig] |
==2-D, poststack, v(x,z)== | ==2-D, poststack, v(x,z)== | ||
− | *Implicit finite-difference extrapolator, 15 and 45 degree approximations: [http:// | + | *Implicit finite-difference extrapolator, 15 and 45 degree approximations: [http://reproducibility.org/RSF/sfmig45.html mig45] |
− | *Riemannian extrapolator: [http:// | + | *Riemannian extrapolator: [http://reproducibility.org/RSF/sfrwezomig.html rwezomig] |
==2-D, poststack, v(z)== | ==2-D, poststack, v(z)== | ||
− | *Phase-shift extrapolator: [http:// | + | *Phase-shift extrapolator: [http://reproducibility.org/RSF/sfgazdag.html gazdag] |
− | *Kirchhoff with antialiasing: [http:// | + | *Kirchhoff with antialiasing: [http://reproducibility.org/RSF/sfkirchnew.html kirchnew] |
− | *Least-squares Kirchhoff with antialiasing: [http:// | + | *Least-squares Kirchhoff with antialiasing: [http://reproducibility.org/RSF/sfkirchinv.html kirchinv] |
==2-D, poststack, const. v== | ==2-D, poststack, const. v== | ||
− | *Implicit finite-difference extrapolator: [http:// | + | *Implicit finite-difference extrapolator: [http://reproducibility.org/RSF/sfconstfdmig2.html constfdmig2] |
==Migration without a velocity model== | ==Migration without a velocity model== | ||
− | *Slope-based 2-D prestack migration, works in v(z) media: [http:// | + | *Slope-based 2-D prestack migration, works in v(z) media: [http://reproducibility.org/RSF/sfpmig.html pmig] |
==Least-squares migration== | ==Least-squares migration== | ||
− | *Kirchhoff, 2-D, post-stack, v(z), with antialiasing: [http:// | + | *Kirchhoff, 2-D, post-stack, v(z), with antialiasing: [http://reproducibility.org/RSF/sfkirchinv.html kirchinv] |
=Image Cosmetics= | =Image Cosmetics= | ||
− | * Automatic gain control: [http:// | + | * Automatic gain control: [http://reproducibility.org/RSF/sfagc.html agc] |
− | * Image enhancement by histogram equalization: [http:// | + | * Image enhancement by histogram equalization: [http://reproducibility.org/RSF/sfequal.html equal] |
− | * Non-stationary spectral balancing: [http:// | + | * Non-stationary spectral balancing: [http://reproducibility.org/RSF/sfreshape.html reshape] |
=Angle gathers= | =Angle gathers= | ||
− | * Illustration of angle gathers: [http:// | + | * Illustration of angle gathers: [http://reproducibility.org/RSF/sfangle.html angle] |
− | * Another illustration of angle gathers: [http:// | + | * Another illustration of angle gathers: [http://reproducibility.org/RSF/sfangle2.html angle2] |
− | * Transform PP angle gathers to PS angle gathers: [http:// | + | * Transform PP angle gathers to PS angle gathers: [http://reproducibility.org/RSF/sfpp2psang2.html pp2psang2] |
− | * Transform PP angle gathers to PS angle gathers: [http:// | + | * Transform PP angle gathers to PS angle gathers: [http://reproducibility.org/RSF/sfpp2psang.html pp2psang] |
− | * Compute angle gathers for time-shift imaging condition: [http:// | + | * Compute angle gathers for time-shift imaging condition: [http://reproducibility.org/RSF/sfpp2pstsic.html pp2pstsic] |
− | * Apply dip correction for angle-gathers computed with absolute offset: [http:// | + | * Apply dip correction for angle-gathers computed with absolute offset: [http://reproducibility.org/RSF/sfabsoffdip.html absoffdip] |
− | * Compute angle gathers for time-shift imaging condition: [http:// | + | * Compute angle gathers for time-shift imaging condition: [http://reproducibility.org/RSF/sftshift.html tshift] |
=Dip estimation= | =Dip estimation= | ||
− | * Estimate a number of constant dips using plane-wave destruction: [http:// | + | * Estimate a number of constant dips using plane-wave destruction: [http://reproducibility.org/RSF/sfdips.html dips] |
− | * 3-D dip estimation by plane wave destruction: [http:// | + | * 3-D dip estimation by plane wave destruction: [http://reproducibility.org/RSF/sfdip.html dip] |
− | * 2-D two dip estimation by plane wave destruction: [http:// | + | * 2-D two dip estimation by plane wave destruction: [http://reproducibility.org/RSF/sftwodip2.html twodip2] |
=Attribute extraction= | =Attribute extraction= | ||
− | * Compute intercept and gradient by least squares: [http:// | + | * Compute intercept and gradient by least squares: [http://reproducibility.org/RSF/sfavo.html avo] |
− | * Smooth estimate of instantaneous frequency: [http:// | + | * Smooth estimate of instantaneous frequency: [http://reproducibility.org/RSF/sfiphase.html iphase] |
− | * Canny-like edge detector: [http:// | + | * Canny-like edge detector: [http://reproducibility.org/RSF/sfcanny.html canny] |
=Horizon extraction= | =Horizon extraction= | ||
− | * Extract horizons from data: [http:// | + | * Extract horizons from data: [http://reproducibility.org/RSF/sfhslice.html hslice] |
− | * Extract a slice using picked surface (usually from a stack or a semblance): [http:// | + | * Extract a slice using picked surface (usually from a stack or a semblance): [http://reproducibility.org/RSF/sfslice.html slice] |
=Directional wavefields methods= | =Directional wavefields methods= | ||
These algorithms create or use directional wavefields at the surface or in depth. The most-known variety is tau-p, aka p-tau, aka slant stack, aka Linear Radon Transform, aka plane-wave synthesis, aka delayed-shot survey generation, aka Controlled Directional Reception (CDR), aka Controlled Directional Source, aka beam forming, aka plane-wave decomposition. Various people mean various things by these terms, with some agreement that "slant stack" is reserved to more simple flavor of the operation, "plane-wave decomposition" is the more carefully thought one trying to take care of the amplitudes, and CDR refers to shorter cable lengths. The various flavors of beam methods are good cousins of these approaches. | These algorithms create or use directional wavefields at the surface or in depth. The most-known variety is tau-p, aka p-tau, aka slant stack, aka Linear Radon Transform, aka plane-wave synthesis, aka delayed-shot survey generation, aka Controlled Directional Reception (CDR), aka Controlled Directional Source, aka beam forming, aka plane-wave decomposition. Various people mean various things by these terms, with some agreement that "slant stack" is reserved to more simple flavor of the operation, "plane-wave decomposition" is the more carefully thought one trying to take care of the amplitudes, and CDR refers to shorter cable lengths. The various flavors of beam methods are good cousins of these approaches. | ||
− | * Time-space-domain slant stack with antialiasing and a rho filter: [http:// | + | * Time-space-domain slant stack with antialiasing and a rho filter: [http://reproducibility.org/RSF/sfslant.html slant] |
− | * High-resolution Linear Radon Transform: [http:// | + | * High-resolution Linear Radon Transform: [http://reproducibility.org/RSF/sfradon.html radon]. Inversion approach trying to maximize spikes in the tau-p domain, and filter out other events, including elliptical ones (you may not want to use this for creating inputs to methods that work with ellipses in the tau-p domain!) |
− | * Modeling that outputs PP and PS seismograms in the tau-p domain: [http:// | + | * Modeling that outputs PP and PS seismograms in the tau-p domain: [http://reproducibility.org/RSF/sfmodrefl3.html modrefl3] |
− | * Normal moveout in tau-p domain: [http:// | + | * Normal moveout in tau-p domain: [http://reproducibility.org/RSF/sftaupmo.html taupmo] |
− | * Diffraction imaging in the plane-wave domain: [http:// | + | * Diffraction imaging in the plane-wave domain: [http://reproducibility.org/RSF/sfdimag.html dimag] |
=Transforms= | =Transforms= | ||
− | * Time-space-domain slant stack with antialiasing and a rho filter: [http:// | + | * Time-space-domain slant stack with antialiasing and a rho filter: [http://reproducibility.org/RSF/sfslant.html slant] |
− | * High-resolution Linear Radon Transform: [http:// | + | * High-resolution Linear Radon Transform: [http://reproducibility.org/RSF/sfradon.html radon]. Inversion approach trying to maximize spikes in the tau-p domain, and filter out other events, including elliptical ones (you may not want to use this for creating inputs to methods that work with ellipses in the tau-p domain!) |
− | * Parabolic Radon Transform: [http:// | + | * Parabolic Radon Transform: [http://reproducibility.org/RSF/sfradon.html radon] with <tt>parab=y</tt> |
− | * Hyperbolic Radon Transform: [http:// | + | * Hyperbolic Radon Transform: [http://reproducibility.org/RSF/sfveltran.html veltran] |
− | * Hyperbolic Radon Transform with conjugate-directions inversion: [http:// | + | * Hyperbolic Radon Transform with conjugate-directions inversion: [http://reproducibility.org/RSF/sfcgscan.html cgscan] |
− | * Phase-space Radon transform: [http:// | + | * Phase-space Radon transform: [http://reproducibility.org/RSF/sfpradon.html pradon] |
− | * Radial Transform: [http:// | + | * Radial Transform: [http://reproducibility.org/RSF/sfradial.html radial] |
− | * FFT along the first axis: [http:// | + | * FFT along the first axis: [http://reproducibility.org/RSF/sffft1.html fft1] |
− | * FFT: [http:// | + | * FFT: [http://reproducibility.org/RSF/sffft3.html fft3] |
− | * Frequency spectra: [http:// | + | * Frequency spectra: [http://reproducibility.org/RSF/sfspectra.html spectra] |
− | * Frequency spectra in 2-D: [http:// | + | * Frequency spectra in 2-D: [http://reproducibility.org/RSF/sfspectra2.html spectra2] |
− | * 1-D Digital Wavelet Transform: [http:// | + | * 1-D Digital Wavelet Transform: [http://reproducibility.org/RSF/sfdwt.html dwt] |
− | * Multi-dimensional cosine transform: [http:// | + | * Multi-dimensional cosine transform: [http://reproducibility.org/RSF/sfcosft.html cosft] |
− | * Seislet transform: [http:// | + | * Seislet transform: [http://reproducibility.org/RSF/sfseislet.html seislet] |
− | * Freqlet transform: [http:// | + | * Freqlet transform: [http://reproducibility.org/RSF/sffreqlet.html freqlet] |
=Smoothers and rougheners= | =Smoothers and rougheners= | ||
− | * 2-D smoothing by triangle plane-wave construction shaping: [http:// | + | * 2-D smoothing by triangle plane-wave construction shaping: [http://reproducibility.org/RSF/sfpwdsmooth2.html pwdsmooth2] |
− | * Recursive Gaussian smoothing on the fast axis: [http:// | + | * Recursive Gaussian smoothing on the fast axis: [http://reproducibility.org/RSF/sfgaussmooth.html gaussmooth] |
− | * Smooth first derivative on the first axis: [http:// | + | * Smooth first derivative on the first axis: [http://reproducibility.org/RSF/sfsmoothder.html smoothder] |
− | * Multi-dimensional triangle smoothing: [http:// | + | * Multi-dimensional triangle smoothing: [http://reproducibility.org/RSF/sfsmooth.html smooth] |
− | * Smoothing in 2-D by simple regularization: [http:// | + | * Smoothing in 2-D by simple regularization: [http://reproducibility.org/RSF/sfsmoothreg2.html smoothreg2] |
− | * Smoothing in 1-D by simple regularization: [http:// | + | * Smoothing in 1-D by simple regularization: [http://reproducibility.org/RSF/sfsmoothreg.html smoothreg] |
− | * First derivative with a maximally linear FIR differentiator: [http:// | + | * First derivative with a maximally linear FIR differentiator: [http://reproducibility.org/RSF/sfderiv.html deriv] |
− | * 2-D smooth gradient: [http:// | + | * 2-D smooth gradient: [http://reproducibility.org/RSF/sfgrad2.html grad2] |
− | * Gradient on the first axis: [http:// | + | * Gradient on the first axis: [http://reproducibility.org/RSF/sfigrad.html igrad] |
− | * Apply 2-D directional high-pass to highlight data: [http:// | + | * Apply 2-D directional high-pass to highlight data: [http://reproducibility.org/RSF/sflight.html light] |
− | * 1-D non-stationary smoothing: [http:// | + | * 1-D non-stationary smoothing: [http://reproducibility.org/RSF/sfnsmooth1.html nsmooth1] |
− | * N-D non-stationary smoothing: [http:// | + | * N-D non-stationary smoothing: [http://reproducibility.org/RSF/sfnsmooth.html nsmooth] |
− | * Multi-dimensional smoothing with boxes: [http:// | + | * Multi-dimensional smoothing with boxes: [http://reproducibility.org/RSF/sfboxsmooth.html boxsmooth] |
− | * Half-order integration or differentiation: [http:// | + | * Half-order integration or differentiation: [http://reproducibility.org/RSF/sfhalfint.html halfint] |
− | * 2-D smoothing by triangle directional shaping: [http:// | + | * 2-D smoothing by triangle directional shaping: [http://reproducibility.org/RSF/sftrismooth2.html trismooth2] |
=Programs yet to be classified= | =Programs yet to be classified= | ||
− | * [http:// | + | * [http://reproducibility.org/RSF/sfaliasp.html aliasp]: Aliasing test |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfapprox.html approx]: Illustrating non-hyperbolic approximations |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfautocorr.html autocorr]: Autocorrelation for helix filters |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfcflow.html cflow]: Fast mean-curvature flow |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfcostaper.html costaper]: Cosine taper around the borders (N-D) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfcube2list.html cube2list]: Maps a cube to a list, given a threshold (clip value) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfdeblur.html deblur]: Non-stationary debluring by inversion |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfdijkstra.html dijkstra]: Dijkstra shortest-path algorithm in 2-D |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfdiplet.html diplet]: Seislet frame |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfdistance.html distance]: Computing distance function by fast marching eikonal solver (3-D) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfdivn.html divn]: Smooth division |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfeikonal.html eikonal]: Fast marching eikonal solver (3-D) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfeikonalvti.html eikonalvti]: Fast marching eikonal solver in VTI media |
− | * [http:// | + | * [http://reproducibility.org/RSF/sferfdm.html erfdm] |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfexgr.html exgr]: Exact group velocity in VTI media |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfextract.html extract]: Forward interpolation in 2-D slices |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfflat3.html flat3]: 3-D flattening (without picking) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfflat.html flat]: Moveout flattening |
− | * [http:// | + | * [http://reproducibility.org/RSF/sffocus.html focus]: Focusing indicator |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfframe.html frame]: Create a frame for binning |
− | * [http:// | + | * [http://reproducibility.org/RSF/sffreqest.html freqest]: Local frequency estimation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfgreen.html green]: Phase-space Green's function from down-marching |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfhconv.html hconv]: Convolution of two helix filters |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfhelicon.html helicon]: Multidimensional convolution and deconvolution by helix transform |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfic.html ic]: Imaging condition |
− | * [http:// | + | * [http://reproducibility.org/RSF/sficor.html icor]: Interferometric cross-correlation of time series (zero-lag output) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfidempatch.html idempatch]: Patching test |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfimpl1.html impl1]: 1-D anisotropic diffusion |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfimpl2.html impl2]: 2-D anisotropic diffusion |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfimpl3.html impl3]: 3-D anisotropic diffusion |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfinterp2.html interp2]: Multiple-arrival interpolation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfinterp3.html interp3]: Multiple-arrival interpolation from down-marching |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfinterpt.html interpt]: Multiple-arrival interpolation (yet another) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfintshow.html intshow]: Output interpolation filter |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfkolmog.html kolmog]: Kolmogoroff spectral factorization |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflaps.html laps]: Compute lagged-products |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflinefit.html linefit]: Fit a line to a set of points in 2-D |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflopef.html lopef]: Local Prediction-Error Filter (1-D, 2-D, and 3-D) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflpef.html lpef]: Find PEF on aliased traces |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflpf.html lpf]: Local prefiction filter (n-dimensional) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sflstk.html lstk]: Local slant stacks (2D) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfmspef.html mspef]: Multi-scale PEF estimation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfnhelicon.html nhelicon]: Non-stationary helix convolution and deconvolution |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfnpef.html npef]: Estimate Non-stationary PEF in N dimensions |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfocparcel.html ocparcel]: Patching test for out-of-core patching |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfoctentwt.html octentwt]: Tent-like weight for out-of-core patching |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfoff2abs3.html off2abs3]: Transform vector-offset to absolute-offset |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfoff2abs.html off2abs]: Transform vector-offset to absolute-offset |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfofpwd2.html ofpwd2]: Objective function of two dips estimation with PWD filters |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfofpwd.html ofpwd]: Objective function of dip estimation with PWD filters |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfofsemb.html ofsemb]: Objective function of dip estimation with semblance |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfparcel.html parcel]: Patching test |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpatch.html patch]: Patching (N-dimensional) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpef.html pef]: Multi-dimensional PEF (prediction error filter) estimation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpostfilter2.html postfilter2]: Convert B-spline coefficients to data in 2-D |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpredict.html predict]: 2-D plane-wave prediction |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpwd.html pwd]: 3-D plane wave destruction |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfpwdsigk.html pwdsigk]: Signal component separation using plane-wave destruction |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfrefer.html refer]: Subtract a reference from a grid |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfreg2tri.html reg2tri]: Decimate a regular grid to triplets for triangulation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfricker1.html ricker1]: Convolution with a Ricker wavelet |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfrweab.html rweab]: Riemannian Wavefield Extrapolation]:* a,b coefficients |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfrwemete2d.html rwemete2d]: 2-D metric tensor |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfseisigk.html seisigk]: Signal component separation using seislet transforms |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfshapebin1.html shapebin1]: 1-D inverse interpolation with shaping regularization |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfshapebin.html shapebin]: Data binning in 2-D slices by inverse interpolation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfshapesigk.html shapesigk]: Signal component separation using plane-wave shaping |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfshotprop.html shotprop]: Shot propagation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfsic3d.html sic3d]: Local slant stacks IC |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfsic.html sic]: Local slant stacks IC |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfsplinebank.html splinebank]: Prepare a filter bank for B-spline plane wave filters |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfsplinefilter.html splinefilter]: Convert data to B-spline coefficients |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfsrsyn.html srsyn]: Synthesize shot/receiver wavefields for 3-D SR migration |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftan2ang.html tan2ang]: Compute cos(theta) from 1/|pm| for time-shift imaging condition |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftcor.html tcor]: Interferometric cross-correlation of time series (zero-lag output) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftentwt.html tentwt]: Tent-like weight for patching |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftimeshift.html timeshift]: Apply variable time shifts using plane-wave construction |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftrapez.html trapez]: Convolution with a trapezoidal filter |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftree.html tree]: Multiple arrivals with a fast algorithm |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftri2reg.html tri2reg]: Interpolate triangulated triplets to a regular grid |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftrirand.html trirand]: Edit points for triangulation by removing similar and randomizing |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftspline.html tspline]: Helix filters for spline in tension |
− | * [http:// | + | * [http://reproducibility.org/RSF/sftwofreq2.html twofreq2]: 2-D two spectral component estimation |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfucor.html ucor]: Interferometric cross-correlation of time series (zero-lag output) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwarp1.html warp1]: Multicomponent data registration by 1-D warping |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwarpadd.html warpadd]: Add a perturbation to the warping function |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwarpscan.html warpscan]: Multicomponent data registration analysis |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwdf.html wdf]: Assymptotic Wigner distribution |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwigner.html wigner]: Assymptotic Wigner distribution in space-time |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfwilson.html wilson]: Wilson-Burg spectral factorization |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfxcor.html xcor]: Cross-correlation of time series (zero-lag output) |
− | * [http:// | + | * [http://reproducibility.org/RSF/sfztrace.html ztrace]: Multiple arrivals by depth marching |
* The SCons macros in <tt>RSFSRC/book/packages</tt> | * The SCons macros in <tt>RSFSRC/book/packages</tt> | ||
=References= | =References= | ||
<references/> | <references/> |
Revision as of 05:46, 12 October 2008
The most frequent question encountered from a new user is: "Does Madagascar do [some needed process]?" The first level of classification is therefore by types of geophysical procedures. Then the classifications below try to follow's the user's workflow:
- What sort of data must be processed/imaged: 3-D, 2-D, prestack, poststack?
- If a velocity model is needed, which sort is available? A v(x,z) one, a v(z) or a constant velocity?
- Which algorithm to use if several are available.
All program names below should be prefixed with "sf".
Contents
- 1 Manipulating irregular datasets, regularization and sorting
- 2 Interpolation tools
- 3 Classic preprocessing
- 4 Wavelet estimation
- 5 Denoising/S-N separation
- 6 Tracewise stretch/moveout operators
- 7 DMO/AMO/Offset continuation
- 8 Whole-image stretching
- 9 Autopicking
- 10 Velocity analysis
- 11 Velocity continuation
- 12 Velocity and data converters
- 13 Ray tracing
- 14 Traveltimes computation
- 15 Modeling
- 15.1 Creating reflectivity models
- 15.2 Adding noise
- 15.3 Creating falsely irregular data
- 15.4 Creating velocity models
- 15.5 3-D, prestack, v(x,z)
- 15.6 3-D, prestack, common-azimuth, v(x,z)
- 15.7 3-D, prestack, v(z)
- 15.8 3-D, zero-offset, v(x,z)
- 15.9 3-D, zero-offset, const.v
- 15.10 2.5-D, v(z)
- 15.11 2-D, prestack, v(x,z)
- 15.12 2-D, prestack, v(x,z), anisotropic media
- 15.13 2-D, prestack, v(z)
- 15.14 2-D, prestack, const. v
- 15.15 2-D, zero-offset, v(x,z)
- 15.16 2-D, zero-offset, v(z)
- 15.17 Elastic modeling
- 15.18 Unconventional outputs
- 15.19 Uncertain
- 16 Migration
- 16.1 3-D, prestack, wide-azimuth, v(x,z)
- 16.2 3-D, prestack, common-azimuth, v(x,z)
- 16.3 3-D, prestack, one-azimuth, const. v
- 16.4 3-D, poststack, v(x,z)
- 16.5 3-D, poststack, const. v
- 16.6 2-D, prestack, v(x,z)
- 16.7 2-D, prestack, v(z)
- 16.8 2-D, prestack, const. v
- 16.9 2-D, poststack, v(x,z)
- 16.10 2-D, poststack, v(z)
- 16.11 2-D, poststack, const. v
- 16.12 Migration without a velocity model
- 16.13 Least-squares migration
- 17 Image Cosmetics
- 18 Angle gathers
- 19 Dip estimation
- 20 Attribute extraction
- 21 Horizon extraction
- 22 Directional wavefields methods
- 23 Transforms
- 24 Smoothers and rougheners
- 25 Programs yet to be classified
- 26 References
Manipulating irregular datasets, regularization and sorting
- Integer header attributes: headerattr
- Zero a portion of a dataset based on a header mask: headercut
- Mathematical operations, possibly on header keys: headermath
- Sort a dataset according to a header key: headersort
- Window a dataset based on a header mask: headerwindow
- Create a mask: mask
- Shot interpolation: infill
- Data binning: intbin
- Data binning in 1-D slices: bin1
- Data binning in 2-D slices: bin
- Data regularization in 2-D using plane-wave destruction: planereg2
- Data regularization in 3-D using plane-wave destruction: planereg3
- Convert CMPs to shots for regular 2-D geometry: cmp2shot
- Convert shots to CMPs for regular 2-D geometry: shot2cmp
Interpolation tools
Making holes
- Cut an elliptic hole in data (for interpolation tests): hole
- Create a synthetic irregular dataset for interpolation tests: syntop
Actual interpolation
- Linear interpolation: lint1
- 1-D cubic spline interpolation: spline
- Data interpolation in 2-D slices using helix preconditioning: invbin
- 1-D inverse interpolation: invbin1
- Leveler inverse interpolation in 1-D: levint
- Find MISSing Input values and Filter in 1-D: misif
- Missing data interpolation in 1-D: miss1
- 2-D missing data interpolation: miss2
- Missing data interpolation (N-dimensional) using shaping regularization: miss3
- Multi-dimensional missing data interpolation: miss
- Multiscale missing data interpolation (N-dimensional): msmiss
- 2-D missing data interpolation by differential offset continuation: ofilp
- 1-D ENO (Essentially Non Oscillatory) interpolation: remap1
- ENO interpolation in 2-D slices: enoint2
- 2-D trace interpolation to a denser grid using PWD ("beyond aliasing" method): dealias
- Shot interpolation: infill
- Testing forward interpolation in 1-D: inttest1
- Testing forward interpolation in 2-D: inttest2
- Missing data interpolation in 2-D by Laplacian regularization: lapfill
- Missing data interpolation using one or two prediction-error filters: maskinv
- Missing data interpolation in 2-D using plane-wave destruction: planemis2
- Missing data interpolation in 3-D using plane-wave destruction: planemis3
- Missing data interpolation in 2-D using plane-wave destruction and shaping regularization: pmshape2
Classic preprocessing
Excludes: (1) denoising; (2) moveouts/stretches, and (3) interpolations, which will get their own sections.
- Stretch of the time axis: Guide_to_madagascar_programs#sfstretch stretch guide, stretch
- Amplitude balancing: abalance
- Compute data envelope: envelope
- Automatic gain control: agc
- Bandpass filtering: bandpass
- Bandpass filtering using erf function: erf
- Deconvolution (N-dimensional): decon
- 1-D convolution: conv
- Dip filtering (2-D or 3-D): dipfilter
- Muting: mutter
- Stack a dataset over one of the dimensions: stack
- Time power gain: tpow
- Frequency spectra: spectra
- Frequency spectra in 2-D: spectra2
- Static correction: datstretch. Use the the datum= parameter to specify file holding time shifts.
Wavelet estimation
- Mono-frequency wavelet estimation: monof
- Gaussian wavelet estimation in 2-D: monof2
- Ricker wavelet estimation: ricker
Denoising/S-N separation
- Denoising using stationary wavelet transform: swtdenoise
- Remove bursty noise by IRLS: deburst
- Burst noise removal using PEF: pefdeburst
- Remove spikes in by sliding 1-D medians: despike
- Remove spikes in by sliding 2-D medians: despike2
- Remove spikes in by sliding 3-D medians: despike3
- Signal and noise separation (N-dimensional): signoi
- Local signal and noise separation (N-dimensional): losignoi
- Signal and noise separation using plane-wave destruction filters: planesignoi
- Signal and noise separation using both frequency components and dips: explanesignoi
- Signal and noise separation using frequency components: expsignoi
Tracewise stretch/moveout operators
These operators do not carry energy from one trace to the other. The operation can be performed independently on each trace.
- General stretch of the time axis: stretch
- Normal Moveout stretch: nmostretch
- Linear Moveout stretch: lmostretch
- Log stretch: logstretch
- T-square stretch: t2stretch
- T-square Chebyshev stretch: t2chebstretch
- Radial moveout: radstretch
- Datuming stretch: datstretch
- Normal moveout: nmo
- Inverse normal moveout: inmo
- Constant-velocity nearest-neighbor inverse NMO: imospray
- Normal moveout in tau-p domain: taupmo
- Slope-based normal moveout: pnmo
DMO/AMO/Offset continuation
- Kirchhoff DMO with antialiasing by reparameterization: dmo
- Azimuth moveout by log-stretch F-K operator: fkamo
- Offset continuation by log-stretch F-K operator: fkdmo
- Offset continuation by finite differences: fincon
- DMO and stack by finite-difference offset continuation: finstack
Whole-image stretching
- Stolt stretch: stoltstretch
- Cartesian-Coordinates to Riemannian-Coordinates interpolation: c2r
Autopicking
- Automatic traveltime picking: pick0
- Automatic picking from semblance-like panels: pick, pick2
- Generate stereopicks from time-migration velocities and slopes: pgen
- Generate stereotomography picks from time migration: spicks
- Picking local maxima on the first axis: max1
- Picking by plane-wave construction: pwpick
- Preconditioning for traveltime picking: shearer
Velocity analysis
- Velocity transform: velmod
- Slope-based velocity transform: pveltran
- Hyperbolic Radon transform: veltran
- Hyperbolic Radon transform with conjugate-directions inversion: cgscan
- Velocity analysis: vscan
- 3-D zero-offset WEMVA: zomva
- 3-D S/R WEMVA with extended split-step: srmva
- Simple tomography test: tomo
Velocity continuation
- Post-stack 2-D velocity continuation by Chebyshev-tau method: chebvc
- Velocity continuation: fourvc
- Velocity continuation after NMO: fourvc0
- Velocity continuation with semblance computation: fourvc2
- Post-stack velocity continuation by implicit finite differences: velcon
- 3-D finite-difference velocity continuation on a helix: velcon3
Velocity and data converters
- Convert RMS to interval velocity: dix
- Convert RMS to interval velocity using LS and shaping regularization: dixshape
- V(t) function for a linear V(Z) profile: voft
- Conversion from depth to time in a V(z) medium: depth2time
- Time-to-depth conversion in V(z): time2depth
- Convert RMS to interval velocity using LS and plane-wave construction: pwdix
Ray tracing
The programs below take as input a velocity model and output ray trajectories.
2-D, v(x,z)
- Huygens wavefront tracing: hwt2d
- For layered media: layer
- Second-order cell ray tracing with locally parabolic rays: cell2.
- Ray tracing by a Runge-Kutta integrator: rays2
2-D, v(x,z), anisotropic media
- Ray tracing in VTI media by a Runge-Kutta integrator: rays2a
2-D, v(x,z), multiples
- By cell ray tracing: trace2
Plotting
Traveltimes computation
- Analytical traveltime in 2-D, linear v(z): vofz
- Huygens wavefront tracing (ray-based method): hwtex, hwt2d
Modeling
All methods below deal with acoustic data, unless noted otherwise. Also, to be in the modeling section, a program/chain of programs must produce actual seismograms, not just traveltime curves. Those go into the "Traveltime computation" section.
Programs listed below create time-domain seismic data (wavefield at z=0, i.e. hyperbolas) given a reflectivity model (wavefield at t=0 in the exploding reflector paradigm). Sometimes it is suggestive to plot "shots", i.e. one or several wavefronts at various times. One way to do it with downward-continuation based shot-modeling algorithm is to save the whole wavefield in the time domain, then to extract the slices at the appropriate times. This can get storage-intensive, and slow as it can be IO-bound. Another way is to use a reverse-time procedure and simply save the appropriate time snapshots. This is very CPU-intensive and artifacts can easily appear. The cheapest and the most elegant way is to remember that a wavefront at time t originating from a shot is indistinguishable from the migration impulse response of a spike at time t at the same x location. So to originate a series of wavefronts at intervals dt from a shot at location x and time t, one just has to migrate a sequence of spikes separated by dt at location x. This way, any of the programs in the "migration" section can also be used to create "shots" – including those programs based on survey-sinking!
Creating reflectivity models
- For linear arrivals: spike, followed by bandpass or convolution (conv) with a wavelet
- Simple 2-D synthetics with crossing plane waves: make
- Generates the 3-D Qdome model: qdome
- Generates the 2-D Sigmoid model: sigmoid
- Generates the 2-D Synmarine model, spreads it across offsets and applies moveout: synmarine (bandpass or convolution with a wavelet still needed)
- Generates the 2-D Conflicting Dips model: conflict
- Simple synthetics with random reflectivity: randrefl
Adding noise
- Synthetics with bursts of noise: burstnoise
- Add random noise to the data: noise
Creating falsely irregular data
Creating velocity models
- Generate 2-D layered velocity model from specified interfaces: unif2
- Generate 3-D layered velocity model from specified interfaces: unif3
3-D, prestack, v(x,z)
- Extended split step wavefield extrapolation method: srmod
3-D, prestack, common-azimuth, v(x,z)
- Split-step method: camig
3-D, prestack, v(z)
- Kirchhoff method using analytical Green's functions: kirmod3
3-D, zero-offset, v(x,z)
3-D, zero-offset, const.v
- Stolt (F-K) method: stolt
2.5-D, v(z)
- Kirchhoff method using analytical Green's functions: kirmod
2-D, prestack, v(x,z)
- Unknown ray-based method: shoot2
- Second-order cell ray tracing with locally parabolic rays: cell2.
- Ray tracing by a Runge-Kutta integrator: rays2
- Time-domain acoustic FD: afmod, awe, awefd, awefd1, afdm2d
- Time-domain acoustic linearized FD: lwefd, lwefd1
- DSR-based survey-continuation WE method: dsr2
2-D, prestack, v(x,z), anisotropic media
- Ray tracing in VTI media by a Runge-Kutta integrator: rays2a
2-D, prestack, v(z)
- DSR-based survey-continuation WE method: dsr
- spike, bandpass, inverse NMO
- Analytical traveltime in a linear slowness squared model: s2ofz
2-D, prestack, const. v
- Kirchhoff: preconstkirch
- Stolt (F-K): prestolt
2-D, zero-offset, v(x,z)
- Implicit finite-difference method, 15 and 45 degree approximation: mig45
- Riemannian Wavefield Extrapolation: rwezomig
2-D, zero-offset, v(z)
- Wavefield-extrapolation, phase-shift method: gazdag
- Kirchhoff with antialiasing: kirchnew
- 1-D convolution modeling: ai2refl
Elastic modeling
- Time-domain FD method: ewefd
Unconventional outputs
- Models PP intercept, PP gradient and PS gradient directly: modrefl2
- Outputs PP and PS seismograms in the tau-p domain: modrefl3
Uncertain
- modrefl ("Normal reflectivity modeling", according to sfdoc -k). Takes as input files with vp, vs and rho, but it is not clear whether it outputs a 2-D or 3-D file, and if modeling is with ray or WE methods.
- 2-D, unknown if prestack or zero-offset, v(x,z), Born modeling: aborn, born2d
Migration
Below, "v(x,z)" means "works when the velocity has lateral velocity variations, and will try to do something about them". This corresponds to what is widely called depth migration, but possibly to "smart" time migrations as well. The "const. v" term will be applied to algorithms that can only deal with constant velocity, regardless of whether the output is in depth or time. The "v(z)" term describes all other migrations. Note that the above terms apply even to migrations that do not need a velocity model!
It is assumed that a 3-D prestack algorithm will be able to migrate a 2-D prestack or a 3-D poststack, that a v(x,z) will be able to deal with a constant-velocity case, and so on. Exceptions to these rules will be highlighted.
The term "survey-sinking" was preferred to "source-receiver" because it can be done in either midpoint-offset, or in source-receiver coordinates, and the two differ in their treatment of amplitudes (a CMP gather is not a wavefield).
3-D, prestack, wide-azimuth, v(x,z)
- Survey-sinking scheme in midpoint-offset coordinates with extended split-step extrapolator: srmig, srmig2
3-D, prestack, common-azimuth, v(x,z)
- Extended split-step extrapolator: camig
3-D, prestack, one-azimuth, const. v
The "one-azimuth" term was employed to underline that they take as input 3-D data with a single offset dimension, but they do not employ the common-azimuth approximation[1] when computing ky.
- F-K scheme: prestolt
- Kirchhoff scheme: preconstkirch
3-D, poststack, v(x,z)
3-D, poststack, const. v
- F-K scheme: stolt, with impulse response examples in sep/forwd
- Kirchhoff with antialiasing: mig3, migsteep3
2-D, prestack, v(x,z)
- Survey-sinking scheme in midpoint-offset coordinates with PSPI extrapolator: dsr
- Survey-sinking scheme in midpoint-offset coordinates with split-step extrapolator: dsr2
- Shot-profile scheme, Riemannian extrapolator: rwe2d, rwesrmig
2-D, prestack, v(z)
- Slope-based migration: pmig
2-D, prestack, const. v
- Angle-gather migration: agmig
2-D, poststack, v(x,z)
- Implicit finite-difference extrapolator, 15 and 45 degree approximations: mig45
- Riemannian extrapolator: rwezomig
2-D, poststack, v(z)
- Phase-shift extrapolator: gazdag
- Kirchhoff with antialiasing: kirchnew
- Least-squares Kirchhoff with antialiasing: kirchinv
2-D, poststack, const. v
- Implicit finite-difference extrapolator: constfdmig2
Migration without a velocity model
- Slope-based 2-D prestack migration, works in v(z) media: pmig
Least-squares migration
- Kirchhoff, 2-D, post-stack, v(z), with antialiasing: kirchinv
Image Cosmetics
- Automatic gain control: agc
- Image enhancement by histogram equalization: equal
- Non-stationary spectral balancing: reshape
Angle gathers
- Illustration of angle gathers: angle
- Another illustration of angle gathers: angle2
- Transform PP angle gathers to PS angle gathers: pp2psang2
- Transform PP angle gathers to PS angle gathers: pp2psang
- Compute angle gathers for time-shift imaging condition: pp2pstsic
- Apply dip correction for angle-gathers computed with absolute offset: absoffdip
- Compute angle gathers for time-shift imaging condition: tshift
Dip estimation
- Estimate a number of constant dips using plane-wave destruction: dips
- 3-D dip estimation by plane wave destruction: dip
- 2-D two dip estimation by plane wave destruction: twodip2
Attribute extraction
- Compute intercept and gradient by least squares: avo
- Smooth estimate of instantaneous frequency: iphase
- Canny-like edge detector: canny
Horizon extraction
- Extract horizons from data: hslice
- Extract a slice using picked surface (usually from a stack or a semblance): slice
Directional wavefields methods
These algorithms create or use directional wavefields at the surface or in depth. The most-known variety is tau-p, aka p-tau, aka slant stack, aka Linear Radon Transform, aka plane-wave synthesis, aka delayed-shot survey generation, aka Controlled Directional Reception (CDR), aka Controlled Directional Source, aka beam forming, aka plane-wave decomposition. Various people mean various things by these terms, with some agreement that "slant stack" is reserved to more simple flavor of the operation, "plane-wave decomposition" is the more carefully thought one trying to take care of the amplitudes, and CDR refers to shorter cable lengths. The various flavors of beam methods are good cousins of these approaches.
- Time-space-domain slant stack with antialiasing and a rho filter: slant
- High-resolution Linear Radon Transform: radon. Inversion approach trying to maximize spikes in the tau-p domain, and filter out other events, including elliptical ones (you may not want to use this for creating inputs to methods that work with ellipses in the tau-p domain!)
- Modeling that outputs PP and PS seismograms in the tau-p domain: modrefl3
- Normal moveout in tau-p domain: taupmo
- Diffraction imaging in the plane-wave domain: dimag
Transforms
- Time-space-domain slant stack with antialiasing and a rho filter: slant
- High-resolution Linear Radon Transform: radon. Inversion approach trying to maximize spikes in the tau-p domain, and filter out other events, including elliptical ones (you may not want to use this for creating inputs to methods that work with ellipses in the tau-p domain!)
- Parabolic Radon Transform: radon with parab=y
- Hyperbolic Radon Transform: veltran
- Hyperbolic Radon Transform with conjugate-directions inversion: cgscan
- Phase-space Radon transform: pradon
- Radial Transform: radial
- FFT along the first axis: fft1
- FFT: fft3
- Frequency spectra: spectra
- Frequency spectra in 2-D: spectra2
- 1-D Digital Wavelet Transform: dwt
- Multi-dimensional cosine transform: cosft
- Seislet transform: seislet
- Freqlet transform: freqlet
Smoothers and rougheners
- 2-D smoothing by triangle plane-wave construction shaping: pwdsmooth2
- Recursive Gaussian smoothing on the fast axis: gaussmooth
- Smooth first derivative on the first axis: smoothder
- Multi-dimensional triangle smoothing: smooth
- Smoothing in 2-D by simple regularization: smoothreg2
- Smoothing in 1-D by simple regularization: smoothreg
- First derivative with a maximally linear FIR differentiator: deriv
- 2-D smooth gradient: grad2
- Gradient on the first axis: igrad
- Apply 2-D directional high-pass to highlight data: light
- 1-D non-stationary smoothing: nsmooth1
- N-D non-stationary smoothing: nsmooth
- Multi-dimensional smoothing with boxes: boxsmooth
- Half-order integration or differentiation: halfint
- 2-D smoothing by triangle directional shaping: trismooth2
Programs yet to be classified
- aliasp: Aliasing test
- approx: Illustrating non-hyperbolic approximations
- autocorr: Autocorrelation for helix filters
- cflow: Fast mean-curvature flow
- costaper: Cosine taper around the borders (N-D)
- cube2list: Maps a cube to a list, given a threshold (clip value)
- deblur: Non-stationary debluring by inversion
- dijkstra: Dijkstra shortest-path algorithm in 2-D
- diplet: Seislet frame
- distance: Computing distance function by fast marching eikonal solver (3-D)
- divn: Smooth division
- eikonal: Fast marching eikonal solver (3-D)
- eikonalvti: Fast marching eikonal solver in VTI media
- erfdm
- exgr: Exact group velocity in VTI media
- extract: Forward interpolation in 2-D slices
- flat3: 3-D flattening (without picking)
- flat: Moveout flattening
- focus: Focusing indicator
- frame: Create a frame for binning
- freqest: Local frequency estimation
- green: Phase-space Green's function from down-marching
- hconv: Convolution of two helix filters
- helicon: Multidimensional convolution and deconvolution by helix transform
- ic: Imaging condition
- icor: Interferometric cross-correlation of time series (zero-lag output)
- idempatch: Patching test
- impl1: 1-D anisotropic diffusion
- impl2: 2-D anisotropic diffusion
- impl3: 3-D anisotropic diffusion
- interp2: Multiple-arrival interpolation
- interp3: Multiple-arrival interpolation from down-marching
- interpt: Multiple-arrival interpolation (yet another)
- intshow: Output interpolation filter
- kolmog: Kolmogoroff spectral factorization
- laps: Compute lagged-products
- linefit: Fit a line to a set of points in 2-D
- lopef: Local Prediction-Error Filter (1-D, 2-D, and 3-D)
- lpef: Find PEF on aliased traces
- lpf: Local prefiction filter (n-dimensional)
- lstk: Local slant stacks (2D)
- mspef: Multi-scale PEF estimation
- nhelicon: Non-stationary helix convolution and deconvolution
- npef: Estimate Non-stationary PEF in N dimensions
- ocparcel: Patching test for out-of-core patching
- octentwt: Tent-like weight for out-of-core patching
- off2abs3: Transform vector-offset to absolute-offset
- off2abs: Transform vector-offset to absolute-offset
- ofpwd2: Objective function of two dips estimation with PWD filters
- ofpwd: Objective function of dip estimation with PWD filters
- ofsemb: Objective function of dip estimation with semblance
- parcel: Patching test
- patch: Patching (N-dimensional)
- pef: Multi-dimensional PEF (prediction error filter) estimation
- postfilter2: Convert B-spline coefficients to data in 2-D
- predict: 2-D plane-wave prediction
- pwd: 3-D plane wave destruction
- pwdsigk: Signal component separation using plane-wave destruction
- refer: Subtract a reference from a grid
- reg2tri: Decimate a regular grid to triplets for triangulation
- ricker1: Convolution with a Ricker wavelet
- rweab: Riemannian Wavefield Extrapolation]:* a,b coefficients
- rwemete2d: 2-D metric tensor
- seisigk: Signal component separation using seislet transforms
- shapebin1: 1-D inverse interpolation with shaping regularization
- shapebin: Data binning in 2-D slices by inverse interpolation
- shapesigk: Signal component separation using plane-wave shaping
- shotprop: Shot propagation
- sic3d: Local slant stacks IC
- sic: Local slant stacks IC
- splinebank: Prepare a filter bank for B-spline plane wave filters
- splinefilter: Convert data to B-spline coefficients
- srsyn: Synthesize shot/receiver wavefields for 3-D SR migration
- tan2ang: Compute cos(theta) from 1/|pm| for time-shift imaging condition
- tcor: Interferometric cross-correlation of time series (zero-lag output)
- tentwt: Tent-like weight for patching
- timeshift: Apply variable time shifts using plane-wave construction
- trapez: Convolution with a trapezoidal filter
- tree: Multiple arrivals with a fast algorithm
- tri2reg: Interpolate triangulated triplets to a regular grid
- trirand: Edit points for triangulation by removing similar and randomizing
- tspline: Helix filters for spline in tension
- twofreq2: 2-D two spectral component estimation
- ucor: Interferometric cross-correlation of time series (zero-lag output)
- warp1: Multicomponent data registration by 1-D warping
- warpadd: Add a perturbation to the warping function
- warpscan: Multicomponent data registration analysis
- wdf: Assymptotic Wigner distribution
- wigner: Assymptotic Wigner distribution in space-time
- wilson: Wilson-Burg spectral factorization
- xcor: Cross-correlation of time series (zero-lag output)
- ztrace: Multiple arrivals by depth marching
- The SCons macros in RSFSRC/book/packages
References
- ↑ Biondi, B., and Palacharla, G.: 3-D prestack migration of common-azimuth data, Geophysics, v. 61, pp. 1822-1832.