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

# Class: DataTransformRegistry

[data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#data).[DataTransformRegistry](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#datatransformregistry).DataTransformRegistry

Defines a singleton registry for the available data transforms.

## Table of contents

Constructors
- [new DataTransformRegistry()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry.md#new datatransformregistry())


Methods
| [getAvailableDataTransforms](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getavailabledatatransforms) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getclassname) | [getDataTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getdatatransform) |
|  --- | --- | --- |
| [getWasmEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getwasmenabled) | [isEmpty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#isempty) | [onReady](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#onready) |
| [postProcess](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#postprocess) | [preProcess](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#preprocess) | [register](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#register) |
| [setWasmEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#setwasmenabled) | [unregister](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#unregister) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getclassname-1) |
| [getInstance](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry#getinstance) |


## Contents

Constructors
#### new DataTransformRegistry()

• **new DataTransformRegistry**()

Methods
#### getAvailableDataTransforms

▸ **getAvailableDataTransforms**(): `string`[]

Gets the names of all the registered data transforms.

#### Returns

`string`[]

The names of all the trace processors.

#### getClassName

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

#### Returns

`string`

#### getDataTransform

▸ **getDataTransform**(`dataTransformName`): [`DataTransformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformation.datatransformation)

Gets a new instance of a data transform that is registered with a given name.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `dataTransformName` | `string` | The name of the data transform. |


#### Returns

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

A new instance of the class that performs data transformation.

#### getWasmEnabled

▸ **getWasmEnabled**(): `boolean`

Returns true if WebAssembly is used for decompression

#### Returns

`boolean`

#### isEmpty

▸ **isEmpty**(): `boolean`

Returns true if registry doesn't have any data transformers

#### Returns

`boolean`

#### onReady

▸ **onReady**(): `Promise`<`void`&gt;

Returns promise that will be resolved when data transform is ready

#### Returns

`Promise`<`void`&gt;

#### postProcess

▸ **postProcess**(`data`): [`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

Process data after decompression

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `data` | [`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray) | data |


#### Returns

[`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

#### preProcess

▸ **preProcess**(`data`): [`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

Process data before decompression

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `data` | `ArrayBuffer` | data |


#### Returns

[`TypedArray`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util.typedarray#typedarray)

#### register

▸ **register**(`dataTransformName`, `dataTransformClass`, `wasm?`): [`DataTransformRegistry`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry)

Registers a data transform and associates it with a name.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `dataTransformName` | `string` | The name of the data transform. |
| `dataTransformClass` | (...`args`: `any`) => [`DataTransformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformation.datatransformation) | The class that performs data transformation. |
| `Optional` `wasm` | `boolean` | register wasm version |


#### Returns

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

#### setWasmEnabled

▸ **setWasmEnabled**(`enable`): [`DataTransformRegistry`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry)

If true WebAssembly will be used for decompression.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enable` | `boolean` | enable flag |


#### Returns

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

#### unregister

▸ **unregister**(`dataTransformName`): [`DataTransformRegistry`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry)

Unregister a data transform that is associated with a given name.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `dataTransformName` | `string` | The name of the compression algorithm. |


#### Returns

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

#### getClassName

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

#### Returns

`string`

#### getInstance

▸ `Static` **getInstance**(): [`DataTransformRegistry`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.data-3.datatransformregistry.datatransformregistry)

Gets an instance of the data transform registry

#### Returns

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

The data transform registry.