Kirchhoff PreSTM - file in/out - migration (offset mode)

<< Click to Display Table of Contents >>

Navigation:  Migration >

Kirchhoff PreSTM - file in/out - migration (offset mode)

 

Description

This module performs Kirchhoff pre-stack time migration in offset mode, reading input seismic data from disk and writing migrated images directly to an output file. In offset mode, the migration accumulates energy into common-image gathers (CIGs) sorted by source-receiver offset rather than by angle, making it well suited for offset-dependent amplitude analysis, AVO studies, and velocity model QC. The module supports distributed (cluster) and GPU-accelerated processing for handling large 3D datasets efficiently.

Use this module when you need offset-class CIGs from a large pre-stack dataset, or when you want to run a velocity scan (VelFactor sweep) to evaluate migration sensitivity to RMS velocity perturbations. The storage type selector allows the module to be driven by a velocity selector sub-procedure for automated velocity analysis workflows.

Input data

Storage type { Simple, Velocity selector 2D, Velocity selector 3D }

Controls how migration results are stored and whether velocity scanning is active. Simple writes a single migrated output file using the specified velocity model. Velocity selector 2D / 3D connects this module to a Kirchhoff velocity selector engine, enabling automatic migration of multiple velocity factor trials and storage in a keyed database (KDB) for interactive velocity picking.

SEG-Y data handle

Handle to the input SEG-Y file containing the pre-stack seismic traces to be migrated.

Trace headers

Trace header vector providing geometry information (source and receiver coordinates, offsets, CDP numbers) required for the migration travel-time calculations.

Input traces data handle

Optional on-disk trace vector handle used when the full trace geometry is too large to hold in memory. Enable the corresponding Use trace vector on disk flag to activate this input.

Vrms model

The RMS velocity model used to compute Kirchhoff travel times and move-out corrections during migration. This is the primary velocity input; the model should cover the full time and spatial extent of the data.

Output geometry

2D bin point vector defining the output image grid positions (used in 2D or 2.5D migration).

Output geometry 3D

3D bin grid defining the inline/crossline output image grid (used for 3D migration). This is normally hidden and set automatically.

Use trace vector on disk

When enabled, the module reads trace geometry from the on-disk trace vector handle rather than from memory. Use this option for very large surveys where loading the full trace header list into RAM is not practical.

Output file name

Path and filename for the migrated output data (GSD format). This file will contain the offset-class CIG volume after migration completes.

Storage file

KDB file used when Storage type is set to Velocity selector 2D. Stores partial migration results keyed by velocity factor for subsequent interactive velocity analysis.

Storage file 3D

KDB file used when Storage type is set to Velocity selector 3D.

Bound points vector

Optional polygon defining the lateral boundary of the migration output area. Only bins inside this polygon will be migrated, allowing computation to be restricted to a region of interest.

Use boundaries

Enables the lateral boundary polygon defined by the Bound points vector. When disabled, migration is run over the full output grid.

Parameters

Aperture params

Parameter group controlling the spatial migration aperture — the radius around each output bin within which input traces are summed. Larger apertures capture more steeply dipping energy but increase computation time.

Migrate by pickets

When enabled, aperture distances are measured in picket (shot-point) units along the acquisition line rather than in metres. Enable this for 2D crooked-line surveys where the along-line distance is more meaningful than straight-line distance.

Aperture type { Constant, Time variant }

Selects whether the migration aperture is constant with time (Constant) or varies as a function of two-way travel time (Time variant). A time-variant aperture lets you use a narrow aperture in the shallow section and a wider one at depth, optimising both speed and image quality.

Aperture

Maximum migration aperture radius in metres (default: 3000 m). This value is used when Aperture type is set to Constant. Set this to approximately half the maximum expected reflector dip displacement plus the maximum offset, or use the dip-angle criterion guided by the Max angle aperture parameter.

Time-aperture factors

Table of (time, aperture) pairs defining aperture as a piecewise-linear function of two-way time. Only active when Aperture type is set to Time variant. Add one row per time break point; the aperture is linearly interpolated between rows.

Side aperture

Additional lateral taper distance in metres applied at the aperture boundary to suppress edge effects and reduce migration artefacts. When set to zero no tapering is applied.

Aperture traces decimation factor

Integer decimation factor applied to the input traces within the aperture (default: 1, meaning all traces are used). Setting this to 2 uses every second trace, halving the computation time at the cost of some fold reduction. Useful for quick QC runs or heavily oversampled datasets.

Max angle aperture

Maximum dip angle in degrees (default: 60°) used to limit the migration operator. Traces arriving at angles greater than this value relative to vertical are excluded, which suppresses steeply dipping noise and reduces migration smiles. Decrease this value to attenuate steep-dip artefacts; increase it if steep reflectors are expected.

CIG params

Parameter group controlling the offset axis of the output common-image gathers.

Use variable offset model

When enabled, the offset sampling in the output CIG is derived from the actual offset distribution in the data rather than from the uniform Min/Max/Step parameters. Use this for irregular acquisition geometries.

Offset aperture type { Direct offset classes, Mix offsets }

Determines how traces are assigned to offset bins. Direct offset classes places each trace into the single nearest offset class. Mix offsets distributes each trace's energy across adjacent offset bins using weighting, producing smoother CIGs at the cost of additional computation.

Minimum offset CIG

Minimum source-receiver offset in metres for the output CIG. Traces with offsets smaller than this value are excluded from the migration. Set this to match the minimum usable offset in the dataset (e.g. beyond the mute zone).

Maximum offset CIG

Maximum source-receiver offset in metres for the output CIG (default: 3000 m). Traces beyond this offset are not migrated into the gather.

Offset increment of CIG

Offset bin size in metres (default: 50 m). This controls the number of output offset planes in the CIG and therefore the output data volume. A smaller increment gives finer offset resolution for AVO analysis but produces a larger output file.

Offset aperture of CIG

Half-width of the offset window (in metres) around each offset class centre that is accepted for binning. This value should be set to approximately half the Offset increment to avoid gaps or overlap between adjacent offset bins.

Offset classes

Custom table of offset class centre values, used when Direct offset classes mode is active. Allows non-uniform offset bin spacing to match acquisition offset classes or specific analysis requirements.

Velocity params

Parameter group controlling velocity model handling, scaling, and anisotropy.

Replacement velocity

Near-surface velocity in m/s used to replace the very shallow part of the velocity model and to compute static corrections from the datum to the acquisition surface (default: 1500 m/s). This should match the replacement velocity used during static corrections applied to the data.

Velocity factor

Global multiplicative scale factor applied to the entire Vrms model (default: 1.0). Values greater than 1 migrate with a faster velocity (under-migrated reflectors flatten); values less than 1 use a slower velocity (over-migrated). Use this for a quick sensitivity test before running a full velocity scan.

VelFactor

Parameter group defining the velocity factor sweep used in velocity selector mode. The migration is run for each factor value from Min to Max in steps of Step, producing one CIG per factor for subsequent velocity picking.

Min velocity factor

Minimum velocity factor in the sweep (default: 0.8). A value of 0.8 means the migration will be run at 80% of the input Vrms model.

Max velocity factor

Maximum velocity factor in the sweep (default: 1.2). A value of 1.2 means the migration will be run at 120% of the input Vrms model.

Velocity factor step

Increment between successive velocity factor trials (default: 0.1). With Min = 0.8, Max = 1.2, and Step = 0.1, five migrations will be computed at factors 0.8, 0.9, 1.0, 1.1, and 1.2.

Use stretching factor

Enables the Kirchhoff NMO stretch mute. When active, traces where the NMO stretch exceeds the Stretching factor threshold are muted before summation, reducing low-frequency noise at far offsets.

Stretching factor

NMO stretch mute threshold as a percentage (default: 0%). A value of 50% mutes the portion of a trace where the NMO correction stretches the wavelet by more than 50%. Only active when Use stretching factor is enabled.

Use Vrms map

When enabled, an additional near-surface velocity map (V0 map) is used to refine the near-surface velocity model. Enable this when applying surface-consistent corrections that vary laterally.

V0 map

2D matrix containing spatially varying near-surface velocity values. Used when Use Vrms map is enabled.

VTI

Enables VTI (Vertically Transverse Isotropic) anisotropic migration. When active, the VTI model input is required and Thomsen anisotropy parameters are incorporated into the travel-time computation.

Input VTI model

Velocity model containing VTI anisotropy parameters (typically eta or epsilon/delta). Required when VTI migration is enabled.

Normalization params

Parameter group controlling how migrated amplitudes are normalised across the output bins.

Normalization dimension type { 2D, 3D }

Selects whether amplitude normalisation is applied using a 2D or 3D geometric spreading correction. Match this to the survey dimensionality.

Use Regularization Weights { No, By Source Receiver Distribution, By Trace Distribution }

Controls whether fold regularisation weights are applied to compensate for uneven trace coverage. No applies no weighting. By Source Receiver Distribution weights based on the density of source-receiver pairs. By Trace Distribution weights based on trace fold. Use regularisation weights when the acquisition has significant variation in fold across the survey.

Anti aliasing step x

CMP (midpoint) spacing in the inline direction in metres (default: 12.5 m), used by the anti-aliasing operator to limit the migration operator frequency at each output sample. Set this to the actual CMP interval along inlines.

Anti aliasing step y

CMP spacing in the crossline direction in metres (default: 25.0 m), used by the anti-aliasing operator. Set this to the actual CMP interval along crosslines.

Normalization by VRMS

When enabled (default), migrated amplitudes are normalised by the local RMS velocity at each output sample, providing a velocity-compensated amplitude response.

Anti-aliasing coefficient

Scaling coefficient for the anti-aliasing filter bandwidth. Higher values increase the filter cut-off frequency (less aggressive anti-aliasing, preserving more high-frequency content). Lower values apply stronger anti-aliasing suppression.

Max frequency

Maximum frequency in Hz used in the Rho filter (derivative operator) applied during migration (default: 120 Hz). This limits the bandwidth of the migration operator and should be set to match the maximum usable signal frequency in the data.

Calculation area

Parameter group defining the inline/crossline range of bins to migrate. Use this to restrict migration to a sub-volume of interest and reduce computation time.

First inline number(-1 no limit)

First inline number to include in the migration. Set to -1 (default) to migrate from the first inline in the dataset.

Last inline number(-1 no limit)

Last inline number to include in the migration. Set to -1 (default) to migrate through the last inline in the dataset.

First crossline number(-1 no limit)

First crossline number to include. Set to -1 (default) for no limit.

Last crossline number(-1 no limit)

Last crossline number to include. Set to -1 (default) for no limit.

Calculation rule { Logical AND, Logical OR }

Determines how the inline and crossline range limits are combined. Logical AND restricts migration to bins within both inline and crossline ranges simultaneously (a rectangular sub-area). Logical OR migrates bins that satisfy either the inline or the crossline constraint.

Step along inline number

Inline decimation step (default: 1, all inlines). Setting to 2 migrates every second inline, halving the output grid density for rapid QC.

Step along crossline number

Crossline decimation step (default: 1, all crosslines).

CIG/CAG { CIG, CAG }

Selects whether the output gathers are organised by offset (CIG, common-image gather) or by reflection angle (CAG, common-angle gather). This parameter is hidden by default; CIG mode is standard for offset-mode migration.

Minimum angle CAG

Minimum reflection angle in degrees for the output CAG (default: 0°). Only active when CIG/CAG is set to CAG.

Maximum angle CAG

Maximum reflection angle in degrees for the output CAG (default: 90°). Only active when CIG/CAG is set to CAG.

Angle increment of CAG

Angle bin size in degrees for the CAG (default: 5°). Only active when CIG/CAG is set to CAG.

CPU boost factor

Integer factor (default: 1, range 1–50) that controls the per-thread workload granularity for CPU migration. Increasing this value can improve CPU utilisation efficiency on some systems at the expense of more memory per thread. Keep at 1 unless advised otherwise.

Normalization by fold { none, trace, sample, offset-plane }

Controls how the stacked output is normalised for varying fold. none applies no fold normalisation. trace normalises by trace count per bin. sample normalises sample-by-sample. offset-plane (default) normalises per offset class, providing balanced amplitude across the CIG offset axis.

RnD

Research and development parameter group. Intended for advanced testing scenarios.

Clear file name

Optional text file listing bins to be cleared (reset to zero) in the output before migration begins. Used in advanced restart workflows.

Settings

Bulk data size

Maximum data block size in GB (default: 4 GB) read from disk per processing pass. Increase this if your system has large RAM and you want to reduce the number of disk reads; decrease it if memory is limited.

Dynamic memory GPU

When enabled (default), GPU memory is allocated dynamically as needed rather than pre-allocated. Leave enabled unless you encounter GPU memory fragmentation issues.

SegyReadParams

SEG-Y reading parameters (cache size, byte-swap settings, etc.) controlling how the input file is accessed. In most cases the default values are appropriate.

Output bins bulk size

Number of output bins transferred from each compute node back to the master in a single batch during distributed processing (default: 10000). Larger values reduce network overhead but require more memory on each node.

Write mode { Direct, Append }

Controls how the output file is written. Direct (default) creates a new file or overwrites an existing one. Append adds migrated results to an existing file, enabling restart of a partially completed migration job.

Execute on { CPU, GPU }

Selects the processing hardware. GPU is typically 5–20x faster than CPU for Kirchhoff migration and is the recommended choice when NVIDIA GPUs are available.

Distributed execution

Configuration for cluster/distributed execution. When enabled, migration work is distributed across multiple compute nodes to handle very large 3D surveys.

Bulk size

Minimum number of output bins processed per distributed job chunk. Larger values reduce job scheduling overhead but may reduce load balancing efficiency across nodes.

Limit number of threads on nodes

Maximum number of CPU threads allowed on each compute node. Use this to leave resources available for other processes running on shared cluster nodes.

Job suffix

Optional text suffix appended to the distributed job name, useful for identifying individual migration jobs on a shared cluster.

Set custom affinity

Enables manual CPU core affinity assignment for threads. Leave disabled unless performance tuning on NUMA systems is required.

Affinity

CPU core affinity mask. Only used when Set custom affinity is enabled.

Number of threads

Number of CPU threads to use when executing on CPU. Set to match the number of physical cores available for optimal throughput. Has no effect when GPU execution is selected.

Run scripts

Parameter group for running external scripts before or after this module executes.

Script before run

Path to a script executed automatically before migration starts (e.g. to stage input data or set up directories).

Script after run

Path to a script executed automatically after migration completes (e.g. to archive results or trigger downstream processing).

Skip

When enabled, this module is bypassed without executing, allowing temporary exclusion from a processing flow without deleting it.

Output data

Information

Graphics

Custom actions