CIG picking

<< Click to Display Table of Contents >>

Navigation:  Picking >

CIG picking

 

Description

The CIG picking module performs automatic event picking on Common Image Gathers (CIGs) in the depth domain. It identifies reflector events across all traces of each gather and records their depth positions, producing an OVT picking dataset that can be used for residual moveout analysis, velocity model updating, and depth image quality control.

Two picking algorithms are available. The Traditional Amplitude-Based algorithm identifies events by amplitude extrema, using a seeding pass to locate candidate reflectors, followed by trace-by-trace autopicking and optional filtering to remove spurious picks. The Adaptive Edge Detection algorithm uses Gaussian smoothing and Sobel-based edge detection to delineate reflector boundaries, making it more robust on noisy or structurally complex gathers. Both algorithms support interactive picking on selected inline and crossline positions, as well as batch autopicking across the full survey.

The module displays inline and crossline gather views with overlaid picking, an interactive location map, and optional trimmed-gather views. Picks can be exported to or imported from text files, and the built-in parameter optimizer assists in finding the best autopicking settings for a given dataset.

Input data

Input DataItem

The primary data connection that carries all seismic input data into the module, including gather data, trace headers, and geometry information.

Input SEG-Y data handle

Handle to the SEG-Y file or dataset containing the Common Image Gather (CIG) seismic data to be picked. This defines the source of amplitude values read during both interactive and batch picking.

Input trace headers

Trace header database providing bin coordinates (inline, crossline), offsets, and azimuths for each trace in the CIG dataset. These headers are used to group traces into gathers and to populate the picking location map.

Input gather

The CIG gather data connection providing depth-domain trace samples. This is the primary input from which reflector events are identified and picked.

Input stack line

Optional stacked seismic line used as a reference for 2D surveys. Provides spatial context for gather selection along the seismic line.

Input crooked line

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

Input bin grid

The 3D bin grid definition describing the inline/crossline coordinate system. Used to map seismic bin locations to geographic coordinates in the picking location map.

Input sorted headers

Pre-sorted trace header index used to efficiently group traces by bin for gather assembly during batch picking.

Velocity model

Optional velocity model used to compute and display the expected normal moveout curve alongside the CIG gather. Connecting a velocity model enables the velocity gather view, which overlays the theoretical moveout trajectory on each display gather to help assess gather flatness and guide picking decisions.

Parameters

Seeding

The Seeding group controls how candidate reflector events are identified before trace-by-trace autopicking. The seeding pass stacks traces from each CIG gather (or uses horizon picks as seeds) to locate the dominant amplitude peaks at candidate depth levels. These candidate depths are then used as starting points for the trace-by-trace picking that follows.

Use horizons for seeding

When enabled, pre-existing horizon picks are used as seed depths instead of automatically detecting amplitude peaks. This is useful when the main reflectors of interest are already interpreted, and you want the CIG autopicker to follow those specific events rather than picking all amplitude maxima. When disabled, the module automatically generates seed depths by scanning the gather stack within the specified depth range at the given depth step. Default: disabled.

Input horizons

Connection to the horizon picking dataset to be used as seed depths. Only active when Use horizons for seeding is enabled. Connect one or more interpreted horizon objects here to direct the autopicker to those specific reflectors.

Number of traces for stack

The number of traces from each gather used to create the stack that identifies seed depths. A value of 0 uses all available traces for the stack. Increasing this value improves the signal-to-noise ratio of the seed detection but may also include moveout-shifted energy. Default: 0 (all traces).

Desired depth step

The minimum vertical separation (in meters) between consecutive seed candidates. Reflector peaks detected closer together than this value are merged into a single seed. Increase this value to pick fewer, more widely spaced events; decrease it to allow picking of closely spaced reflectors. Default: 10 m.

Start depth

The shallowest depth (in meters) at which the seeding algorithm begins searching for reflector candidates. Set this to the top of the depth interval of interest to avoid picking shallow noise or multiples. Default: 0 m.

End depth

The deepest depth (in meters) at which seeding is performed. Events below this depth will not be seeded or picked. Set this to the base of the target interval to limit processing time and avoid picking artefacts at depth. Default: 5000 m.

Bin threshold mode { Current/max, Truncate }

Controls how the bin amplitude threshold is applied when selecting seed candidates. Current/max expresses the threshold as a fraction of the maximum amplitude in the current gather stack, allowing the threshold to adapt gather by gather. Truncate applies an absolute amplitude cutoff, discarding any amplitude below the fixed threshold value regardless of local gather amplitude levels. Default: Current/max.

Bin threshold

The amplitude threshold used to qualify seed candidates, expressed as a fraction (0–1) of the maximum amplitude in the gather stack (when mode is Current/max). Candidate depths with stacked amplitude below this fraction of the maximum are rejected and not seeded. Increase this value to restrict picking to only the strongest reflectors; decrease it to allow picking of weaker events. Default: 0.2 (20% of maximum).

Trimming

The Trimming group controls pre-picking gather flattening. Before autopicking, the module can optionally apply a trim correction to each gather so that the reflector events are approximately flat across offset traces. This improves the accuracy of trace-by-trace event tracking because the picker searches for amplitude peaks in a narrower depth window around the seed depth.

Trim type { None, Simple, Advanced }

Selects the trimming algorithm applied to the gather before picking. None disables trimming entirely and picks the raw gather as-is. Simple applies a basic shift-based alignment using a depth-variant table, suitable for gathers with moderate residual moveout. Advanced uses a sliding-window cross-correlation approach with configurable depth and trace windows, suitable for complex gathers with spatially variable residual moveout. Default: None.

Depth variant

A depth-variant table that defines trim parameters as a function of depth. Each row in the table specifies a depth interval (From depth, To depth), the analysis window step size, and the maximum allowable depth shift within that interval. This allows trimming aggressiveness to vary with depth, accommodating different moveout characteristics in shallow and deep sections. Active for both Simple and Advanced trim types.

Overlapping

The depth overlap (in meters) between adjacent analysis windows in the Simple trim algorithm. Overlapping windows help produce smoother trim corrections across the gather, reducing step artefacts at window boundaries. Default: 10 m.

Remove deviations from trend detection

When enabled, traces whose computed trim shift deviates significantly from the spatial trend of shifts across the gather are excluded from the trim. This prevents outlier traces with erratic moveout from distorting the trim correction applied to the whole gather. Default: enabled.

Depth window

The vertical size (in meters) of the sliding analysis window used in the Advanced trim algorithm. This window is centred on each output sample depth to estimate the local trim shift by cross-correlation. Larger values produce smoother but lower-resolution trim corrections. Default: 100 m.

Trace window

The number of neighbouring traces used in the Advanced trim cross-correlation window. Increasing this value makes the trim estimate more stable by averaging over more traces, but may smooth out genuine lateral variation in residual moveout. Default: 0 (uses all traces).

Median

Controls the use of median filtering on the computed trim shifts in the Advanced algorithm. A value of -1 disables median filtering. When set to a positive integer, a median filter of that half-width is applied to the trim shift curve across traces before the trim is applied, suppressing erratic outlier shifts. Default: -1 (disabled).

Sort by offset

When enabled, traces within each gather are sorted by offset before the Advanced trimming step is applied. This ensures the cross-correlation window works along the natural moveout trajectory of the gather.

Interpolation type { 8-points, Linear }

Selects the interpolation method used when applying the computed sub-sample trim shift to each trace. 8-points uses an 8-point sinc-based interpolation, which is more accurate and preserves bandwidth better. Linear uses simple linear interpolation, which is faster but introduces slight amplitude smearing. Default: 8-points.

Number of iterations

The number of iterative trim correction passes applied in the Advanced algorithm. Each iteration refines the trim estimate using the previously trimmed gather. More iterations produce a flatter result but increase computation time. Default: 3.

Autopicking

The Autopicking group controls the trace-by-trace event tracking step. Starting from each seed depth, the algorithm searches each successive trace for the nearest amplitude extremum (matching the polarity of the seed) within a defined depth window, building a connected event across all traces of the gather. The Bridge parameter allows the tracker to skip traces that temporarily lose the event before resuming tracking.

Threshold

The minimum amplitude a pick must have (as a fraction 0–1 of the gather maximum) to be accepted during trace-by-trace tracking. If the amplitude at the candidate pick position on a given trace falls below this threshold, the pick is not made on that trace. Increase this value to reject weak picks; decrease it to allow picking of lower-amplitude events. Default: 0.2 (20% of maximum).

Depth window

The half-size (in meters) of the search window around the previous trace pick depth within which the algorithm searches for the amplitude extremum on the next trace. A larger window allows more moveout variation between traces but increases the risk of the tracker jumping to a wrong event. Set this to approximately half the expected depth shift between adjacent traces. Default: 10 m.

Bridge

The maximum number of consecutive traces on which the amplitude threshold may not be met before the event tracking stops for this seed. A Bridge value greater than zero allows the picker to skip over dead or noisy traces and resume tracking on subsequent traces. Set this to 0 to require a valid pick on every trace with no skipping allowed. Default: 0.

Filtering

The Filtering group defines post-picking quality criteria used to accept or reject individual pick events and individual picks within an event. Events that fail these criteria are removed from the output picking dataset, keeping only geologically consistent, coherent reflector picks.

Use filtering

Master switch that enables or disables all post-picking filtering. When disabled, all picks produced by the autopicker are passed to the output without quality screening. Enable filtering to apply the moveout, amplitude, deviation, and decimation criteria defined in this group. Default: enabled.

Event threshold mode { Current/max, Truncate }

Controls how the event amplitude threshold is interpreted for filtering. Current/max compares each event amplitude to the maximum amplitude found across all picked events in the gather. Truncate applies an absolute amplitude cutoff. Default: Current/max.

Event treshold

Events whose mean pick amplitude falls below this threshold (as a fraction 0–1 of the maximum event amplitude in the gather, when mode is Current/max) are rejected and removed from the output. This removes weak, low-amplitude events that are likely noise or artefacts. Default: 0 (no amplitude-based event rejection).

Min allowed moveout

The minimum allowable moveout slope (in m/km) for a picked event across the gather. Events with an overall depth-vs-trace slope shallower (less negative) than this value are rejected. This filter removes events that appear to dip in the wrong direction (e.g., far-offset picks that go shallower than expected). Default: -100 m/km.

Max allowed moveout

The maximum allowable moveout slope (in m/km) for a picked event. Events with an overall depth-vs-trace slope steeper than this value are rejected as having excessive residual moveout inconsistent with a properly migrated gather. Default: 100 m/km.

Deviation from trend

The maximum depth deviation (in meters) that individual picks within an event are allowed to have from the best-fit linear trend of that event across the gather. Picks deviating by more than this amount are removed from the event as outliers. A smaller value enforces stricter event coherence; a larger value is more tolerant of pick scatter. Default: 100 m.

Decimation

A depth-variant table that controls the lateral decimation of picks. Each row specifies a depth and a decimation factor. A decimation factor of 1 retains all picks; a factor of 2 retains every second pick; and so on. Use this to reduce the density of picks in depth zones where fewer picks are needed, reducing output dataset size without losing spatial coverage in key intervals.

Min number of picks

A depth-variant table specifying the minimum number of valid trace picks required for an event to be retained in the output at each depth. Events with fewer picks than this minimum (e.g., because many traces were rejected by the threshold or moveout filters) are discarded as insufficiently sampled. Default: 1 pick per event.

Current inline

The inline number of the currently selected bin displayed in the inline gather view. Changing this value moves the interactive display to the nearest available inline position. This is typically controlled interactively by clicking on the location map rather than by typing a value directly. Default: 0.

Current crossline

The crossline number of the currently selected bin displayed in the crossline gather view. Like the inline parameter, this is usually set by interacting with the location map. Default: 0.

Inline/Crossline step

The step increment (in number of lines) used when assembling the inline and crossline gather display panels. A step of 1 shows every adjacent line; a step of 10 shows every tenth line. Larger steps create a wider displayed gather spanning a larger lateral range, which can be useful for reviewing spatial consistency of picks. Default: 10.

Advanced

The Advanced group contains display and import/export settings that affect how picks and the map are presented, and how external picks are matched to the current bin grid.

Map step X

The horizontal grid spacing (in meters) used when rendering the bin location map in the X direction. Smaller values produce a finer map grid, while larger values produce a coarser map that renders faster. Default: 50 m.

Map step Y

The vertical grid spacing (in meters) used when rendering the bin location map in the Y direction. Default: 50 m.

Import picking max distance

The maximum horizontal distance (in meters) within which an imported pick from a text file will be matched to a bin in the current survey. Picks from the text file that do not fall within this distance of any bin centre are discarded during import. Default: 1 m.

Seismic view offset precision

Controls the rounding precision (in meters) applied to offset values when displaying traces in the interactive seismic gather views. Traces whose offsets differ by less than this value are treated as equal and displayed in the same column. Default: 1 m.

Seismic view azimuth precision

Controls the rounding precision (in degrees) applied to azimuth values when displaying traces in the interactive seismic gather views. Traces whose azimuths differ by less than this value are grouped together in the same display column. Default: 1 degree.

Settings

Auto-connection

When enabled, g-Platform automatically connects compatible upstream data items to this module's inputs when the module is added to a project. Disable this option if you want to manually control all data connections.

Execute on { CPU, GPU }

Selects whether processing runs on the CPU or GPU. The CIG picking algorithm is multi-threaded and runs on CPU. Select CPU for standard operation.

Distributed execution

Options for distributing the batch autopicking job across multiple nodes in a cluster environment. When enabled, gathers are distributed across available nodes to accelerate full-survey picking.

Bulk size

The number of gathers processed as a single batch chunk during distributed execution. Adjusting this value balances I/O overhead against memory usage per distributed job.

Limit number of threads on nodes

When enabled, limits the number of CPU threads used per distributed node to the value set in the Number of threads parameter.

Job suffix

An optional text suffix appended to the distributed job name for identification in the cluster job queue. Useful when running multiple CIG picking jobs simultaneously with different parameters.

Set custom affinity

When enabled, allows specifying a custom CPU affinity mask for the processing threads, pinning them to specific processor cores for performance tuning on multi-socket systems.

Affinity

The CPU affinity mask applied to processing threads when Set custom affinity is enabled. Consult your system administrator for valid affinity values for your hardware configuration.

Number of threads

The number of parallel CPU threads used during batch autopicking. The CIG picking module processes multiple gathers simultaneously using OpenMP parallelism. Increasing this value speeds up full-survey picking at the cost of higher CPU load. Set to the number of available cores for maximum throughput.

Skip

When enabled, the module skips execution during project recalculation. Use this to temporarily disable autopicking without disconnecting the module from the workflow.

Output data

OVT picking item

The primary output: a structured dataset of all accepted CIG picks stored as OVT (Offset-Vector Tile) picking events. Each event records the bin location (X, Y), depth (Z), and the individual per-trace picks comprising the event. This dataset is consumed by downstream modules such as residual moveout analysis, tomographic velocity updating, or horizon extraction workflows.

Gather inline

An interactive seismic display gather showing CIG traces assembled along the current inline, with overlaid autopick markers. Use this view to visually assess picking quality, manually add or delete picks, and navigate to different inline positions via the location map.

Gather velocity inline

An inline gather display coloured or overlaid with velocity information derived from the connected velocity model. This view allows direct comparison of pick depths against the expected moveout trajectory, helping to evaluate whether the velocity model correctly flattens the gathers.

Gather inline trimmed

The inline gather after the trim correction has been applied, showing the gather as seen by the autopicker. Compare this view with the raw inline gather to evaluate how well the trimming flattened the reflectors before picking.

Gather crossline

An interactive seismic display gather showing CIG traces assembled along the current crossline, with overlaid autopick markers. This view provides a perpendicular cross-section of picking quality relative to the inline view.

Gather velocity crossline

The crossline gather with velocity model overlay, analogous to the Gather velocity inline view but along the crossline direction.

Gather crossline trimmed

The crossline gather after trim correction has been applied, analogous to the Gather inline trimmed view but along the crossline direction.

Information

Graphics

Custom actions

Update location map

Refreshes the bin location map display, redrawing all bin positions and existing picks. Use this action after navigating to a new area or after making manual edits to picks to synchronize the map view with the current picking state.

Autopick selected inline/crossline

Runs the autopicking algorithm on all gathers within the currently selected inline and crossline. This is faster than a full-survey run and is the recommended way to test and tune picking parameters on a representative section before committing to a full-survey batch autopick.

Export picking to text file

Exports the current picking dataset (all accepted events and their per-trace picks) to an ASCII text file. The text file can be used for archiving, exchange with other software, or as a basis for manual editing before re-importing into the project.

Import picking from text file

Imports a picking dataset from a previously exported text file into the current module. Each pick in the file is matched to the nearest bin within the distance defined by the Import picking max distance parameter. Use this action to bring in externally edited or merged pick datasets.

Clear picking

Removes all current picks from the module, resetting the picking dataset to empty. Use with caution — this action cannot be undone. Run this before a fresh full-survey autopick to start from a clean state.