LoopStructural 1.0.4__zip
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.
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/__init__.py +33 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__init__.py +12 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__pycache__/_base.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/_base.py +65 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/claudius.csv +21049 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/claudiusbb.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/duplex.csv +126 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/duplexbb.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/intrusion.csv +1017 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/intrusionbb.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/onefoldbb.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/onefolddata.csv +2226 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/refolded_bb.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/refolded_fold.csv +2126 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__init__.py +31 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/discrete_fold_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/discrete_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/finite_difference_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/geological_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/operator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/piecewiselinear_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/structured_grid.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/structured_tetra.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/surfe_wrapper.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/__init__.py +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/dsi_helper.c +27782 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/dsi_helper.cp37-win_amd64.pyd +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/discrete_fold_interpolator.py +171 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/discrete_interpolator.py +551 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/finite_difference_interpolator.py +342 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/geological_interpolator.py +190 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/operator.py +60 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/piecewiselinear_interpolator.py +348 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/structured_grid.py +466 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/structured_tetra.py +638 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/surfe_wrapper.py +117 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/__init__.py +46 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__init__.py +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__pycache__/geological_model.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/geological_model.py +1351 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__init__.py +3 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_function.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_function_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_segment.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_function.py +187 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_function_feature.py +75 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_segment.py +270 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__init__.py +7 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/cross_product_geological_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/geological_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/geological_feature_builder.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/region_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/structural_frame.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/structural_frame_builder.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/unconformity_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/cross_product_geological_feature.py +77 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/geological_feature.py +286 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/geological_feature_builder.py +329 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/region_feature.py +34 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/structural_frame.py +116 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/structural_frame_builder.py +179 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/unconformity_feature.py +69 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__init__.py +8 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold_rotation_angle.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold_rotation_angle_feature.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/foldframe.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/svariogram.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold.py +135 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold_rotation_angle.py +132 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold_rotation_angle_feature.py +57 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/foldframe.py +192 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/svariogram.py +179 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__init__.py +14 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/exceptions.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/helper.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/map2loop.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/utils.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/exceptions.py +9 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/helper.py +378 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/map2loop.py +314 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/utils.py +120 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__init__.py +19 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/map_viewer.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/model_plotter.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/model_visualisation.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/rotation_angle_plotter.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/sphinx_scraper.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/map_viewer.py +307 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/model_plotter.py +16 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/model_visualisation.py +1012 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/rotation_angle_plotter.py +82 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/sphinx_scraper.py +34 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/PKG-INFO +10 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/SOURCES.txt +60 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/dependency_links.txt +1 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/requires.txt +8 -0
- Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/top_level.txt +2 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__init__.py +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/__init__.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_faults.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_fold.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_interpolator.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_refolded.cpython-37.pyc +0 -0
- Miniconda/envs/loop/Lib/site-packages/tests/test_faults.py +17 -0
- Miniconda/envs/loop/Lib/site-packages/tests/test_fold.py +57 -0
- Miniconda/envs/loop/Lib/site-packages/tests/test_interpolator.py +88 -0
- Miniconda/envs/loop/Lib/site-packages/tests/test_refolded.py +22 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
import matplotlib.pyplot as plt
|
|
4
|
+
import numpy as np
|
|
5
|
+
|
|
6
|
+
logger = logging.getLogger(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class RotationAnglePlotter:
|
|
10
|
+
def __init__(self, feature, axis=True):
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
self.fig, self.ax = plt.subplots(2, 2, figsize=(30, 15))
|
|
15
|
+
self.ax[0][0].set_ylim(-90, 90)
|
|
16
|
+
self.ax[1][0].set_ylim(-90, 90)
|
|
17
|
+
self.feature = feature
|
|
18
|
+
|
|
19
|
+
def plot(self, x, y, ix, iy, symb,**kwargs):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
x : np.array
|
|
25
|
+
vector of x
|
|
26
|
+
y
|
|
27
|
+
ix
|
|
28
|
+
iy
|
|
29
|
+
symb
|
|
30
|
+
|
|
31
|
+
Returns
|
|
32
|
+
-------
|
|
33
|
+
|
|
34
|
+
"""
|
|
35
|
+
return self.ax[iy][ix].plot(x, y, symb,**kwargs)
|
|
36
|
+
def default_titles(self):
|
|
37
|
+
self.ax[0][0].set_title('Fold Axis S-Plot')
|
|
38
|
+
self.ax[0][1].set_title('Fold Axis S-Variogram')
|
|
39
|
+
self.ax[1][0].set_title('Fold Limb S-Plot')
|
|
40
|
+
self.ax[1][1].set_title('Fold Limb S-Variogram')
|
|
41
|
+
|
|
42
|
+
self.ax[1][1].set_xlabel('Variogram Steps')
|
|
43
|
+
self.ax[1][1].set_ylabel('Fold Limb S-Variogram')
|
|
44
|
+
self.ax[1][0].set_ylabel('Fold Limb Rotation Angle')
|
|
45
|
+
self.ax[1][0].set_xlabel('Fold Frame Axial Surface Field')
|
|
46
|
+
|
|
47
|
+
self.ax[0][1].set_xlabel('Variogram Steps')
|
|
48
|
+
self.ax[0][1].set_ylabel('Fold Axis S-Variogram')
|
|
49
|
+
self.ax[0][0].set_ylabel('Fold Axis Rotation Angle')
|
|
50
|
+
self.ax[0][0].set_xlabel('Fold Frame Axis Direction Field')
|
|
51
|
+
def add_fold_limb_data(self, symb="bo",**kwargs):
|
|
52
|
+
fold_frame = self.feature.fold.fold_limb_rotation.fold_frame_coordinate
|
|
53
|
+
rotation = self.feature.fold.fold_limb_rotation.rotation_angle
|
|
54
|
+
return self.plot(fold_frame, rotation, 0, 1, symb,**kwargs)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def add_fold_limb_curve(self, symb='r-',**kwargs):
|
|
58
|
+
x = np.linspace(self.feature.fold.foldframe[0].min(),self.feature.fold.foldframe[0].max(),100)
|
|
59
|
+
return self.plot(x,self.feature.fold.fold_limb_rotation(x), 0, 1, symb,**kwargs)
|
|
60
|
+
|
|
61
|
+
def add_axis_svariogram(self, symb='bo',**kwargs):
|
|
62
|
+
svariogram = self.feature.fold.fold_axis_rotation.svario
|
|
63
|
+
if svariogram:
|
|
64
|
+
svariogram.calc_semivariogram()
|
|
65
|
+
return self.plot(svariogram.lags, svariogram.variogram, 1, 0, symb,**kwargs)
|
|
66
|
+
|
|
67
|
+
def add_limb_svariogram(self, symb='bo', **kwargs):
|
|
68
|
+
svariogram = self.feature.fold.fold_limb_rotation.svario
|
|
69
|
+
if svariogram:
|
|
70
|
+
svariogram.calc_semivariogram()
|
|
71
|
+
return self.plot(svariogram.lags, svariogram.variogram, 1, 1, symb,**kwargs)
|
|
72
|
+
|
|
73
|
+
def add_fold_axis_data(self, symb='bo',**kwargs):
|
|
74
|
+
fold_frame = self.feature.fold.fold_axis_rotation.fold_frame_coordinate
|
|
75
|
+
rotation = self.feature.fold.fold_axis_rotation.rotation_angle
|
|
76
|
+
return self.plot(fold_frame, rotation, 0, 0, symb,**kwargs)
|
|
77
|
+
|
|
78
|
+
def add_fold_axis_curve(self, symb='r-',**kwargs):
|
|
79
|
+
x = np.linspace(self.feature.fold.foldframe[1].min(),self.feature.fold.foldframe[1].max(),100)
|
|
80
|
+
return self.plot(x,self.feature.fold.fold_axis_rotation(x), 0, 0, symb,**kwargs)
|
|
81
|
+
|
|
82
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from LoopStructural.visualisation import model_visualisation as model_visualisation
|
|
2
|
+
def _get_loop_visualisation_scraper():
|
|
3
|
+
return Scraper()
|
|
4
|
+
|
|
5
|
+
class Scraper:
|
|
6
|
+
"""
|
|
7
|
+
Save ``pyvista.Plotter`` objects.
|
|
8
|
+
|
|
9
|
+
Used by sphinx-gallery to generate the plots from the code in the examples.
|
|
10
|
+
|
|
11
|
+
Pass an instance of this class to ``sphinx_gallery_conf`` in your
|
|
12
|
+
``conf.py`` as the ``"image_scrapers"`` argument.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
def __call__(self, block, block_vars, gallery_conf):
|
|
16
|
+
"""Save the figures generated after running example code.
|
|
17
|
+
|
|
18
|
+
Called by sphinx-gallery.
|
|
19
|
+
|
|
20
|
+
"""
|
|
21
|
+
try:
|
|
22
|
+
from sphinx_gallery.scrapers import figure_rst
|
|
23
|
+
except ImportError:
|
|
24
|
+
raise ImportError('You must install `sphinx_gallery`')
|
|
25
|
+
image_names = list()
|
|
26
|
+
image_path_iterator = block_vars["image_path_iterator"]
|
|
27
|
+
figures = model_visualisation._OPEN_VIEWERS
|
|
28
|
+
for address, plotter in figures.items():
|
|
29
|
+
plotter.lv['background'] = 'white'
|
|
30
|
+
fname = next(image_path_iterator)
|
|
31
|
+
plotter.save(fname)
|
|
32
|
+
image_names.append(fname)
|
|
33
|
+
model_visualisation.close_all() # close and clear all plotters
|
|
34
|
+
return figure_rst(image_names, gallery_conf["src_dir"])
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
setup.py
|
|
3
|
+
LoopStructural/__init__.py
|
|
4
|
+
LoopStructural.egg-info/PKG-INFO
|
|
5
|
+
LoopStructural.egg-info/SOURCES.txt
|
|
6
|
+
LoopStructural.egg-info/dependency_links.txt
|
|
7
|
+
LoopStructural.egg-info/requires.txt
|
|
8
|
+
LoopStructural.egg-info/top_level.txt
|
|
9
|
+
LoopStructural/interpolators/cython/dsi_helper.c
|
|
10
|
+
LoopStructural/datasets/__init__.py
|
|
11
|
+
LoopStructural/datasets/_base.py
|
|
12
|
+
LoopStructural/interpolators/__init__.py
|
|
13
|
+
LoopStructural/interpolators/discrete_fold_interpolator.py
|
|
14
|
+
LoopStructural/interpolators/discrete_interpolator.py
|
|
15
|
+
LoopStructural/interpolators/finite_difference_interpolator.py
|
|
16
|
+
LoopStructural/interpolators/geological_interpolator.py
|
|
17
|
+
LoopStructural/interpolators/operator.py
|
|
18
|
+
LoopStructural/interpolators/piecewiselinear_interpolator.py
|
|
19
|
+
LoopStructural/interpolators/structured_grid.py
|
|
20
|
+
LoopStructural/interpolators/structured_tetra.py
|
|
21
|
+
LoopStructural/interpolators/surfe_wrapper.py
|
|
22
|
+
LoopStructural/interpolators/cython/__init__.py
|
|
23
|
+
LoopStructural/interpolators/cython/dsi_helper.c
|
|
24
|
+
LoopStructural/modelling/__init__.py
|
|
25
|
+
LoopStructural/modelling/core/__init__.py
|
|
26
|
+
LoopStructural/modelling/core/geological_model.py
|
|
27
|
+
LoopStructural/modelling/fault/__init__.py
|
|
28
|
+
LoopStructural/modelling/fault/fault_function.py
|
|
29
|
+
LoopStructural/modelling/fault/fault_function_feature.py
|
|
30
|
+
LoopStructural/modelling/fault/fault_segment.py
|
|
31
|
+
LoopStructural/modelling/features/__init__.py
|
|
32
|
+
LoopStructural/modelling/features/cross_product_geological_feature.py
|
|
33
|
+
LoopStructural/modelling/features/geological_feature.py
|
|
34
|
+
LoopStructural/modelling/features/geological_feature_builder.py
|
|
35
|
+
LoopStructural/modelling/features/region_feature.py
|
|
36
|
+
LoopStructural/modelling/features/structural_frame.py
|
|
37
|
+
LoopStructural/modelling/features/structural_frame_builder.py
|
|
38
|
+
LoopStructural/modelling/features/unconformity_feature.py
|
|
39
|
+
LoopStructural/modelling/fold/__init__.py
|
|
40
|
+
LoopStructural/modelling/fold/fold.py
|
|
41
|
+
LoopStructural/modelling/fold/fold_rotation_angle.py
|
|
42
|
+
LoopStructural/modelling/fold/fold_rotation_angle_feature.py
|
|
43
|
+
LoopStructural/modelling/fold/foldframe.py
|
|
44
|
+
LoopStructural/modelling/fold/svariogram.py
|
|
45
|
+
LoopStructural/utils/__init__.py
|
|
46
|
+
LoopStructural/utils/exceptions.py
|
|
47
|
+
LoopStructural/utils/helper.py
|
|
48
|
+
LoopStructural/utils/map2loop.py
|
|
49
|
+
LoopStructural/utils/utils.py
|
|
50
|
+
LoopStructural/visualisation/__init__.py
|
|
51
|
+
LoopStructural/visualisation/map_viewer.py
|
|
52
|
+
LoopStructural/visualisation/model_plotter.py
|
|
53
|
+
LoopStructural/visualisation/model_visualisation.py
|
|
54
|
+
LoopStructural/visualisation/rotation_angle_plotter.py
|
|
55
|
+
LoopStructural/visualisation/sphinx_scraper.py
|
|
56
|
+
tests/__init__.py
|
|
57
|
+
tests/test_faults.py
|
|
58
|
+
tests/test_fold.py
|
|
59
|
+
tests/test_interpolator.py
|
|
60
|
+
tests/test_refolded.py
|
Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.4-py3.7.egg-info/dependency_links.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from LoopStructural import GeologicalModel
|
|
2
|
+
from LoopStructural.datasets import load_intrusion
|
|
3
|
+
data, bb = load_intrusion()
|
|
4
|
+
model = GeologicalModel(bb[0,:],bb[1,:])
|
|
5
|
+
model.set_model_data(data)
|
|
6
|
+
fault = model.create_and_add_fault('fault',
|
|
7
|
+
500,
|
|
8
|
+
nelements=2000,
|
|
9
|
+
steps=4,
|
|
10
|
+
interpolatortype='PLI',
|
|
11
|
+
buffer=0.2)
|
|
12
|
+
strati = model.create_and_add_foliation('strati',
|
|
13
|
+
nelements=30000,
|
|
14
|
+
interpolatortype='PLI',
|
|
15
|
+
cgw=0.1,
|
|
16
|
+
buffer=0.1
|
|
17
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
from LoopStructural import GeologicalModel
|
|
2
|
+
from LoopStructural.datasets import load_noddy_single_fold
|
|
3
|
+
|
|
4
|
+
import pandas as pd
|
|
5
|
+
|
|
6
|
+
data, boundary_points = load_noddy_single_fold()
|
|
7
|
+
data.head()
|
|
8
|
+
def test_average_fold_axis():
|
|
9
|
+
mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
|
|
10
|
+
model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
|
|
11
|
+
model.set_model_data(mdata)
|
|
12
|
+
fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
|
|
13
|
+
stratigraphy = model.create_and_add_folded_foliation('s0',
|
|
14
|
+
fold_frame,
|
|
15
|
+
nelements=10000,
|
|
16
|
+
av_fold_axis=True
|
|
17
|
+
# fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
|
|
18
|
+
# limb_wl=1
|
|
19
|
+
)
|
|
20
|
+
def test_fixed_fold_axis():
|
|
21
|
+
mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
|
|
22
|
+
model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
|
|
23
|
+
model.set_model_data(mdata)
|
|
24
|
+
fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
|
|
25
|
+
stratigraphy = model.create_and_add_folded_foliation('s0',
|
|
26
|
+
fold_frame,
|
|
27
|
+
nelements=10000,
|
|
28
|
+
# av_fold_axis=True
|
|
29
|
+
fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
|
|
30
|
+
# limb_wl=1
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
def test_fixed_wavelength():
|
|
34
|
+
mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
|
|
35
|
+
model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
|
|
36
|
+
model.set_model_data(mdata)
|
|
37
|
+
fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
|
|
38
|
+
stratigraphy = model.create_and_add_folded_foliation('s0',
|
|
39
|
+
fold_frame,
|
|
40
|
+
nelements=10000,
|
|
41
|
+
# av_fold_axis=True
|
|
42
|
+
fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
|
|
43
|
+
limb_wl=1
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
def test_no_fold_frame():
|
|
47
|
+
mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
|
|
48
|
+
model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
|
|
49
|
+
model.set_model_data(mdata)
|
|
50
|
+
fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
|
|
51
|
+
stratigraphy = model.create_and_add_folded_foliation('s0',
|
|
52
|
+
# fold_frame,
|
|
53
|
+
nelements=10000,
|
|
54
|
+
# av_fold_axis=True
|
|
55
|
+
fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
|
|
56
|
+
limb_wl=1
|
|
57
|
+
)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
from LoopStructural import GeologicalModel
|
|
2
|
+
from LoopStructural.datasets import load_claudius
|
|
3
|
+
|
|
4
|
+
def test_create_model():
|
|
5
|
+
data, bb = load_claudius()
|
|
6
|
+
model = GeologicalModel(bb[0,:],bb[1,:])
|
|
7
|
+
|
|
8
|
+
def test_add_data():
|
|
9
|
+
data, bb = load_claudius()
|
|
10
|
+
model = GeologicalModel(bb[0,:],bb[1,:])
|
|
11
|
+
model.set_model_data(data)
|
|
12
|
+
|
|
13
|
+
def test_create_stratigraphy_FDI_cg():
|
|
14
|
+
data, bb = load_claudius()
|
|
15
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
16
|
+
model.set_model_data(data)
|
|
17
|
+
s0 = model.create_and_add_foliation('s0',
|
|
18
|
+
interpolatortype='FDI',
|
|
19
|
+
nelements=1000,
|
|
20
|
+
solver='cg',
|
|
21
|
+
damp=False)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_remove_constraints_PLI():
|
|
25
|
+
data, bb = load_claudius()
|
|
26
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
27
|
+
model.set_model_data(data)
|
|
28
|
+
s0 = model.create_and_add_foliation('s0',
|
|
29
|
+
interpolatortype='FDI',
|
|
30
|
+
nelements=1000,
|
|
31
|
+
solver='cg',
|
|
32
|
+
damp=False)
|
|
33
|
+
|
|
34
|
+
def test_create_stratigraphy_FDI_lu():
|
|
35
|
+
data, bb = load_claudius()
|
|
36
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
37
|
+
model.set_model_data(data)
|
|
38
|
+
s0 = model.create_and_add_foliation('s0',
|
|
39
|
+
interpolatortype='FDI',
|
|
40
|
+
nelements=1000,
|
|
41
|
+
solver='lu',
|
|
42
|
+
damp=True)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def test_create_stratigraphy_FDI_pyamg():
|
|
46
|
+
data, bb = load_claudius()
|
|
47
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
48
|
+
model.set_model_data(data)
|
|
49
|
+
s0 = model.create_and_add_foliation('s0',
|
|
50
|
+
interpolatortype='FDI',
|
|
51
|
+
nelements=1000,
|
|
52
|
+
solver='pyamg',
|
|
53
|
+
damp=True)
|
|
54
|
+
|
|
55
|
+
def test_create_stratigraphy_PLI_cg():
|
|
56
|
+
data, bb = load_claudius()
|
|
57
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
58
|
+
model.set_model_data(data)
|
|
59
|
+
s0 = model.create_and_add_foliation('s0',
|
|
60
|
+
interpolatortype='PLI',
|
|
61
|
+
nelements=1000,
|
|
62
|
+
solver='cg',
|
|
63
|
+
damp=False)
|
|
64
|
+
|
|
65
|
+
def test_create_stratigraphy_PLI_lu():
|
|
66
|
+
data, bb = load_claudius()
|
|
67
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
68
|
+
model.set_model_data(data)
|
|
69
|
+
s0 = model.create_and_add_foliation('s0',
|
|
70
|
+
interpolatortype='PLI',
|
|
71
|
+
nelements=1000,
|
|
72
|
+
solver='lu',
|
|
73
|
+
damp=True)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def test_create_stratigraphy_PLI_pyamg():
|
|
77
|
+
data, bb = load_claudius()
|
|
78
|
+
model = GeologicalModel(bb[0, :], bb[1, :])
|
|
79
|
+
model.set_model_data(data)
|
|
80
|
+
s0 = model.create_and_add_foliation('s0',
|
|
81
|
+
interpolatortype='PLI',
|
|
82
|
+
nelements=1000,
|
|
83
|
+
solver='pyamg',
|
|
84
|
+
damp=True)
|
|
85
|
+
|
|
86
|
+
def test_model_with_data_outside_of_bounding_box():
|
|
87
|
+
pass
|
|
88
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from LoopStructural import GeologicalModel
|
|
2
|
+
from LoopStructural.datasets import load_laurent2016
|
|
3
|
+
|
|
4
|
+
def average_axis():
|
|
5
|
+
data, bb = load_laurent2016()
|
|
6
|
+
|
|
7
|
+
model = GeologicalModel(bb[0,:],bb[1,:])
|
|
8
|
+
model.set_model_data(data)
|
|
9
|
+
s2 = model.create_and_add_fold_frame('s2',
|
|
10
|
+
nelements=10000)
|
|
11
|
+
|
|
12
|
+
s1 = model.create_and_add_folded_fold_frame('s1',
|
|
13
|
+
limb_wl=.4,
|
|
14
|
+
av_fold_axis=True,
|
|
15
|
+
nelements=50000
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
s0 = model.create_and_add_folded_fold_frame('s0',
|
|
19
|
+
limb_wl=1.,
|
|
20
|
+
av_fold_axis=True,
|
|
21
|
+
nelements=50000
|
|
22
|
+
)
|