twistpy.polarization.EstimatorConfiguration#

class EstimatorConfiguration(wave_types: List[str] = ['R', 'L', 'P', 'SV', 'SH'], method: str = 'ML', free_surface: bool = True, scaling_velocity: float = 1.0, use_ml_classification: bool = True, svm: Optional[SupportVectorMachine] = None, eigenvector: int = 0, music_signal_space_dimension: int = 1, vp: Tuple[float, float, float] = (100.0, 2000.0, 100.0), vp_to_vs: Tuple[float, float, float] = (1.7, 2.2, 0.1), vs: Tuple[float, float, float] = (50.0, 1000.0, 100.0), vl: Tuple[float, float, float] = (100, 2000, 100), vr: Tuple[float, float, float] = (100, 2000, 100), phi: Tuple[float, float, float] = (0, 360, 1), theta: Tuple[float, float, float] = (0, 90, 1), xi: Tuple[float, float, float] = (-90, 90, 1))[source]#

Configure the type of estimator used for 6C polarization analysis.

Parameters
wave_typeslist of str, default = [‘R’, ‘L’, ‘P’, ‘SV’, ‘SH’]

List of wave types for which wave parameters are estimated.

methodstr, default=’ML’

Method that is used for the estimation of wave parameters and polarization attributes.

Hint

‘ML’: Machine Learning: Initially classify the wave types using a machine learning model. Wave parameters are then directly estimated from the specified eigenvector. This is the most efficient way to estimate wave parameters with 6C polarization analysis

‘MUSIC’: Wave parameters are estimated using multiple signal classification. This is a grid search approach and can be computationally expensive to compute. Enables the estimation of wave parameters for multiple overlapping signals.

‘MVDR’: Wave parameters are estimated using the minimum variance distortionless response or Capon method (grid search approach).

‘BARTLETT’: Wave parameters are estimated using the Bartlett method (grid search approach).

‘DOT’: Minimize great-circle distance / dot product (corresponding to the angle between the model polarization vector and the polarization direction in the data) on the 5-sphere between the measured and tested polarization vector

free_surfacebool, default=True

Specify whether free-surface polarization models should be used

scaling_velocityfloat, default = 1.

Scaling velocity applied to the translational components in m/s

use_ml_classificationbool, default = True

For grid-search approaches: Specify whether an initial step of wave classification is performed using a machine learning model. Wave parameters are then only estimated in windows where the wave type of interest is detected. Results in a speed-up.

svmSupportVectorMachine, optional

Pre-trained support vector machine for wave type classification. Needs to be provided if method=’ML’ or use_ml_classification = True.

eigenvectorint, default=0

Integer value identifying the eigenvector that will be used for wave parameter estimation. The eigenvectors are sorted in descending order of their corresponding eigenvalue

If 0: first eigenvector, corresponding to the dominant signal in the time window (associated with the largest eigenvalue).
music_signal_space_dimension:obj:´int´, default=1

Specify the number of overlapping waves for which wave parameters will be estimated using the MUSIC algorithm.

vptuple (vp_min, vp_max, increment)

Define the search space for the P-wave velocity in m/s for grid-search methods.

vp_to_vstuple (vp_to_vs_min, vp_to_vs_max, increment)

Define the search space for the P-wave to S-wave velocity ratio.

vltuple (vl_min, vl_max, increment)

Define the search space for the Love wave velocity in m/s.

vrtuple (vr_min, vr_max, increment)

Define the search space for the Rayleigh wave velocity in m/s.

vstuple (vr_min, vr_max, increment)

Define the search space for the S wave velocity in m/s. Only relevant for SH waves for P-, and SV-waves, the S-wave velocity is computed over the vp-/vs-ratio

phituple (phi_min, phi_max, increment)

Define the search space for the Azimuth in degrees.

thetatuple (theta_min, theta_max, increment)

Define the search space for the inclination angle in degrees.

xituple (xi_min, xi_max, increment)

Define the search space for the Rayleigh wave ellipticity angle in degrees.

Methods

compute_steering_vectors(wave_type)

Compute steering vectors for polarization analysis with grid search methods for the specified wave type.

Examples using twistpy.polarization.EstimatorConfiguration#

6-C Polarization Analysis: Time-domain wave parameter estimation

6-C Polarization Analysis: Time-domain wave parameter estimation

6-C Wave parameter estimation: gulf of alaska earthquake

6-C Wave parameter estimation: gulf of alaska earthquake

6-C wave type fingerprinting

6-C wave type fingerprinting