Normalize

<< Click to Display Table of Contents >>

Navigation:  Amplitudes >

Normalize

 

Description

The Normalize module adjusts the amplitude levels of seismic gathers to a common reference scale. It removes trace-to-trace and gather-to-gather amplitude variations caused by near-surface effects, acquisition inconsistencies, or geometric spreading, making it easier to compare and interpret seismic data visually and quantitatively.

Two normalization strategies are available. In Auto normalization mode, the module computes a scalar divider from the gather's amplitude distribution (optionally clipping outliers), then scales all samples so that the characteristic amplitude equals the user-specified target. This workflow can be split into a separate calculation pass and an application pass, which is useful when the same divider must be applied to multiple datasets. When Auto normalization is disabled, the module normalizes each gather individually so that its maximum absolute amplitude equals 1, providing a simple per-gather equalization.

Use this module before stacking, inversion, or any amplitude-sensitive process where balanced trace amplitudes are required.

Input data

Input DataItem

The primary data connection carrying the seismic dataset to be processed. Connect this to the output of the preceding module in the processing flow.

Input SEG-Y data handle

An optional handle to the associated SEG-Y file, used to pass file-level metadata through the processing chain without modification.

Input trace headers

The trace header vector associated with the input gather. Header values (such as offsets, CDP numbers, and coordinates) are preserved unchanged and passed through to the output.

Input gather

The seismic gather (a collection of traces) whose amplitudes will be normalized. The module processes one gather at a time.

Input stack line

Optional stack line geometry object passed through for downstream modules that require line-level geometry information.

Input crooked line

Optional crooked-line geometry descriptor passed through to downstream processing steps.

Input bin grid

Optional 3D bin grid object passed through the chain. Required only when downstream modules need grid-based coordinate information.

Input sorted headers

Optional sorted header index vector passed through from upstream sorting or indexing modules.

Parameters

Multichannel

Auto normalization (default: on) — When enabled, the module computes a normalization scalar from the amplitude distribution of each gather and applies it to scale amplitudes to a target level. The scalar is derived by sorting all sample values and selecting the characteristic amplitude at the specified clip rate percentile, excluding extreme outliers. When disabled, the module normalizes each gather so that its peak absolute amplitude equals 1, providing a simple maximum-normalization without outlier rejection.

Work mode (default: Calculate and apply) — Controls whether the module calculates the normalization scalar, applies a previously calculated scalar, or does both in a single pass. Available only when Auto normalization is enabled.

Choose Calculate and apply for the standard single-pass workflow. Choose Calculate when you want to inspect the computed divider (written to the Output divider item) before applying it. Choose Apply when a divider has already been calculated and you wish to apply a fixed scalar (set via Input divider) to a new dataset.

Clip rate (default: 0.01, range: 0–1) — The fraction of the amplitude distribution trimmed from each tail before computing the normalization scalar. For example, a value of 0.01 excludes the lowest 1% and highest 1% of sample amplitudes, so that the scalar is determined by the 99th-percentile amplitude rather than by isolated noise spikes or clipped values. Available in Calculate and Calculate and apply modes. Increase this value in noisy data to prevent high-amplitude noise from controlling the scalar; keep it near zero when the data is clean and you want to preserve true amplitude relationships.

Sparse (default: 1, minimum: 1) — Subsampling stride used during the scalar calculation phase. A value of 1 uses every sample; a value of 2 uses every other sample; and so on. Increasing this value speeds up the calculation on large gathers with little impact on accuracy, since the amplitude distribution is statistically representative even when sampled. Available in Calculate and Calculate and apply modes.

Target amplitude (default: 1.0, range: 1e-9 to 1e9) — The desired output amplitude level. After normalization, the characteristic amplitude of each gather (as determined by the clip rate) is scaled to this value. Set to 1.0 for unit-normalized output. Use a larger value if downstream processing expects amplitudes in a specific physical unit range. Available in Calculate and apply and Apply modes.

Input divider (default: 1.0, range: 1e-9 to 1e9) — A fixed normalization scalar to apply when Work mode is set to Apply. Set this to the Output divider value produced by a prior Calculate pass. All samples in the gather are multiplied by (Target amplitude / Input divider).

Settings

Auto-connection

When enabled, g-Platform automatically connects this module to adjacent modules in the processing flow based on compatible data types. Disable this option if you need to manually control data routing.

Bad data values option { Fix, Notify, Continue }

Specifies how the module handles invalid (NaN, infinite, or flagged bad) amplitude values in the input data. Fix replaces bad values with zeros. Notify logs a warning and continues. Continue silently passes bad values through without intervention.

Calculate relation

When enabled, the module computes the amplitude relation (ratio) between the input and output gathers and writes it to the Amplitude relation output item. Use this option when you want to track or archive the applied normalization scalars for quality control or subsequent inversion of the normalization.

Execute on { CPU, GPU }

Selects the processing hardware. CPU execution uses multi-threaded processing controlled by the Number of threads setting. Select GPU if a compatible graphics card is available and you are processing very large gathers where GPU acceleration provides a throughput benefit.

Distributed execution

Enables distribution of the normalization workload across multiple processing nodes in a g-Platform cluster. When active, the Bulk size, Limit number of threads on nodes, and Job suffix parameters become available to control the distributed job.

Bulk size

The minimum number of gathers sent to each processing node in a single distributed job chunk. Larger values reduce inter-node communication overhead but increase memory usage per node. Tune this value based on available node memory and the size of individual gathers.

Limit number of threads on nodes

When enabled, restricts the number of CPU threads used on each remote processing node. Use this setting on shared cluster nodes to avoid monopolizing resources needed by other concurrent jobs.

Job suffix

An optional text label appended to the distributed job name. Use this to distinguish multiple concurrent normalization jobs running on the same cluster, making them easier to identify in the job monitoring interface.

Set custom affinity

When enabled, exposes the Affinity field, which allows you to pin this module's processing threads to specific CPU cores. Useful on NUMA systems or when CPU cache performance is critical.

Affinity

Specifies the CPU core affinity mask for this module's processing threads. Active only when Set custom affinity is enabled. Consult your system administrator for the correct affinity values for your hardware configuration.

Number of threads

The number of CPU threads used for parallel processing. The normalization scaling loop is parallelized across traces, so increasing this value improves throughput on gathers with many traces. Set to the number of available physical cores for best performance, or reduce it to leave resources for other processes.

Skip

When enabled, the module passes all input data through to the output without performing any normalization. Use this option to temporarily bypass the module during testing or to compare normalized and unnormalized results within the same processing flow.

Output data

Output DataItem

The primary data connection carrying the amplitude-normalized seismic dataset. Connect this to the input of the next module in the processing flow.

Output SEG-Y data handle

The SEG-Y file handle passed through unchanged. Connect to downstream modules that require access to the original SEG-Y file metadata.

Output trace headers

The trace header vector, preserved unchanged from the input. All geometry, sorting, and identification fields in the headers remain intact.

Output gather

The normalized seismic gather. Amplitudes have been scaled so that the characteristic amplitude of the gather matches the target amplitude. The number of traces and samples is identical to the input.

Output stack line

The stack line geometry object passed through unchanged to downstream modules.

Output crooked line

The crooked-line geometry descriptor passed through unchanged to downstream modules.

Output bin grid

The 3D bin grid object passed through unchanged to downstream modules.

Output sorted headers

The sorted header index vector passed through unchanged to downstream modules.

Amplitude relation

The computed normalization scalar (divider) that was applied to the gather. This value equals the characteristic amplitude of the input gather at the chosen clip rate percentile. It is populated when Work mode is set to Calculate or Calculate and apply, and when the Calculate relation setting is enabled. Connect this output to the Input divider of a subsequent Normalize module set to Apply mode to reproduce the same normalization on another dataset.

Information

Graphics

Custom actions