[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) / [SegyReader](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#segyreader) / SegyReader

# Class: SegyReader

[data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#data).[SegyReader](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#segyreader).SegyReader

Defines reader of local SEG-Y files.

## Hierarchy

- [`AbstractSegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader)
↳ **`SegyReader`**


## Table of contents

Constructors
| [new SegyReader(file, options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader.md#new segyreader(file, options)) | [new SegyReader(file, options, samplePower, nullValue, fileName)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader.md#new segyreader(file, options, samplepower, nullvalue, filename)) |
|  --- | --- |


Methods
| [clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#clone) | [copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#copyconstructor) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#dispose) |
|  --- | --- | --- |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getclassname) | [getDataFormat](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getdataformat) | [getFileSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getfilesize) |
| [getMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getmetadata) | [getModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getmodellimits) | [getNullValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getnullvalue) |
| [getNumberOfSamples](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getnumberofsamples) | [getNumberOfTraces](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getnumberoftraces) | [getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getoptions) |
| [getOriginalMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getoriginalmetadata) | [getSampleRate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getsamplerate) | [getSeismicFile](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getseismicfile) |
| [getSeismicFileName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getseismicfilename) | [getSeismicStream](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getseismicstream) | [getStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getstatistics) |
| [getTaskScheduler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#gettaskscheduler) | [getTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#gettimestamp) | [getTraceHeaderFields](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#gettraceheaderfields) |
| [getTraceOffset](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#gettraceoffset) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#haseventlistener) | [invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#invalidate) |
| [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#isdisposed) | [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#issilent) | [loadMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#loadmetadata) |
| [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#notify) | [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#off) | [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#on) |
| [queryInterface](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#queryinterface) | [readBinarySection](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#readbinarysection) | [readDataSetStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#readdatasetstatistics) |
| [readTraceIndices](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#readtraceindices) | [readTraceRange](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#readtracerange) | [select](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#select) |
| [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#setsilent) | [setStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#setstatistics) | [update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#update) |
| [updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#updatetimestamp) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader#getclassname-1) |


## Contents

Constructors
#### new SegyReader(file, options)

• **new SegyReader**(`file`, `options?`)

Creates reader

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `file` | [`IReadable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable) | [`LocalFile`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.localfile.localfile) | The file object |
| `Optional` `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#segyreader#options) | options or instance of format to specify the trace data format and location of headers |


#### Overrides

AbstractSegyReader.constructor

#### new SegyReader(file, options, samplePower, nullValue, fileName)

• **new SegyReader**(`file`, `options?`, `samplePower?`, `nullValue?`, `fileName?`)

Creates reader

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `file` | [`IReadable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable) | [`LocalFile`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.localfile.localfile) | The file object |
| `Optional` `options` | [`SeismicFormat`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicformat.seismicformat) | - 
 |
| `Optional` `samplePower` | `number` | sample power |
| `Optional` `nullValue` | `number` | null value |
| `Optional` `fileName` | `string` | file name |


#### Overrides

AbstractSegyReader.constructor

Methods
#### clone

▸ **clone**(): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Return clone of the reader

#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

#### copyConstructor

▸ `Protected` **copyConstructor**(`src`, `deepCopy?`): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Copy constructor function.<br>
Function used as part of the cloning mechanism.<br>
Implementations should copy the given instance state to this instance.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `src` | [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader) | Source to copy from |
| `Optional` `deepCopy` | `boolean` | deep copy |


#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

this

#### Overrides

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#copyconstructor)

#### dispose

▸ **dispose**(): `void`

Dispose.

#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#dispose)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getclassname)

#### getDataFormat

▸ **getDataFormat**(): [`SeismicFormat`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicformat.seismicformat)

Return SEG-Y data format

#### Returns

[`SeismicFormat`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicformat.seismicformat)

seismic data format

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getDataFormat](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getdataformat)

#### getFileSize

▸ **getFileSize**(): `number`

Return file size in bytes

#### Returns

`number`

#### Overrides

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getFileSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getfilesize)

#### getMetaData

▸ **getMetaData**(): [`SeismicMetaData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicmetadata.seismicmetadata)

Returns seismic meta data information

#### Returns

[`SeismicMetaData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicmetadata.seismicmetadata)

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getmetadata)

#### getModelLimits

▸ **getModelLimits**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Returns seismic model limits

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getmodellimits)

#### getNullValue

▸ **getNullValue**(): `number`

Returns null value

#### Returns

`number`

null value

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getNullValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getnullvalue)

#### getNumberOfSamples

▸ **getNumberOfSamples**(): `number`

Returns number of samples

#### Returns

`number`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getNumberOfSamples](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getnumberofsamples)

#### getNumberOfTraces

▸ **getNumberOfTraces**(): `number`

Returns number of traces

#### Returns

`number`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getNumberOfTraces](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getnumberoftraces)

#### getOptions

▸ **getOptions**(): `any`

Returns supported extra options

#### Returns

`any`

options options

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getoptions)

#### getOriginalMetaData

▸ **getOriginalMetaData**(): [`SeismicMetaData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicmetadata.seismicmetadata)

Returns seismic original meta data information before any decimation

#### Returns

[`SeismicMetaData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicmetadata.seismicmetadata)

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getOriginalMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getoriginalmetadata)

#### getSampleRate

▸ **getSampleRate**(): `number`

Returns sample rate

#### Returns

`number`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getSampleRate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getsamplerate)

#### getSeismicFile

▸ `Protected` **getSeismicFile**(): [`LocalFile`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.localfile.localfile)

Returns file

**`Deprecated`**

since 5.0 use getSeismicStream instead

#### Returns

[`LocalFile`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.localfile.localfile)

#### getSeismicFileName

▸ **getSeismicFileName**(): `string`

Returns file name

#### Returns

`string`

#### getSeismicStream

▸ `Protected` **getSeismicStream**(): [`IReadable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable)

Returns stream

#### Returns

[`IReadable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.ireadable.ireadable)

#### getStatistics

▸ **getStatistics**(): [`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics)

Return the currently computed seismic statistics. <br>
<b>Important Note:</b> SEGY Statistics are computed lazily, and first require a call to async method readDataSetStatistics(callback).
If statistics are not updated, defaults values will be returned instead and will <b>not</b> reflect the actual stats.

#### Returns

[`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics)

min, max, average, rms

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getstatistics)

#### getTaskScheduler

▸ `Protected` **getTaskScheduler**(): [`TaskScheduler`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.taskscheduler.taskscheduler)

Returns task scheduler

#### Returns

[`TaskScheduler`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.taskscheduler.taskscheduler)

the task scheduler

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getTaskScheduler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#gettaskscheduler)

#### getTimeStamp

▸ **getTimeStamp**(): `number`

Return the value to indicate if data was changed

#### Returns

`number`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#gettimestamp)

#### getTraceHeaderFields

▸ **getTraceHeaderFields**(): [`FieldDesc`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.fielddesc.fielddesc)[]

Returns an array of field descriptors for the dataset read by this
seismic reader.

#### Returns

[`FieldDesc`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.fielddesc.fielddesc)[]

array of header descriptors

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getTraceHeaderFields](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#gettraceheaderfields)

#### getTraceOffset

▸ `Protected` **getTraceOffset**(`traceId`): `number`

Return offset in the SEG-Y file

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `traceId` | `number` | trace id |


#### Returns

`number`

position in the file in bytes

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getTraceOffset](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#gettraceoffset)

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

Check if a list of event listeners for this type contains this listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#haseventlistener)

#### invalidate

▸ **invalidate**(`rect?`): `void`

Invalidate data and notify that data is changed

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `rect` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | optional area of tracers and samples to invalidate. It is not supported now |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#invalidate)

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#isdisposed)

#### isSilent

▸ **isSilent**(): `boolean`

Return true if the event dispatcher doesn't notify any events

#### Returns

`boolean`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#issilent)

#### loadMetaData

▸ **loadMetaData**(`callback`): `void`

Load [SeismicMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicmetadata.seismicmetadata) seismic meta data

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | (`reader`: [`SeismicReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicreader.seismicreader)) => `void` | method to be called when data is ready |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[loadMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#loadmetadata)

#### notify

▸ **notify**<`E`&gt;(`type`, `source`, `args?`): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Notify listeners

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | event types |
| `source` | [`SeismicReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.seismicreader.seismicreader) | of the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicreader#eventmap)[`E`] | arguments of the event |


#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

this

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#notify)

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Detach listener on event.
Calling .off() with no arguments removes all attached listeners.
Calling .off(type) with no callback removes all attached listeners for specific type.

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicreader#eventmap)[`E`]) => `void` | function to be called |


#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

this

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Attach listener on event that will be called whenever the specified event is delivered to the target
<p>
If the callback function is already in the list of event listeners for this target,
the function is not added a second time.
</p>
<p>
If a particular anonymous function is in the list of event listeners registered for a
certain target, and then later in the code, an identical anonymous function is given
in an "on" call, the second function will also be added to the list of
event listeners for that target.
</p>

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicreader#eventmap)[`E`]) => `void` | to be called |


#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

this

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#on)

#### queryInterface

▸ **queryInterface**<`T`&gt;(`someInterface`): `InstanceType`<`T`&gt;

Returns interface, if reader can provide it

#### Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends [`Constructor`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#constructor)<`any`&gt; |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `someInterface` | `T` | interface |


#### Returns

`InstanceType`<`T`&gt;

internal instance of this interface

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[queryInterface](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#queryinterface)

#### readBinarySection

▸ **readBinarySection**(`callback`, `start`, `end`): `void`

Read a binary section

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | [`ReadBinarySectionCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#abstractsegyreader#readbinarysectioncallback) | callback function |
| `start` | `number` | start position in bytes |
| `end` | `number` | end position in bytes |


#### Returns

`void`

#### Overrides

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[readBinarySection](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#readbinarysection)

#### readDataSetStatistics

▸ **readDataSetStatistics**(`callback`, `calcTraces?`): `void`

Asynchronously read SEG-Y statistics. This method reads maximum calcTraces from data and calculate statistics based on it. <br>
This method must be called to initialize statistics, in order for getStatistics() to return the right values.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | (`reader`: [`AbstractSegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader), `statistics`: [`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics)) => `void` | method to be called when statistics will be calculated. |
| `Optional` `calcTraces` | `number` | number of traces to calculate statistics |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[readDataSetStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#readdatasetstatistics)

#### readTraceIndices

▸ `Protected` **readTraceIndices**(`traceIndices`): `Promise`<`Uint8Array`[] | `ArrayBuffer`[]&gt;

This methods is called if it is necessary to read a individual traces.
The default implementation calls readBinarySection for each trace in a parallel. The solve of
promise can return a array of binary data for each trace or one buffers with data for all requested traces

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `traceIndices` | `number`[] | array on trace indices to be loaded |


#### Returns

`Promise`<`Uint8Array`[] | `ArrayBuffer`[]&gt;

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[readTraceIndices](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#readtraceindices)

#### readTraceRange

▸ `Protected` **readTraceRange**(`traceFrom`, `traceTo`): `Promise`<`ArrayBuffer` | `Uint8Array`&gt;

This methods is called if it is necessary to read a trace range.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `traceFrom` | `number` | from trace |
| `traceTo` | `number` | from trace |


#### Returns

`Promise`<`ArrayBuffer` | `Uint8Array`&gt;

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[readTraceRange](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#readtracerange)

#### select

▸ **select**(`query`, `callback`): `void`

Returns seismic trace section

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `query` | [`SelectQuery`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicdata#selectquery) | a query in JSON format. Should contain parameters relevant to the trace, such as &quot;from&quot;, &quot;to&quot;, &quot;headers&quot;, and &quot;samples&quot; |
| `callback` | [`SelectCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicdata#selectcallback) | callback to be called then section is loaded. This method has [QueryResult](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.queryresult.queryresult) |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[select](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#select)

#### setSilent

▸ **setSilent**(`bool`): [`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`SegyReader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.segyreader.segyreader)

this

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#setsilent)

#### setStatistics

▸ **setStatistics**(`statistics`): `void`

Sets statistics

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `statistics` | [`Statistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic.data-3.statistics#statistics) | min, max, average, rms |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[setStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#setstatistics)

#### update

▸ **update**(`options?`, `callback?`): `void`

Update seismic query and returns meta information

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | `Record`<`string`, `any`&gt; | this specifies the condition of the request |
| `Optional` `callback` | [`UpdateCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#seismicreader#updatecallback) | method to be called when data is ready |


#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#update)

#### updateTimeStamp

▸ `Protected` **updateTimeStamp**(): `void`

Update time stamp

#### Returns

`void`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#updatetimestamp)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractSegyReader](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.abstractsegyreader.abstractsegyreader#getclassname-1)