[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [seismic](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic) / [analysis](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#analysis) / [filters](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#filters) / [TaperFilter](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#taperfilter) / TaperFilter

# Class: TaperFilter

[filters](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#filters).[TaperFilter](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.seismic#taperfilter).TaperFilter

The TaperFilter implements both pass band and band reject filtering on the traces. <br>
This class uses a taper function and applies filtering in the Fourier domain.<br>
The taper function is defined using four frequencies (encapsulated in the class TaperFrequencyBoundary). <br>
Because this filter is applied in the Fourier domain, the filter object has to be aware of the <br>
sample rate in order to map the frequencies to the data values property.

## Table of contents

Constructors
- [new TaperFilter(sampleRate, f1, f2, f3, f4, passFlag)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter.md#new taperfilter(samplerate, f1, f2, f3, f4, passflag))


Methods
| [apply](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#apply) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#getclassname) | [getFrequencyBoundary](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#getfrequencyboundary) |
|  --- | --- | --- |
| [getPassFlag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#getpassflag) | [getSampleRate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#getsamplerate) | [setFrequencyBoundary](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#setfrequencyboundary) |
| [setPassFlag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#setpassflag) | [setSampleRate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#setsamplerate) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter#getclassname-1) |


## Contents

Constructors
#### new TaperFilter(sampleRate, f1, f2, f3, f4, passFlag)

• **new TaperFilter**(`sampleRate`, `f1`, `f2`, `f3`, `f4`, `passFlag`)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `sampleRate` | `number` | The sample rate |
| `f1` | `number` | 1st frequency (hrz) |
| `f2` | `number` | 2nd frequency (hrz) |
| `f3` | `number` | 3rd frequency (hrz) |
| `f4` | `number` | 4th frequency (hrz) |
| `passFlag` | `boolean` | The filtering mode |


Methods
#### apply

▸ **apply**(`input`, `length`): `Float32Array`

Applies the filter on an array of data

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `input` | `Float32Array` | The input array |
| `length` | `number` | The length of the input array that needs to be filtered. |


#### Returns

`Float32Array`

output The processed array

#### getClassName

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

#### Returns

`string`

#### getFrequencyBoundary

▸ **getFrequencyBoundary**(): [`TaperFrequencyBoundary`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfrequencyboundary.taperfrequencyboundary)

Gets the frequency boundary

#### Returns

[`TaperFrequencyBoundary`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfrequencyboundary.taperfrequencyboundary)

frequencyBoundary The frequency boundary

#### getPassFlag

▸ **getPassFlag**(): `boolean`

Gets the pass flag

#### Returns

`boolean`

passFlag The pass flag

#### getSampleRate

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

Gets the sample rate

#### Returns

`number`

sampleRate The sample rate

#### setFrequencyBoundary

▸ **setFrequencyBoundary**(`f1`): [`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

Sets frequency boundary

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `f1` | [`TaperFrequencyBoundary`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfrequencyboundary.taperfrequencyboundary) | another TaperFrequencyBoundary |


#### Returns

[`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

this

▸ **setFrequencyBoundary**(`f1`, `f2`, `f3`, `f4`): [`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

Sets frequency boundary

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `f1` | `number` | 1st frequency (hrz) |
| `f2` | `number` | 2-nd frequency (hrz) |
| `f3` | `number` | 3-rd frequency (hrz) |
| `f4` | `number` | 4-th frequency (hrz) |


#### Returns

[`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

this

#### setPassFlag

▸ **setPassFlag**(`passFlag`): [`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

This sets the filtering mode. Usually this filter is used as band pass filter,
but it can be reverted to band rejection mode by calling this method with flag set to false

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `passFlag` | `boolean` | The pass flag |


#### Returns

[`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

this

#### setSampleRate

▸ **setSampleRate**(`sampleRate`): [`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

Sets the sample rate

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `sampleRate` | `number` | Sample rate is the number of times an analog signal is measured (sampled) per second. |


#### Returns

[`TaperFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.seismic.analysis.filters.taperfilter.taperfilter)

this

#### getClassName

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

#### Returns

`string`