[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [seismic](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic) / [data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#data) / [snap](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#snap) / [SnapPicker](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#snappicker) / SnapPicker

# Class: SnapPicker

[snap](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#snap).[SnapPicker](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#snappicker).SnapPicker

This class provides utility function to retrieve a seismic sample from a pipeline at a given coordinate.
It will snap to the closest sample center.

## Table of contents

Constructors
- [new SnapPicker()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.data-3.snap.snappicker.snappicker.md#new snappicker())


Methods
| [pickSample](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.snap.snappicker.snappicker#picksample) | [pickTraceSampleIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.snap.snappicker.snappicker#picktracesampleindex) |
|  --- | --- |


## Contents

Constructors
#### new SnapPicker()

• **new SnapPicker**()

Methods
#### pickSample

▸ `Static` **pickSample**(`x`, `y`, `strategy`, `pipeline`, `target`, `callback`): `void`

Pick sample at specified coordinate
<p> If pipeline is set to be used server-side rendering then this method tries to
call pickSample of [IServerSideRenderingProvider](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.iserversiderenderingprovider.iserversiderenderingprovider).</p>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number` | x coordinate for picking sample (in seismic model space) |
| `y` | `number` | y coordinate for picking sample (in seismic model space) |
| `strategy` | `string` | [`SnapPickingStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.snap.snappickingstrategy.snappickingstrategy) | used for picking |
| `pipeline` | [`SeismicPipeline`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.pipeline.seismicpipeline.seismicpipeline) | seismic pipeline |
| `target` | `any` | instance of callback owner |
| `callback` | [`pickSampleCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.snap.picksamplecallback#picksamplecallback) | This function called when data is ready. It accepts trace number, trace header, sample index, sample value |


#### Returns

`void`

#### pickTraceSampleIndex

▸ `Static` **pickTraceSampleIndex**(`traceIndex`, `sampleIndex`, `strategy`, `pipeline`, `target`, `callback`): `void`

Pick sample at specified trace and sample index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `traceIndex` | `number` | trace |
| `sampleIndex` | `number` | index of the sample |
| `strategy` | [`SnapPickingStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.snap.snappickingstrategy.snappickingstrategy) | strategy used for picking |
| `pipeline` | [`SeismicPipeline`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.pipeline.seismicpipeline.seismicpipeline) | seismic pipeline |
| `target` | `any` | instance of callback owner |
| `callback` | [`pickSampleCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.snap.picksamplecallback#picksamplecallback) | This function is called when data is ready. It accepts trace number, trace header, sample index, sample value |


#### Returns

`void`