LoopStructural 1.6.6__py3-none-any.whl → 1.6.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of LoopStructural might be problematic. Click here for more details.
- LoopStructural/__init__.py +1 -0
- LoopStructural/datatypes/_bounding_box.py +50 -10
- LoopStructural/datatypes/_point.py +18 -11
- LoopStructural/datatypes/_structured_grid.py +37 -9
- LoopStructural/datatypes/_surface.py +3 -3
- LoopStructural/export/geoh5.py +4 -2
- LoopStructural/interpolators/__init__.py +1 -0
- LoopStructural/interpolators/_discrete_interpolator.py +18 -0
- LoopStructural/interpolators/_finite_difference_interpolator.py +64 -11
- LoopStructural/interpolators/_geological_interpolator.py +9 -0
- LoopStructural/interpolators/_interpolator_builder.py +98 -19
- LoopStructural/interpolators/_interpolator_factory.py +2 -3
- LoopStructural/interpolators/_surfe_wrapper.py +3 -0
- LoopStructural/interpolators/supports/_2d_base_unstructured.py +3 -0
- LoopStructural/interpolators/supports/_2d_structured_grid.py +3 -0
- LoopStructural/interpolators/supports/_3d_base_structured.py +28 -5
- LoopStructural/interpolators/supports/_3d_structured_grid.py +2 -0
- LoopStructural/interpolators/supports/_3d_unstructured_tetra.py +21 -13
- LoopStructural/interpolators/supports/_base_support.py +4 -0
- LoopStructural/interpolators/supports/_support_factory.py +12 -4
- LoopStructural/modelling/core/geological_model.py +5 -6
- LoopStructural/modelling/features/_base_geological_feature.py +2 -2
- LoopStructural/modelling/features/_cross_product_geological_feature.py +1 -2
- LoopStructural/modelling/features/_geological_feature.py +2 -5
- LoopStructural/modelling/features/_lambda_geological_feature.py +0 -1
- LoopStructural/modelling/features/_projected_vector_feature.py +1 -2
- LoopStructural/modelling/features/_unconformity_feature.py +0 -1
- LoopStructural/modelling/features/builders/_base_builder.py +4 -2
- LoopStructural/modelling/features/builders/_geological_feature_builder.py +21 -25
- LoopStructural/modelling/features/builders/_structural_frame_builder.py +9 -4
- LoopStructural/modelling/features/fault/_fault_segment.py +1 -1
- LoopStructural/modelling/features/fold/__init__.py +1 -3
- LoopStructural/modelling/features/fold/fold_function/_base_fold_rotation_angle.py +0 -1
- LoopStructural/modelling/features/fold/fold_function/_lambda_fold_rotation_angle.py +0 -1
- LoopStructural/modelling/features/fold/fold_function/_trigo_fold_rotation_angle.py +0 -1
- LoopStructural/modelling/input/process_data.py +9 -6
- LoopStructural/utils/_surface.py +2 -2
- LoopStructural/utils/_transformation.py +28 -13
- LoopStructural/utils/colours.py +4 -3
- LoopStructural/version.py +1 -1
- {LoopStructural-1.6.6.dist-info → LoopStructural-1.6.8.dist-info}/METADATA +3 -3
- {LoopStructural-1.6.6.dist-info → LoopStructural-1.6.8.dist-info}/RECORD +45 -45
- {LoopStructural-1.6.6.dist-info → LoopStructural-1.6.8.dist-info}/LICENSE +0 -0
- {LoopStructural-1.6.6.dist-info → LoopStructural-1.6.8.dist-info}/WHEEL +0 -0
- {LoopStructural-1.6.6.dist-info → LoopStructural-1.6.8.dist-info}/top_level.txt +0 -0
|
@@ -6,7 +6,11 @@ logger = getLogger(__name__)
|
|
|
6
6
|
|
|
7
7
|
class EuclideanTransformation:
|
|
8
8
|
def __init__(
|
|
9
|
-
self,
|
|
9
|
+
self,
|
|
10
|
+
dimensions: int = 2,
|
|
11
|
+
angle: float = 0,
|
|
12
|
+
translation: np.ndarray = np.zeros(3),
|
|
13
|
+
fit_rotation: bool = True,
|
|
10
14
|
):
|
|
11
15
|
"""Transforms points into a new coordinate
|
|
12
16
|
system where the main eigenvector is aligned with x
|
|
@@ -23,6 +27,7 @@ class EuclideanTransformation:
|
|
|
23
27
|
self.translation = translation[:dimensions]
|
|
24
28
|
self.dimensions = dimensions
|
|
25
29
|
self.angle = angle
|
|
30
|
+
self.fit_rotation = fit_rotation
|
|
26
31
|
|
|
27
32
|
def fit(self, points: np.ndarray):
|
|
28
33
|
"""Fit the transformation to a point cloud
|
|
@@ -45,13 +50,16 @@ class EuclideanTransformation:
|
|
|
45
50
|
raise ValueError("Points must have at least {} dimensions".format(self.dimensions))
|
|
46
51
|
# standardise the points so that centre is 0
|
|
47
52
|
# self.translation = np.zeros(3)
|
|
48
|
-
self.translation = np.mean(points, axis=0)
|
|
53
|
+
self.translation = np.mean(points[:, : self.dimensions], axis=0)
|
|
49
54
|
# find main eigenvector and and calculate the angle of this with x
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
if self.fit_rotation:
|
|
56
|
+
pca = decomposition.PCA(n_components=self.dimensions).fit(
|
|
57
|
+
points[:, : self.dimensions] - self.translation[None, : self.dimensions]
|
|
58
|
+
)
|
|
59
|
+
coeffs = pca.components_
|
|
60
|
+
self.angle = -np.arccos(np.dot(coeffs[0, :], [1, 0]))
|
|
61
|
+
else:
|
|
62
|
+
self.angle = 0
|
|
55
63
|
return self
|
|
56
64
|
|
|
57
65
|
@property
|
|
@@ -93,13 +101,15 @@ class EuclideanTransformation:
|
|
|
93
101
|
points = np.array(points)
|
|
94
102
|
if points.shape[1] < self.dimensions:
|
|
95
103
|
raise ValueError("Points must have at least {} dimensions".format(self.dimensions))
|
|
96
|
-
centred = points - self.translation
|
|
97
|
-
|
|
98
|
-
return np.einsum(
|
|
104
|
+
centred = points[:, : self.dimensions] - self.translation[None, :]
|
|
105
|
+
rotated = np.einsum(
|
|
99
106
|
'ik,jk->ij',
|
|
100
107
|
centred,
|
|
101
108
|
self.rotation[: self.dimensions, : self.dimensions],
|
|
102
109
|
)
|
|
110
|
+
transformed_points = np.copy(points)
|
|
111
|
+
transformed_points[:, : self.dimensions] = rotated
|
|
112
|
+
return transformed_points
|
|
103
113
|
|
|
104
114
|
def inverse_transform(self, points: np.ndarray) -> np.ndarray:
|
|
105
115
|
"""
|
|
@@ -115,15 +125,20 @@ class EuclideanTransformation:
|
|
|
115
125
|
np.ndarray
|
|
116
126
|
xyz points in the original coordinate system
|
|
117
127
|
"""
|
|
118
|
-
|
|
119
|
-
return (
|
|
128
|
+
inversed = (
|
|
120
129
|
np.einsum(
|
|
121
130
|
'ik,jk->ij',
|
|
122
|
-
points,
|
|
131
|
+
points[: self.dimensions],
|
|
123
132
|
self.inverse_rotation[: self.dimensions, : self.dimensions],
|
|
124
133
|
)
|
|
125
134
|
+ self.translation
|
|
126
135
|
)
|
|
136
|
+
inversed = (
|
|
137
|
+
np.vstack([inversed, points[self.dimensions :]])
|
|
138
|
+
if points.shape[1] > self.dimensions
|
|
139
|
+
else inversed
|
|
140
|
+
)
|
|
141
|
+
return inversed
|
|
127
142
|
|
|
128
143
|
def __call__(self, points: np.ndarray) -> np.ndarray:
|
|
129
144
|
"""
|
LoopStructural/utils/colours.py
CHANGED
|
@@ -17,7 +17,7 @@ def random_colour(n: int = 1, cmap='tab20'):
|
|
|
17
17
|
list
|
|
18
18
|
List of colours in the form of (r,g,b,a) tuples
|
|
19
19
|
"""
|
|
20
|
-
|
|
20
|
+
from matplotlib import colormaps as cm
|
|
21
21
|
|
|
22
22
|
colours = []
|
|
23
23
|
for _i in range(n):
|
|
@@ -25,6 +25,7 @@ def random_colour(n: int = 1, cmap='tab20'):
|
|
|
25
25
|
|
|
26
26
|
return colours
|
|
27
27
|
|
|
28
|
+
|
|
28
29
|
def random_hex_colour(n: int = 1, cmap='tab20'):
|
|
29
30
|
"""
|
|
30
31
|
Generate a list of random colours
|
|
@@ -41,10 +42,10 @@ def random_hex_colour(n: int = 1, cmap='tab20'):
|
|
|
41
42
|
list
|
|
42
43
|
List of colours in the form of hex strings
|
|
43
44
|
"""
|
|
44
|
-
|
|
45
|
+
from matplotlib import colormaps as cm
|
|
45
46
|
|
|
46
47
|
colours = []
|
|
47
48
|
for _i in range(n):
|
|
48
49
|
colours.append(cm.get_cmap(cmap)(rng.random()))
|
|
49
50
|
|
|
50
|
-
return [f'#{int(c[0]*255):02x}{int(c[1]*255):02x}{int(c[2]*255):02x}' for c in colours]
|
|
51
|
+
return [f'#{int(c[0]*255):02x}{int(c[1]*255):02x}{int(c[2]*255):02x}' for c in colours]
|
LoopStructural/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "1.6.
|
|
1
|
+
__version__ = "1.6.8"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: LoopStructural
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.8
|
|
4
4
|
Summary: 3D geological modelling
|
|
5
5
|
Author-email: Lachlan Grose <lachlan.grose@monash.edu>
|
|
6
6
|
License: MIT
|
|
@@ -28,9 +28,9 @@ Requires-Dist: pandas
|
|
|
28
28
|
Requires-Dist: scipy
|
|
29
29
|
Requires-Dist: scikit-image
|
|
30
30
|
Requires-Dist: scikit-learn
|
|
31
|
-
Requires-Dist: tqdm
|
|
32
31
|
Provides-Extra: all
|
|
33
32
|
Requires-Dist: loopstructural[export,inequalities,visualisation]; extra == "all"
|
|
33
|
+
Requires-Dist: tqdm; extra == "all"
|
|
34
34
|
Provides-Extra: visualisation
|
|
35
35
|
Requires-Dist: matplotlib; extra == "visualisation"
|
|
36
36
|
Requires-Dist: pyvista; extra == "visualisation"
|
|
@@ -41,7 +41,6 @@ Requires-Dist: pyevtk; extra == "export"
|
|
|
41
41
|
Requires-Dist: dill; extra == "export"
|
|
42
42
|
Provides-Extra: jupyter
|
|
43
43
|
Requires-Dist: pyvista[all]; extra == "jupyter"
|
|
44
|
-
Requires-Dist: tqdm; extra == "jupyter"
|
|
45
44
|
Provides-Extra: inequalities
|
|
46
45
|
Requires-Dist: loopsolver; extra == "inequalities"
|
|
47
46
|
Provides-Extra: docs
|
|
@@ -58,6 +57,7 @@ Requires-Dist: geoh5py; extra == "docs"
|
|
|
58
57
|
Requires-Dist: geopandas; extra == "docs"
|
|
59
58
|
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
|
|
60
59
|
Requires-Dist: myst-parser; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinx-design; extra == "docs"
|
|
61
61
|
|
|
62
62
|
# LoopStructural: Loop3D Implicit Geological Modelling
|
|
63
63
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
LoopStructural/__init__.py,sha256=
|
|
2
|
-
LoopStructural/version.py,sha256=
|
|
1
|
+
LoopStructural/__init__.py,sha256=fg_Vm1aMDYIf_CffTFopLsTx21u6deLaI7JMVpRYdOI,1378
|
|
2
|
+
LoopStructural/version.py,sha256=PRuPGcPfxOnMhLtrBQIrBwTij1YQIyopsHDXZnO28RU,22
|
|
3
3
|
LoopStructural/datasets/__init__.py,sha256=ylb7fzJU_DyQ73LlwQos7VamqkDSGITbbnoKg7KAOmE,677
|
|
4
4
|
LoopStructural/datasets/_base.py,sha256=FB_D5ybBYHoaNbycdkpZcRffzjrrL1xp9X0k-pyob9Y,7618
|
|
5
5
|
LoopStructural/datasets/_example_models.py,sha256=Zg33IeUyh4C-lC0DRMLqCDP2IrX8L-gNV1WxJwBGjzM,113
|
|
@@ -29,81 +29,81 @@ LoopStructural/datasets/data/geological_map_data/stratigraphic_order.csv,sha256=
|
|
|
29
29
|
LoopStructural/datasets/data/geological_map_data/stratigraphic_orientations.csv,sha256=RysyqUAIjY6iIDUfTh11n9QUQWXB_qxKnZeN_DqNzlY,26745
|
|
30
30
|
LoopStructural/datasets/data/geological_map_data/stratigraphic_thickness.csv,sha256=pnSmG-wL8-kxuoHo_pgpJrfTmsZOzc8L0vxpBRh3r8A,355
|
|
31
31
|
LoopStructural/datatypes/__init__.py,sha256=lVg64DnynMm58qvYTjLrcyWH7vk2ngr9JGMo5FaiALI,160
|
|
32
|
-
LoopStructural/datatypes/_bounding_box.py,sha256=
|
|
33
|
-
LoopStructural/datatypes/_point.py,sha256=
|
|
34
|
-
LoopStructural/datatypes/_structured_grid.py,sha256=
|
|
35
|
-
LoopStructural/datatypes/_surface.py,sha256=
|
|
32
|
+
LoopStructural/datatypes/_bounding_box.py,sha256=pL_j4sot1qxQG-W9P6LYDOZyaIAx862kK_DWZIY-OIs,17853
|
|
33
|
+
LoopStructural/datatypes/_point.py,sha256=sCZiWRdnbIH_P9b52btNrotrttWlE-e4Mr2BBwfAAZY,7710
|
|
34
|
+
LoopStructural/datatypes/_structured_grid.py,sha256=mc-UM1Gh_BjHFItuPE4FF5wvGzJnSqF2MTx_xvrwcTk,5088
|
|
35
|
+
LoopStructural/datatypes/_surface.py,sha256=IgXKcwZw3mF2DIImO7LT-HUapqABa8LU0WsxXTiqEHo,6562
|
|
36
36
|
LoopStructural/export/exporters.py,sha256=BniZu-PqQvHqCU6GIuJQ5FPzI9Dx_T6rI8EW1pykois,17209
|
|
37
37
|
LoopStructural/export/file_formats.py,sha256=0xKyYSW4Jv_4jsXwusg-WO6PNUhZKd6HdWSqGSaPve8,232
|
|
38
|
-
LoopStructural/export/geoh5.py,sha256=
|
|
38
|
+
LoopStructural/export/geoh5.py,sha256=jLFKC5EB0azT3PgJPtkJzi3_CG28RLgP2FuENAGCQMI,4313
|
|
39
39
|
LoopStructural/export/gocad.py,sha256=cQ6v7ZD0CVubt3c2f9EwAYrziu5bEFSWBtx0uade5mg,3370
|
|
40
40
|
LoopStructural/export/omf_wrapper.py,sha256=4vcF4WOQIVEYsWrfATgKCDh8nUybLTbrlXnCxZ_3fkU,3392
|
|
41
|
-
LoopStructural/interpolators/__init__.py,sha256=
|
|
41
|
+
LoopStructural/interpolators/__init__.py,sha256=8uFSHumlOuHzs_3i26DCW1QWO93en_AzAmUEJy5iUXA,3451
|
|
42
42
|
LoopStructural/interpolators/_api.py,sha256=EC4ogG2uPq-z_pgNGd_eTieTl92eaZ-rjyoFwXiHL_s,7839
|
|
43
43
|
LoopStructural/interpolators/_builders.py,sha256=B49KsxB8RRN6IHDfGT43nXWe_Av1SVVT8vm2Nh1oEiQ,6758
|
|
44
44
|
LoopStructural/interpolators/_discrete_fold_interpolator.py,sha256=eDe0R1lcQ0AuMcv7zlpu5c-soCv7AybIqQAuN2vFE3M,6542
|
|
45
|
-
LoopStructural/interpolators/_discrete_interpolator.py,sha256=
|
|
46
|
-
LoopStructural/interpolators/_finite_difference_interpolator.py,sha256=
|
|
47
|
-
LoopStructural/interpolators/_geological_interpolator.py,sha256=
|
|
48
|
-
LoopStructural/interpolators/_interpolator_builder.py,sha256=
|
|
49
|
-
LoopStructural/interpolators/_interpolator_factory.py,sha256=
|
|
45
|
+
LoopStructural/interpolators/_discrete_interpolator.py,sha256=i_joZ8HOf_s6Q2L8gHFnhkdtgyED1SjATxRsRd1HxRU,26038
|
|
46
|
+
LoopStructural/interpolators/_finite_difference_interpolator.py,sha256=mZ89FWQZ5RbzhL9UYH8VzWME-28dy331KXtYtpqepHo,18351
|
|
47
|
+
LoopStructural/interpolators/_geological_interpolator.py,sha256=hcQuyv1zYakJ7mcDFlLj-YarjnMQvlP6pVbK1KuxBWs,11195
|
|
48
|
+
LoopStructural/interpolators/_interpolator_builder.py,sha256=Z8bhmco5aSQX19A8It2SB_rG61wnlyshWfp3ivm8rU0,4586
|
|
49
|
+
LoopStructural/interpolators/_interpolator_factory.py,sha256=fbjebXSe5IgTol1tnBlnsw9gD426v-TGkX3gquIg7LI,2782
|
|
50
50
|
LoopStructural/interpolators/_operator.py,sha256=PZOUzq9OMaJdG151dSLIo7AxRuhTj6-zEAzFZo-EOJU,1114
|
|
51
51
|
LoopStructural/interpolators/_p1interpolator.py,sha256=4rjj4iaw2c8hOfBS9u8ycxzijYdmvpeijvhYRwUwZg0,8736
|
|
52
52
|
LoopStructural/interpolators/_p2interpolator.py,sha256=UT-As5RNsmOwHOzO_6FiRcAwlNHfi4ILbJw2LGpwKAw,10274
|
|
53
|
-
LoopStructural/interpolators/_surfe_wrapper.py,sha256=
|
|
53
|
+
LoopStructural/interpolators/_surfe_wrapper.py,sha256=Qdz-SuPBVh7gIw4-ZLdDqHkpezmq-Y3IhtRsbW417Xk,6837
|
|
54
54
|
LoopStructural/interpolators/_cython/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
LoopStructural/interpolators/supports/_2d_base_unstructured.py,sha256=
|
|
55
|
+
LoopStructural/interpolators/supports/_2d_base_unstructured.py,sha256=3HHZZR_YyNRRE6zNhncwopAmbhZvCNLGdpDEXOFWoTI,11878
|
|
56
56
|
LoopStructural/interpolators/supports/_2d_p1_unstructured.py,sha256=okcy56nyjuedmknQn_95V2tm0kdMA-oJcD3U2jU8u0w,2637
|
|
57
57
|
LoopStructural/interpolators/supports/_2d_p2_unstructured.py,sha256=TeBVtT1PMV7CKzmnFZke37acMoFxouer20cskS7pVoE,10422
|
|
58
|
-
LoopStructural/interpolators/supports/_2d_structured_grid.py,sha256=
|
|
58
|
+
LoopStructural/interpolators/supports/_2d_structured_grid.py,sha256=Pt9fiXyTS-RTd3mxXr3EUQfB6DhKChHQ5zbWub54nW0,16347
|
|
59
59
|
LoopStructural/interpolators/supports/_2d_structured_tetra.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
LoopStructural/interpolators/supports/_3d_base_structured.py,sha256=
|
|
60
|
+
LoopStructural/interpolators/supports/_3d_base_structured.py,sha256=PYIkgWCTHk0OHn-T9wpF4ZFYnKyvXNZgUyqO7YcoFjU,16481
|
|
61
61
|
LoopStructural/interpolators/supports/_3d_p2_tetra.py,sha256=CqGVJRUMxbPQZDhhopNt_s9gVhMqh4YbjQyDZonoyxc,11574
|
|
62
|
-
LoopStructural/interpolators/supports/_3d_structured_grid.py,sha256=
|
|
62
|
+
LoopStructural/interpolators/supports/_3d_structured_grid.py,sha256=x9NoZRsl58iowcObavgb0nY_C335BmcIYgec9REsFpU,17366
|
|
63
63
|
LoopStructural/interpolators/supports/_3d_structured_tetra.py,sha256=5zUNtvEXDvbCHZCu6Fz9WjGbnrMaq-sYJqNUufyLcq8,26505
|
|
64
|
-
LoopStructural/interpolators/supports/_3d_unstructured_tetra.py,sha256=
|
|
64
|
+
LoopStructural/interpolators/supports/_3d_unstructured_tetra.py,sha256=_peXMTMxctuWNOL74AHxzw0b_1sP5glvbJigIvIkK9I,23867
|
|
65
65
|
LoopStructural/interpolators/supports/__init__.py,sha256=V0JjixoBIUZVAo5MmqARR67xDOoQwnb4G3SXeOMRSyQ,1603
|
|
66
66
|
LoopStructural/interpolators/supports/_aabb.py,sha256=Z-kH_u6c6izak0aHG3Uo14PEKQeZmYlevLDC32Q06xk,3208
|
|
67
|
-
LoopStructural/interpolators/supports/_base_support.py,sha256=
|
|
67
|
+
LoopStructural/interpolators/supports/_base_support.py,sha256=pYzsmeBu4kLaD9ZKsz_dfjVpfuAd00xENqOQC9Xw5QY,2501
|
|
68
68
|
LoopStructural/interpolators/supports/_face_table.py,sha256=Hyj4Io63NkPRN8ab9uDHyec-2Kb8BLY_xBF6STNlvBw,3095
|
|
69
|
-
LoopStructural/interpolators/supports/_support_factory.py,sha256=
|
|
69
|
+
LoopStructural/interpolators/supports/_support_factory.py,sha256=XNAxnr-JS3KEhdsoZeJ-VaLTJwlvxgBuRMCqYrCDW18,1485
|
|
70
70
|
LoopStructural/modelling/__init__.py,sha256=oW7dz6c8K1A0VcW7-mVcyqcENUrtybCb3eVUNXFvMfA,656
|
|
71
71
|
LoopStructural/modelling/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
-
LoopStructural/modelling/core/geological_model.py,sha256=
|
|
72
|
+
LoopStructural/modelling/core/geological_model.py,sha256=TILvSGV95WtPJArIorYIu27pH3Faf7oTWCh2xj6qqq0,66172
|
|
73
73
|
LoopStructural/modelling/features/__init__.py,sha256=Vf-qd5EDBtJ1DpuXXyCcw2-wf6LWPRW5wzxDEO3vOc8,939
|
|
74
74
|
LoopStructural/modelling/features/_analytical_feature.py,sha256=U_g86LgQhYY2359rdsDqpvziYwqrWkc5EdvhJARiUWo,3597
|
|
75
|
-
LoopStructural/modelling/features/_base_geological_feature.py,sha256=
|
|
76
|
-
LoopStructural/modelling/features/_cross_product_geological_feature.py,sha256=
|
|
77
|
-
LoopStructural/modelling/features/_geological_feature.py,sha256=
|
|
78
|
-
LoopStructural/modelling/features/_lambda_geological_feature.py,sha256=
|
|
79
|
-
LoopStructural/modelling/features/_projected_vector_feature.py,sha256=
|
|
75
|
+
LoopStructural/modelling/features/_base_geological_feature.py,sha256=L4JsDpyys39OWIqb_rwJrebihN-CtGFQNgzy6MQw3oE,11964
|
|
76
|
+
LoopStructural/modelling/features/_cross_product_geological_feature.py,sha256=GIyCHUdE6F-bse2e4puG9V2f7qRtDVfby5PRe2BboD4,3021
|
|
77
|
+
LoopStructural/modelling/features/_geological_feature.py,sha256=XgSnNlQycjV4dmXBD3eQGKpaZaoSowCedCFVq0PjwCI,11244
|
|
78
|
+
LoopStructural/modelling/features/_lambda_geological_feature.py,sha256=0QmfWkdX7mH5llxSpKIMr006Z8Z-JIlrzjO6dYSB9Ak,2598
|
|
79
|
+
LoopStructural/modelling/features/_projected_vector_feature.py,sha256=aifVLgn2spmK7GGlO0iHDewf1pFL-QoRzZEePTZwX1s,3017
|
|
80
80
|
LoopStructural/modelling/features/_region.py,sha256=TB4qnoTDQM2VgRjgyODN839fKe3kuRYLllJj0xnDKXo,478
|
|
81
81
|
LoopStructural/modelling/features/_structural_frame.py,sha256=e3QmNHLwuZc5PX3rLafocmBLNTclO90AXB4BRILCFC4,5044
|
|
82
|
-
LoopStructural/modelling/features/_unconformity_feature.py,sha256=
|
|
82
|
+
LoopStructural/modelling/features/_unconformity_feature.py,sha256=2Bx0BI38YLdcNvDWuP9E1pKFN4orEUq9aC8b5xG1UVk,2362
|
|
83
83
|
LoopStructural/modelling/features/builders/__init__.py,sha256=Gqld1C-PcaXfJ8vpkWMDCmehmd3hZNYQk1knPtl59Bk,266
|
|
84
|
-
LoopStructural/modelling/features/builders/_base_builder.py,sha256=
|
|
84
|
+
LoopStructural/modelling/features/builders/_base_builder.py,sha256=N3txGC98V08A8-k2TLdoIWgWLfblZ91kaTvciPq_QVM,3750
|
|
85
85
|
LoopStructural/modelling/features/builders/_fault_builder.py,sha256=EyDLyovrnxqSk11zWFnViok7lXMt_E-pG2QqgRgvOLk,25653
|
|
86
86
|
LoopStructural/modelling/features/builders/_folded_feature_builder.py,sha256=1_0BVTzcvmFl6K3_lX-jF0tiMFPmS8j6vPeSLn9MbrE,6607
|
|
87
|
-
LoopStructural/modelling/features/builders/_geological_feature_builder.py,sha256=
|
|
88
|
-
LoopStructural/modelling/features/builders/_structural_frame_builder.py,sha256=
|
|
87
|
+
LoopStructural/modelling/features/builders/_geological_feature_builder.py,sha256=jn2BiZlzXyWl0_TrsajpFR2wegGOpbuO5yFu2FamuYA,22014
|
|
88
|
+
LoopStructural/modelling/features/builders/_structural_frame_builder.py,sha256=ms3-fuFpDEarjzYU5W499TquOIlTwHPUibVxIypfmWY,8019
|
|
89
89
|
LoopStructural/modelling/features/fault/__init__.py,sha256=4u0KfYzmoO-ddFGo9qd9ov0gBoLqBiPAUsaw5zhEOAQ,189
|
|
90
90
|
LoopStructural/modelling/features/fault/_fault_function.py,sha256=5IzVyvv1tS5Z6geMB8FdTZpGrBYbyu38cOH03NACm0o,12797
|
|
91
91
|
LoopStructural/modelling/features/fault/_fault_function_feature.py,sha256=4m0jVNx7ewrVI0pECI1wNciv8Cy8FzhZrYDjKJ_e2GU,2558
|
|
92
|
-
LoopStructural/modelling/features/fault/_fault_segment.py,sha256=
|
|
93
|
-
LoopStructural/modelling/features/fold/__init__.py,sha256=
|
|
92
|
+
LoopStructural/modelling/features/fault/_fault_segment.py,sha256=k7q23RB2ev9Q9aJBSScZqqa4LuW89eFeW899GrFwTwo,17902
|
|
93
|
+
LoopStructural/modelling/features/fold/__init__.py,sha256=pOv20yQvshZozvmO_YFw2E7Prp9DExlm855N-0SnxbQ,175
|
|
94
94
|
LoopStructural/modelling/features/fold/_fold.py,sha256=bPnnLUSiF4uoMRg8aHoOSTPRgaM0JyLoRQPu5_A-J3w,5448
|
|
95
95
|
LoopStructural/modelling/features/fold/_fold_rotation_angle_feature.py,sha256=CXLbFRQ3CrTMAcHmfdbKcmSvvLs9_6TLe0Wqi1pK2tg,892
|
|
96
96
|
LoopStructural/modelling/features/fold/_foldframe.py,sha256=Rgf5aofN0OVDTZ2pzqLzAGlJUO2rnNm3aFvLSnH77yo,7669
|
|
97
97
|
LoopStructural/modelling/features/fold/_svariogram.py,sha256=uzGaKZ5HGh8xZcsGGg68GUKVjkd5udLy7-4lh0NQc2Y,7765
|
|
98
98
|
LoopStructural/modelling/features/fold/fold_function/__init__.py,sha256=VqMjabsBd5GnPnDMXeKwXqtd0te2iXnvHxpf6jCC9YU,830
|
|
99
|
-
LoopStructural/modelling/features/fold/fold_function/_base_fold_rotation_angle.py,sha256=
|
|
99
|
+
LoopStructural/modelling/features/fold/fold_function/_base_fold_rotation_angle.py,sha256=5Bu_5xjyu4KL7thZ4fsh938Ep3Oyh5TL7_rfz_13Qng,8047
|
|
100
100
|
LoopStructural/modelling/features/fold/fold_function/_fourier_series_fold_rotation_angle.py,sha256=Cjb6Pt6cdRoH3WGqFyJ2rHxnMe6SKvzRayA6hTuwZA8,4069
|
|
101
|
-
LoopStructural/modelling/features/fold/fold_function/_lambda_fold_rotation_angle.py,sha256=
|
|
102
|
-
LoopStructural/modelling/features/fold/fold_function/_trigo_fold_rotation_angle.py,sha256=
|
|
101
|
+
LoopStructural/modelling/features/fold/fold_function/_lambda_fold_rotation_angle.py,sha256=TezZFSLKxILOkzuM27zO7qr58TGbDUxMgIG_le_SyG8,1445
|
|
102
|
+
LoopStructural/modelling/features/fold/fold_function/_trigo_fold_rotation_angle.py,sha256=z2zKcCTDyM2S0fCyL-jNAGo-LXIzNr_9fsUPkH8pZUY,4903
|
|
103
103
|
LoopStructural/modelling/input/__init__.py,sha256=HhJM3V5b-8_64LiRbF3Bd1pjWhJlcknxMSMPRrqZ0-I,153
|
|
104
104
|
LoopStructural/modelling/input/fault_network.py,sha256=0uxl7lOySdhMhNXoiOkuiHIXqAz1Ls0j-W65cmdQoP8,2348
|
|
105
105
|
LoopStructural/modelling/input/map2loop_processor.py,sha256=T7Fgqd7FNJWylLKvfIniRZBMRMeAoP8iU330-WYU8Fg,7031
|
|
106
|
-
LoopStructural/modelling/input/process_data.py,sha256=
|
|
106
|
+
LoopStructural/modelling/input/process_data.py,sha256=9xWZtFWbE5NjJzULSZDJt-qccV0GuZ-oNMi3nfxPT-M,26293
|
|
107
107
|
LoopStructural/modelling/input/project_file.py,sha256=WhJkMfDK9uE7MK7HK-YK6ZOBAdwLX5P7ThZgXj444Eg,4604
|
|
108
108
|
LoopStructural/modelling/intrusions/__init__.py,sha256=EpZK3cHJwGQhPUYIwKCKu8vkNdt_nOgWF0zfhiqDYDA,712
|
|
109
109
|
LoopStructural/modelling/intrusions/geom_conceptual_models.py,sha256=jwTlhYySUj7z4DEnJoi4AINZB_N3-SW6ONRFL66OsW0,3665
|
|
@@ -113,9 +113,9 @@ LoopStructural/modelling/intrusions/intrusion_feature.py,sha256=ESjtikHFJQzUnowb
|
|
|
113
113
|
LoopStructural/modelling/intrusions/intrusion_frame_builder.py,sha256=Q1TPHxREcrO7Rw71nUfACZHfYnISLjqlgkUNTPT324k,40143
|
|
114
114
|
LoopStructural/modelling/intrusions/intrusion_support_functions.py,sha256=wodakheMD62WJyoKnyX8UO-C1pje0I-5kHQEoDqShzo,13951
|
|
115
115
|
LoopStructural/utils/__init__.py,sha256=OJqNSu40SYJeC26IhoBBXDqQOogWjMGA-YokKVRrwMs,924
|
|
116
|
-
LoopStructural/utils/_surface.py,sha256=
|
|
117
|
-
LoopStructural/utils/_transformation.py,sha256=
|
|
118
|
-
LoopStructural/utils/colours.py,sha256
|
|
116
|
+
LoopStructural/utils/_surface.py,sha256=qXn0WHiMlYx-e_eRSoRcBIIrAlM8WUsi0cthiUQ_ptM,5974
|
|
117
|
+
LoopStructural/utils/_transformation.py,sha256=peuLPH3BJ5DxnPbOuNKcqK4eXhAXdbT540L1OIsO3v0,5404
|
|
118
|
+
LoopStructural/utils/colours.py,sha256=-KRf1MXKx4L8TXnwyiunmKAX4tfy0qG68fRadyfn_bM,1163
|
|
119
119
|
LoopStructural/utils/config.py,sha256=ITGOtZTo2_QBwXkG_0AFANfE90J9siCXLzxypVmg9QA,414
|
|
120
120
|
LoopStructural/utils/dtm_creator.py,sha256=-yqGG0wyEJfTCCDghz058wull1q3zGFASjeu8oDgYnk,535
|
|
121
121
|
LoopStructural/utils/exceptions.py,sha256=SJboJ7ncMqVX-ib7MMizClwMrFZRHQhjZr2eCnVwnQE,500
|
|
@@ -129,8 +129,8 @@ LoopStructural/utils/regions.py,sha256=LvcOCPudF4u95-GKBOZqXVxOEcR3cOFgFpcs5x43s
|
|
|
129
129
|
LoopStructural/utils/typing.py,sha256=29uVSTZdzXXH-jdlaYyBWZ1gQ2-nlZ2-XoVgG_PXNFY,157
|
|
130
130
|
LoopStructural/utils/utils.py,sha256=2Z4zVE6G752-SPmM29zebk82bROJxEwi_YiiJjcVED4,2438
|
|
131
131
|
LoopStructural/visualisation/__init__.py,sha256=5BDgKor8-ae6DrS7IZybJ3Wq_pTnCchxuY4EgzA7v1M,318
|
|
132
|
-
LoopStructural-1.6.
|
|
133
|
-
LoopStructural-1.6.
|
|
134
|
-
LoopStructural-1.6.
|
|
135
|
-
LoopStructural-1.6.
|
|
136
|
-
LoopStructural-1.6.
|
|
132
|
+
LoopStructural-1.6.8.dist-info/LICENSE,sha256=ZqGeNFOgmYevj7Ld7Q-kR4lAxWXuBRUdUmPC6XM_py8,1071
|
|
133
|
+
LoopStructural-1.6.8.dist-info/METADATA,sha256=b3E6PD8VPFCtEJRxS3I39m3SXzw9x4oJT7oER1fMs4c,6421
|
|
134
|
+
LoopStructural-1.6.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
135
|
+
LoopStructural-1.6.8.dist-info/top_level.txt,sha256=QtQErKzYHfg6ddxTQ1NyaTxXBVM6qAqrM_vxEPyXZLg,15
|
|
136
|
+
LoopStructural-1.6.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|