OpendTect  7.0
Public Member Functions | Protected Attributes | List of all members
AsymptScaler Class Reference

Asymptotic or 'Squeeze' scaling, with a linear (main) part. More...

Inheritance diagram for AsymptScaler:
[legend]

Public Member Functions

 AsymptScaler (double c=0, double w=1, double l=0.95)
 
double center () const
 
AsymptScalerclone () const override
 
void fromString (const char *) override
 
double linedge () const
 
bool operator== (const AsymptScaler &b) const
 
double scale (double) const override
 
void set (double, double, double)
 
const char * toString () const override
 
const char * type () const override
 
double unScale (double) const override
 
double width () const
 
- Public Member Functions inherited from Scaler
virtual ~Scaler ()
 
virtual bool isEmpty () const
 
void put (char *, int sz) const
 

Protected Attributes

double center_
 
double factor
 
double linedge_
 
double width_
 

Additional Inherited Members

- Static Public Member Functions inherited from Scaler
static Scalerget (const char *)
 

Detailed Description

Asymptotic or 'Squeeze' scaling, with a linear (main) part.

This scaler scales between -1 and 1. Between center()-width() and center()+width() this will happen linearly. The value at width() will be linedge(). Therefore, linedge should be set to a value near 1, like the default 0.95. Outside the width() boundaries, a 1 / (1 + x^2) function will make sure the output will be between -1 and 1. Thus, this scaler acts as a reversible squeeze function, with a non-deforming (linear), fast central part.

<>

Constructor & Destructor Documentation

◆ AsymptScaler()

AsymptScaler::AsymptScaler ( double  c = 0,
double  w = 1,
double  l = 0.95 
)
inline

Member Function Documentation

◆ center()

double AsymptScaler::center ( ) const
inline

◆ clone()

AsymptScaler* AsymptScaler::clone ( ) const
inlineoverridevirtual

Implements Scaler.

◆ fromString()

void AsymptScaler::fromString ( const char *  )
overridevirtual

Implements Scaler.

◆ linedge()

double AsymptScaler::linedge ( ) const
inline

◆ operator==()

bool AsymptScaler::operator== ( const AsymptScaler b) const
inline

◆ scale()

double AsymptScaler::scale ( double  ) const
overridevirtual

Implements Scaler.

◆ set()

void AsymptScaler::set ( double  ,
double  ,
double   
)

◆ toString()

const char* AsymptScaler::toString ( ) const
overridevirtual

Implements Scaler.

◆ type()

const char* AsymptScaler::type ( ) const
inlineoverridevirtual

Implements Scaler.

◆ unScale()

double AsymptScaler::unScale ( double  ) const
overridevirtual

Reimplemented from Scaler.

◆ width()

double AsymptScaler::width ( ) const
inline

Member Data Documentation

◆ center_

double AsymptScaler::center_
protected

◆ factor

double AsymptScaler::factor
protected

◆ linedge_

double AsymptScaler::linedge_
protected

◆ width_

double AsymptScaler::width_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024