Autodetect reverse polarity gathers

<< Click to Display Table of Contents >>

Navigation:  Phase >

Autodetect reverse polarity gathers

 

Description

This module automatically identifies source gathers that have been recorded with reversed polarity — a condition in which the initial ground motion arrives with the opposite amplitude sign compared to neighboring sources. Reversed polarity gathers cause phase inconsistencies in stacked data and must be corrected before applying surface-consistent statics or other amplitude-sensitive processing steps.

Detection is based on first-break amplitude polarity analysis. For each source gather the module applies a Linear Moveout (LMO) correction, crops the gather to a near-offset window around the source, and examines the sign of the first-break amplitude on each trace. The dominant polarity sign across all traces is used to classify the source gather as normal or reversed. An optional spike-removal step smooths isolated outliers in the polarity sequence before the results are stored in output trace headers.

After running the automatic detection, you can review results interactively in the built-in gather viewers and map display, and correct any misclassified sources manually before applying the detection to the output trace headers. Use Execute auto-detection to run the analysis, Apply auto-detection to commit the results to the output headers, and Clear auto-detection to reset all sources to the normal (non-reversed) state.

Input data

Input DataItem

The project data item that links this module to the seismic dataset in the processing sequence.

Input SEG-Y data handle

The SEG-Y file handle used to read seismic trace amplitudes for each source gather during detection. This must be connected to the input seismic data file.

Input trace headers

The trace header database for the input dataset. This provides source and receiver geometry information (coordinates, offsets, sort keys) required to group traces into source gathers and to apply LMO corrections.

Input gather

The input seismic gather fed into the processing sequence. This connection carries the seismic data through the module during batch execution.

Input stack line

The 2D stack line geometry, used when processing 2D land seismic data.

Input crooked line

The crooked line geometry for 2D surveys with non-straight acquisition lines.

Input bin grid

The 3D bin grid geometry definition, used when processing 3D surveys.

Input sorted headers

Pre-sorted trace index used to efficiently retrieve gathers from the SEG-Y file in source-gather order.

Parameters

Sort by { SOURCE_SP, FFID, SOURCE_SEQ }

The trace header field used to identify and group traces into individual source gathers. Choose the field that uniquely identifies each source point in your dataset:

SOURCE_SP — sort by shotpoint number (default; most common for land surveys).

FFID — sort by Field File Identifier, typically the shot record number from the recording instrument.

SOURCE_SEQ — sort by sequential source number as assigned in the geometry database.

Changing this setting clears any previously computed detection results and rebuilds the source gather map.

Traces from center

The number of traces to include on each side of the near-offset (zero-offset) trace when cropping a source gather for polarity analysis. Only traces within this symmetric window around the center of the spread are used for first-break detection. Default: 1000 traces (effectively the full gather for most surveys). Reduce this value on data with very large spreads to focus the analysis on near-offset traces where first breaks are cleaner and polarity is most reliable.

T0

The zero-offset intercept time (in ms) applied as part of the Linear Moveout correction. This value shifts the LMO time curve up or down to align the first-break wavelet across all traces when computing near-zero offset. Default: 0 ms. Set a non-zero value if your near-surface model requires a time offset at zero source-receiver distance.

LMO Velocity

The apparent velocity (in m/s) used for the Linear Moveout correction applied to each source gather before polarity detection. Setting this to the approximate near-surface refractor velocity aligns the first-break arrivals across all traces, making the polarity comparison between adjacent sources more robust. Default: 2000 m/s. Adjust to match the dominant refraction velocity observed in your first-break picks.

From time

The start of the time window (in ms) within which first-break polarity analysis is performed after LMO. Only the portion of each trace within the window defined by From time and To time is included in the cropped gather. Default: 0 ms (beginning of the trace). Set this to exclude noisy pre-trigger samples if present.

To time

The end of the analysis time window (in ms). Trace data beyond this time is excluded from the polarity detection. Default: 5000 ms. Set this value to just beyond the latest expected first-break time in your survey to avoid including reflection energy in the analysis window.

Taper

The length (in ms) of a cosine taper applied to both ends of the cropped time window. The taper smoothly ramps the amplitude to zero at the window edges, reducing edge effects in the analysis. Default: 50 ms. Increase if you observe ringing or instability caused by hard window truncation.

Max shift

The maximum allowed time shift (in samples) when comparing adjacent source gathers. This limits the search range for any alignment step between neighboring gathers. Default: 5 samples. This value is automatically rounded up to the nearest odd number to ensure a symmetric search window.

Percent of max ampl to detect FB

The amplitude threshold for automatic first-break detection, expressed as a fraction of the maximum amplitude on each trace. A sample is identified as the first break when its absolute amplitude exceeds this fraction of the trace maximum. Default: 0.2 (20% of the maximum amplitude). Increase this value on noisy data to avoid false detections caused by noise spikes before the true first break; decrease it on data with low signal-to-noise ratio near the first arrival.

Do not detect first samples

The number of samples at the beginning of each trace to skip before searching for the first break. This prevents the algorithm from picking instrument noise or recording artefacts that appear at the very start of the trace. Default: 5 samples. Increase this value if your data has a known early-sample artefact or DC bias that could trigger a false first-break detection.

Source position correction { None, Positive, Negative }

Controls whether the gather cropping window is shifted to account for the lateral offset between adjacent sources. When sources are not colocated, the near-offset window of one gather does not correspond to the same physical receivers as the adjacent gather. This parameter compensates by trimming traces from the edge of the window proportional to the source-to-source distance divided by the average receiver interval.

None (default) — no position correction is applied.

Positive — trim traces from the positive-offset side of the window.

Negative — trim traces from the negative-offset side of the window.

Remove spikes

When enabled, isolated polarity reversals in the source sequence are suppressed after detection. If a single source has the opposite polarity sign to both its preceding and following neighbours, it is reclassified to match those neighbours. This removes spurious single-shot polarity detections caused by noisy data or poor first-break signal on an individual source. Default: enabled. Disable this option only if you expect genuinely isolated single-shot polarity reversals in your dataset.

Channel for QC

The receiver channel number to display in the quality control gather view. When a channel is selected, the module builds a common-receiver gather (all sources recorded at that channel) and displays it both before and after polarity correction, allowing you to visually verify the detection results. Default: 0 (nearest available channel). Use the W and S keys in the gather view to step to the next or previous channel, and the A and D keys to navigate between sources within the channel gather.

Bad amplitude sign is { Positive, Negative }

Defines which first-break polarity sign indicates a reversed gather. Sources whose dominant first-break amplitude has this sign will be flagged as reversed. Default: Positive. Change to Negative if in your acquisition the normal (non-reversed) first break has a positive polarity. This setting also controls the polarity label written to the output trace headers and the behaviour of manual editing in the QC gather view.

Settings

Auto-connection

When enabled, this module automatically connects to compatible upstream and downstream modules in the processing sequence, removing the need to manually wire data connections.

Execute on { CPU, GPU }

Selects whether the module runs on the CPU or an available GPU. GPU execution can accelerate processing when handling large datasets with many source gathers.

Distributed execution

Configures distributed (cluster) execution options, enabling the module to run across multiple processing nodes for large surveys.

Bulk size

The minimum number of gathers processed together as a single work unit. Larger bulk sizes improve throughput on high-latency storage but require more memory.

Limit number of threads on nodes

Restricts the number of CPU threads used per compute node during distributed execution. Use this setting to avoid resource contention when multiple jobs share the same node.

Job suffix

An optional text label appended to the job name when submitting to a cluster scheduler. Use this to distinguish runs with different parameters in the job queue.

Set custom affinity

Enables manual control over CPU core affinity for this module. When disabled, the operating system assigns threads to cores automatically.

Affinity

Specifies the CPU core mask or core list to which this module's threads are bound. Only active when Set custom affinity is enabled.

Number of threads

The number of CPU threads to use for parallel processing. Increasing this value speeds up the LMO and cropping steps applied to each source gather. Leave at the default to use all available CPU cores.

Skip

When enabled, this module is bypassed and data passes through unchanged. Use this setting to temporarily disable the module without removing it from the processing sequence.

Output data

Output DataItem

The output project data item passed to the next module in the processing sequence.

Output SEG-Y data handle

The SEG-Y file handle passed downstream. The seismic amplitude data itself is not modified; polarity information is stored in trace headers.

Output trace headers

The updated trace header database. After Apply auto-detection is executed, each trace in this output carries two additional header fields: AMPL_SIGN_FOR_SOURCE_AUTO (the automatically detected polarity flag for the source, +1 or -1) and AMPL_SIGN_FOR_SOURCE_MANUAL (the final polarity flag after manual corrections). Downstream modules — such as a polarity correction or phase-flip module — can read these headers to apply the appropriate sign reversal to flagged gathers.

Output gather

The seismic gather passed to the next module. Amplitude values are not modified by this module; polarity correction based on the output headers must be applied by a separate downstream step.

Output stack line

The 2D stack line geometry passed downstream unchanged.

Output crooked line

The crooked 2D line geometry passed downstream unchanged.

Output bin grid

The 3D bin grid geometry passed downstream unchanged.

Output sorted headers

The sorted trace index passed downstream for use by subsequent modules that require sorted access to the data.

Information

Graphics

Custom actions

Execute auto-detection

Runs the full automatic polarity detection across all source gathers. For each source the module reads and caches the gather, applies LMO, crops to the near-offset window, and classifies the dominant first-break polarity sign. The results are stored internally and displayed in the map and gather QC views, but are not yet written to the output trace headers. Use this action first, then review the results and apply manual corrections if needed before clicking Apply auto-detection.

Apply auto-detection

Commits the current auto-detection results (including any manual corrections made in the QC views) to the output trace headers. For each trace the automatic polarity flag (AMPL_SIGN_FOR_SOURCE_AUTO) is copied into the manual polarity flag (AMPL_SIGN_FOR_SOURCE_MANUAL), which is the field read by downstream polarity-correction modules. Run this action after you are satisfied with the detection results.

Clear auto-detection

Resets all polarity flags to the normal (non-reversed) state. The manual polarity header (AMPL_SIGN_FOR_SOURCE_MANUAL) is set to the good-polarity sign (as defined by the Bad amplitude sign is parameter) for every trace. Use this action to undo a previous Apply auto-detection or to start the detection process over from scratch.