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

Class: AGC

processor.AGC.AGC

Defines implementation of the automatic gain control.

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.

AGC is commonly used to improve visibility of late-arriving events.

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

Throws

if wasm or js version of the filter is not registered

Hierarchy

Table of contents

Constructors
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