geoml.transform
What distance means before a kernel sees it: the ranges, the anisotropy ellipsoid, and the projections. Chained transforms compose, so a periodic direction and an anisotropic one can sit in the same model.
Isotropic and anisotropic
- class geoml.transform.Isotropic(r=1.0)[source]
Bases:
_TransformIsotropic range
- class geoml.transform.Anisotropy2D(maxrange=1.0, minrange_fct=1, azimuth=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(maxrange=1.0, minrange_fct=1, azimuth=0)[source]
Builds an anisotropy matrix, to be multiplied by a coordinate matrix from the right.
- Parameters:
azimuth (double) – Defined clockwise from north, and is aligned with maxrange.
maxrange (double) – The maximum range. Must be positive.
minrange_fct (double) – matrix multiple of maxrange, contained in the [0,1) interval.
- class geoml.transform.Anisotropy2DMath(range_x=1.0, range_y=1.0, theta=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(range_x=1.0, range_y=1.0, theta=0)[source]
Anisotropy matrix in mathematical parametrization.
- Parameters:
range_x (double) – The ellipsoid semi-length in each direction. Must be positive.
range_y (double) – The ellipsoid semi-length in each direction. Must be positive.
theta (double) – The rotation angle in degrees.
- class geoml.transform.Anisotropy3D(maxrange=1.0, midrange_fct=1, minrange_fct=1, azimuth=0, dip=0, rake=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(maxrange=1.0, midrange_fct=1, minrange_fct=1, azimuth=0, dip=0, rake=0)[source]
Builds an anisotropy matrix, to be multiplied by a coordinate matrix from the right.
- Parameters:
maxrange (double) – The maximum range. Must be positive.
midrange_fct (double) – A multiple of maxrange, contained in the [0,1) interval.
minrange_fct (double) – A multiple of midrange, contained in the [0,1) interval.
azimuth (double) – Defined clockwise from north, and is aligned with maxrange.
dip (double) – Dip angle, from 0 to 90 degrees.
rake (double) – Rake angle, from -90 to 90 degrees.
- class geoml.transform.Anisotropy3DMath(range_x=1.0, range_y=1.0, range_z=1.0, theta_x=0, theta_y=0, theta_z=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(range_x=1.0, range_y=1.0, range_z=1.0, theta_x=0, theta_y=0, theta_z=0)[source]
Anisotropy matrix in mathematical parametrization.
- Parameters:
range_x (double) – The ellipsoid semi-length in each direction. Must be positive.
range_y (double) – The ellipsoid semi-length in each direction. Must be positive.
range_z (double) – The ellipsoid semi-length in each direction. Must be positive.
theta_x (double) – The rotation angles in degrees.
theta_y (double) – The rotation angles in degrees.
theta_z (double) – The rotation angles in degrees.
- class geoml.transform.ProjectionTo1D(n_dim)[source]
Bases:
_TransformProjection of high-dimensional data to a line.
- class geoml.transform.AnisotropyARD(n_dim)[source]
Bases:
_TransformAutomatic Relevance Detection
- class geoml.transform.ChainedTransform(*transforms)[source]
Bases:
_TransformChained transform.
This object allows multiple transforms to be called sequentially. Useful for complex transformations.
- class geoml.transform.SelectVariables(index)[source]
Bases:
_TransformVariable selection.
Returns the specified columns of the input, discarding the others.
- class geoml.transform.NormalizeWithBoundingBox(box)[source]
Bases:
_TransformNormalization with a bounding box.
Uses a BoundingBox object as guide to normalize the data. All columns will be contained in the [-3, 3] interval.
- class geoml.transform.Periodic[source]
Bases:
_TransformPeriodic transform.
Returns sines and cosines doubling the number of columns in the data. The periods can be specified by chaining an Anisotropy* transform with this one.
- class geoml.transform.Concatenate(*transforms)[source]
Bases:
ChainedTransformConcatenation of transforms.
Consolidates a list of inputs into a single one.
- class geoml.transform.BellFault2D(start, end)[source]
Bases:
_TransformFault simulation.
Angles given rather than fitted
The Math and Dynamic variants take the ellipsoid’s orientation from
somewhere other than training — a structural measurement, or another node.
- class geoml.transform.Anisotropy2DMath(range_x=1.0, range_y=1.0, theta=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(range_x=1.0, range_y=1.0, theta=0)[source]
Anisotropy matrix in mathematical parametrization.
- Parameters:
range_x (double) – The ellipsoid semi-length in each direction. Must be positive.
range_y (double) – The ellipsoid semi-length in each direction. Must be positive.
theta (double) – The rotation angle in degrees.
- class geoml.transform.Anisotropy3DMath(range_x=1.0, range_y=1.0, range_z=1.0, theta_x=0, theta_y=0, theta_z=0)[source]
Bases:
_EllipsoidalAnisotropy in two dimensions
- __init__(range_x=1.0, range_y=1.0, range_z=1.0, theta_x=0, theta_y=0, theta_z=0)[source]
Anisotropy matrix in mathematical parametrization.
- Parameters:
range_x (double) – The ellipsoid semi-length in each direction. Must be positive.
range_y (double) – The ellipsoid semi-length in each direction. Must be positive.
range_z (double) – The ellipsoid semi-length in each direction. Must be positive.
theta_x (double) – The rotation angles in degrees.
theta_y (double) – The rotation angles in degrees.
theta_z (double) – The rotation angles in degrees.
Composing and reshaping
- class geoml.transform.ChainedTransform(*transforms)[source]
Bases:
_TransformChained transform.
This object allows multiple transforms to be called sequentially. Useful for complex transformations.
- class geoml.transform.Concatenate(*transforms)[source]
Bases:
ChainedTransformConcatenation of transforms.
Consolidates a list of inputs into a single one.
- class geoml.transform.SelectVariables(index)[source]
Bases:
_TransformVariable selection.
Returns the specified columns of the input, discarding the others.
- class geoml.transform.ProjectionTo1D(n_dim)[source]
Bases:
_TransformProjection of high-dimensional data to a line.
- class geoml.transform.NormalizeWithBoundingBox(box)[source]
Bases:
_TransformNormalization with a bounding box.
Uses a BoundingBox object as guide to normalize the data. All columns will be contained in the [-3, 3] interval.
- class geoml.transform.Periodic[source]
Bases:
_TransformPeriodic transform.
Returns sines and cosines doubling the number of columns in the data. The periods can be specified by chaining an Anisotropy* transform with this one.
- class geoml.transform.BellFault2D(start, end)[source]
Bases:
_TransformFault simulation.