Skip to content
Last updated

API / geotoolkit / seismic / pipeline / processor / AGC / AGC

Class: AGC

processor.AGC.AGC

Defines implementation of the automatic gain control.

<p> Automatic gain control (AGC) increases the amplitude of the trace samples, automatically. AGC applies a fixed length window, which slides in the original trace and computes the average amplitude of the window samples. The gain is calculated and used to normalize the sample in the center part of this window to a fixed value, usually 1.0. Basically the sample amplitude is divided by the average value. The window then slides down one sample and the next gain correction is computed. The process continues until the whole trace has been processed. </p> <p> AGC is commonly used to improve visibility of late-arriving events. </p> <p> This version of AGC also includes noise reduction based on RMS values to to zero samples with absolute values less than provided percentage of RMS. It is optional, but it helps to avoid increase noise values </p>

Throws

if wasm or js version of the filter is not registered

Hierarchy

Table of contents

Constructors
  • [new AGC(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.seismic.pipeline.processor-1.agc.agc.md#new agc(options))
Methods
Css Properties
Name Type Description
agclengthnumberAGC length
applybooleanWhether the processor is active or not
desiredaveragenumberDesired average amplitude
namestringName of the processor
noisereductionNoiseReductionModeEnable or disable noise reduction
noisereductionpercentagenumberPercentage to zero samples with absolute values less than provided percentage of RMS
startsamplenumberStart sample to start the AGC process
stepnumberStep
unitsUnitsEnum of AGC units
windowlengthnumberThe AGC window size

Contents

Constructors

new AGC(options)

• new AGC(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

SeismicTraceProcessor.constructor

Methods

apply

▸ apply(apply): AGC

Sets apply

Parameters

Name Type Description
applybooleanwhether the processor is active or not

Returns

AGC

Inherited from

SeismicTraceProcessor.apply


clone

▸ clone(): SeismicTraceProcessor

Clones processor

Returns

SeismicTraceProcessor

this

Inherited from

SeismicTraceProcessor.clone


copyConstructor

▸ Protected copyConstructor(src): void

Copy constructor

Parameters

Name Type Description
srcSeismicTraceProcessorSource to copy from

Returns

void

Inherited from

SeismicTraceProcessor.copyConstructor


dispose

▸ dispose(): void

Dispose

Returns

void

Inherited from

SeismicTraceProcessor.dispose


equalsProcessor

▸ Protected equalsProcessor(other): boolean

Return true if processors are identical

Parameters

Name Type Description
otherSeismicTraceProcessorseismic processor

Returns

boolean

Inherited from

SeismicTraceProcessor.equalsProcessor


getAgcLength

▸ getAgcLength(): number

Get AGC length

Returns

number


getClassName

▸ getClassName(): string

Returns

string

Inherited from

SeismicTraceProcessor.getClassName


getDesiredAverage

▸ getDesiredAverage(): number

Get desired average

Returns

number


getName

▸ getName(): string

Returns name of the processor

Returns

string

Inherited from

SeismicTraceProcessor.getName


getNoiseReduction

▸ getNoiseReduction(): NoiseReductionMode

Get noise reduction

Returns

NoiseReductionMode


getNoiseReductionPercentage

▸ getNoiseReductionPercentage(): number

Get noise reduction percentage

Returns

number


getProperties

▸ getProperties(): OptionsOut

Returns properties

Returns

OptionsOut

of the data filter

Overrides

SeismicTraceProcessor.getProperties


getStartSample

▸ getStartSample(): number

Get start sample

Returns

number


getState

▸ getState(): OptionsOut

Returns state of the AGC data filter

Returns

OptionsOut

state see AGC.getProperties

Overrides

SeismicTraceProcessor.getState


getStep

▸ getStep(): number

Get step

Returns

number


getUnits

▸ getUnits(): Units

Get units

Returns

Units


getWindowLength

▸ getWindowLength(): number

Get window length

Returns

number


invalidate

▸ invalidate(): AGC

Invalidate owner

Returns

AGC

Inherited from

SeismicTraceProcessor.invalidate


isApplicable

▸ isApplicable(): boolean

Returns true if processor is active

Returns

boolean

Inherited from

SeismicTraceProcessor.isApplicable


process

▸ process(pipeline, metadata, dataIn, dataOut): boolean

The function returns 'True' if the process was applied to the traces or 'False' if it was not applied.

Parameters

Name Type Description
pipelineSeismicPipelinethe seismic pipeline name
metadataSeismicMetaDataseismic metadata
dataInFloat32ArrayThe input data array on which the process should be applied
dataOutFloat32ArrayThe output/processed data array

Returns

boolean

returns whether the processing was successful

Inherited from

SeismicTraceProcessor.process


setAgcLength

▸ setAgcLength(agcLength): AGC

Set AGC length

Parameters

Name Type
agcLengthnumber

Returns

AGC


setDesiredAverage

▸ setDesiredAverage(desiredAverage): AGC

Set desired average

Parameters

Name Type
desiredAveragenumber

Returns

AGC


setName

▸ setName(name): AGC

Set name of the processor

Parameters

Name Type Description
namestringprocessor name

Returns

AGC

Inherited from

SeismicTraceProcessor.setName


setNoiseReduction

▸ setNoiseReduction(noiseReduction): AGC

Set noise reduction

Parameters

Name Type
noiseReductionNoiseReductionMode

Returns

AGC


setNoiseReductionPercentage

▸ setNoiseReductionPercentage(noiseReductionPercentage): AGC

Set noise reduction percentage

Parameters

Name Type
noiseReductionPercentagenumber

Returns

AGC


setProperties

▸ setProperties(props?): AGC

Sets properties

Parameters

Name Type Description
Optional propsOptionsof the data filter

Returns

AGC

this

Overrides

SeismicTraceProcessor.setProperties


setStartSample

▸ setStartSample(startSample): AGC

Set start sample

Parameters

Name Type
startSamplenumber

Returns

AGC


setState

▸ setState(state): AGC

Sets state of the AGC filter

Throws

if state is null

Parameters

Name Type Description
stateOptionsstate of the data filter see AGC.setProperties

Returns

AGC

this

Overrides

SeismicTraceProcessor.setState


setStep

▸ setStep(step): AGC

Set step

Parameters

Name Type
stepnumber

Returns

AGC


setUnits

▸ setUnits(units): AGC

Set units

Parameters

Name Type
unitsUnits

Returns

AGC


setWindowLength

▸ setWindowLength(windowLength): AGC

Set window length

Parameters

Name Type
windowLengthnumber

Returns

AGC


verify

▸ verify(stateValue, value): any

Returns stateValue not null, value instead

Parameters

Name Type Description
stateValueanyvalue
valueanydefault value

Returns

any

Inherited from

SeismicTraceProcessor.verify


verifyBoolean

▸ verifyBoolean(value, defaultValue): boolean

Returns stateValue if true or false, value instead

Parameters

Name Type Description
valuebooleanvalue
defaultValuebooleandefault value

Returns

boolean

Inherited from

SeismicTraceProcessor.verifyBoolean


verifyString

▸ verifyString(value, defaultValue): string

Returns stateValue if string, value instead

Parameters

Name Type Description
valuestringvalue
defaultValuestringdefault value

Returns

string

Inherited from

SeismicTraceProcessor.verifyString


getClassName

▸ Static getClassName(): string

Returns

string

Inherited from

SeismicTraceProcessor.getClassName


verifyState

▸ Static verifyState(state, name): Options

Sets state 'name' and 'apply' values to respectively name and false. Returns state object

Parameters

Name Type Description
stateOptionsthe default properties
namestringname of the processor

Returns

Options

Inherited from

SeismicTraceProcessor.verifyState