LoopStructural 1.6.8__py3-none-any.whl → 1.6.9__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.

@@ -429,6 +429,25 @@ class BoundingBox:
429
429
  "maximum": self.maximum.tolist(),
430
430
  "nsteps": self.nsteps.tolist(),
431
431
  }
432
+ @classmethod
433
+ def from_dict(cls, data: dict) -> 'BoundingBox':
434
+ """Create a bounding box from a dictionary
435
+
436
+ Parameters
437
+ ----------
438
+ data : dict
439
+ dictionary with origin, maximum and nsteps
440
+
441
+ Returns
442
+ -------
443
+ BoundingBox
444
+ bounding box object
445
+ """
446
+ return cls(
447
+ origin=np.array(data["origin"]),
448
+ maximum=np.array(data["maximum"]),
449
+ nsteps=np.array(data["nsteps"]),
450
+ )
432
451
 
433
452
  def vtk(self):
434
453
  """Export the model as a pyvista RectilinearGrid
@@ -334,8 +334,14 @@ class BaseFeature(metaclass=ABCMeta):
334
334
  bounding_box = self.model.bounding_box
335
335
  grid = bounding_box.structured_grid(name=self.name)
336
336
  value = self.evaluate_value(
337
- self.model.scale(bounding_box.regular_grid(local=False, order='F'))
337
+ bounding_box.regular_grid(local=False, order='F')
338
338
  )
339
+ if self.model is not None:
340
+
341
+ value = self.evaluate_value(
342
+ self.model.scale(bounding_box.regular_grid(local=False, order='F'))
343
+ )
344
+
339
345
  grid.properties[self.name] = value
340
346
 
341
347
  value = self.evaluate_value(bounding_box.cell_centres(order='F'))
@@ -42,6 +42,7 @@ class GeologicalFeature(BaseFeature):
42
42
  builder,
43
43
  regions: list = [],
44
44
  faults: list = [],
45
+ interpolator=None,
45
46
  model=None,
46
47
  ):
47
48
  """Default constructor for geological feature
@@ -60,7 +61,7 @@ class GeologicalFeature(BaseFeature):
60
61
  BaseFeature.__init__(self, name, model, faults, regions, builder)
61
62
  self.name = name
62
63
  self.builder = builder
63
- self.interpolator = self.builder.interpolator if self.builder is not None else None
64
+ self.interpolator = self.builder.interpolator if self.builder is not None else interpolator
64
65
  self.type = FeatureType.INTERPOLATED
65
66
 
66
67
  def to_json(self):
@@ -90,3 +90,14 @@ class LambdaGeologicalFeature(BaseFeature):
90
90
 
91
91
  def get_data(self, value_map: Optional[dict] = None):
92
92
  return
93
+
94
+ def copy(self, name: Optional[str] = None):
95
+ return LambdaGeologicalFeature(
96
+ self.function,
97
+ name if name is not None else f'{self.name}_copy',
98
+ self.gradient_function,
99
+ self.model,
100
+ self.regions,
101
+ self.faults,
102
+ self.builder,
103
+ )
LoopStructural/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.6.8"
1
+ __version__ = "1.6.9"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: LoopStructural
3
- Version: 1.6.8
3
+ Version: 1.6.9
4
4
  Summary: 3D geological modelling
5
5
  Author-email: Lachlan Grose <lachlan.grose@monash.edu>
6
6
  License: MIT
@@ -29,12 +29,12 @@ Requires-Dist: scipy
29
29
  Requires-Dist: scikit-image
30
30
  Requires-Dist: scikit-learn
31
31
  Provides-Extra: all
32
- Requires-Dist: loopstructural[export,inequalities,visualisation]; extra == "all"
32
+ Requires-Dist: loopstructural[export,inequalities,jupyter,visualisation]; extra == "all"
33
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"
37
- Requires-Dist: loopstructuralviusualisation>0.1.4; extra == "visualisation"
37
+ Requires-Dist: loopstructuralviusualisation>=0.1.14; extra == "visualisation"
38
38
  Provides-Extra: export
39
39
  Requires-Dist: geoh5py; extra == "export"
40
40
  Requires-Dist: pyevtk; extra == "export"
@@ -58,6 +58,7 @@ Requires-Dist: geopandas; extra == "docs"
58
58
  Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
59
59
  Requires-Dist: myst-parser; extra == "docs"
60
60
  Requires-Dist: sphinx-design; extra == "docs"
61
+ Dynamic: license-file
61
62
 
62
63
  # LoopStructural: Loop3D Implicit Geological Modelling
63
64
 
@@ -1,5 +1,5 @@
1
1
  LoopStructural/__init__.py,sha256=fg_Vm1aMDYIf_CffTFopLsTx21u6deLaI7JMVpRYdOI,1378
2
- LoopStructural/version.py,sha256=PRuPGcPfxOnMhLtrBQIrBwTij1YQIyopsHDXZnO28RU,22
2
+ LoopStructural/version.py,sha256=cqdgnlJ01g3Nm9hqIB0XVUpI__WAWqmD626VQ6wd9sA,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,7 +29,7 @@ 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=pL_j4sot1qxQG-W9P6LYDOZyaIAx862kK_DWZIY-OIs,17853
32
+ LoopStructural/datatypes/_bounding_box.py,sha256=6yuqWqUzlWF1k0I09FgaBnb5bDitMQaXjHbwdrIizok,18352
33
33
  LoopStructural/datatypes/_point.py,sha256=sCZiWRdnbIH_P9b52btNrotrttWlE-e4Mr2BBwfAAZY,7710
34
34
  LoopStructural/datatypes/_structured_grid.py,sha256=mc-UM1Gh_BjHFItuPE4FF5wvGzJnSqF2MTx_xvrwcTk,5088
35
35
  LoopStructural/datatypes/_surface.py,sha256=IgXKcwZw3mF2DIImO7LT-HUapqABa8LU0WsxXTiqEHo,6562
@@ -72,10 +72,10 @@ LoopStructural/modelling/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
72
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=L4JsDpyys39OWIqb_rwJrebihN-CtGFQNgzy6MQw3oE,11964
75
+ LoopStructural/modelling/features/_base_geological_feature.py,sha256=z7z6v8MwYRVH5OWOi1vJqTt8vVOwrFysryI71L4cj-4,12122
76
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
77
+ LoopStructural/modelling/features/_geological_feature.py,sha256=u6pbKj9BujX1Ijj5eVdhwGDNjrIAI16CpiAn5n8g3RY,11279
78
+ LoopStructural/modelling/features/_lambda_geological_feature.py,sha256=ieZiiMd8HCeVEIl3B406tsysT7iUEGcEUJXALjhjkeM,2924
79
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
@@ -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.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,,
132
+ loopstructural-1.6.9.dist-info/licenses/LICENSE,sha256=ZqGeNFOgmYevj7Ld7Q-kR4lAxWXuBRUdUmPC6XM_py8,1071
133
+ loopstructural-1.6.9.dist-info/METADATA,sha256=em1vuQTzofTNruIoPIFthFCELOwH0KwlpUZpZnXNUDo,6453
134
+ loopstructural-1.6.9.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
135
+ loopstructural-1.6.9.dist-info/top_level.txt,sha256=QtQErKzYHfg6ddxTQ1NyaTxXBVM6qAqrM_vxEPyXZLg,15
136
+ loopstructural-1.6.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5