stoneforge 0.1.6.dev1__tar.gz → 0.2.0b1__tar.gz
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.
- {stoneforge-0.1.6.dev1/stoneforge.egg-info → stoneforge-0.2.0b1}/PKG-INFO +28 -27
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/README.md +8 -5
- stoneforge-0.2.0b1/docs/_build/html/_sources/index.rst.txt +43 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/classification.rst.txt +39 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/index.rst.txt +10 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/regression.rst.txt +39 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/petrophysics.rst.txt +39 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/preprocessing.rst.txt +28 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/pseudowells.rst.txt +23 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/modules/rockphysics.rst.txt +47 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/usage/installation.rst.txt +40 -0
- stoneforge-0.2.0b1/docs/_build/html/_sources/usage/quickstart.rst.txt +28 -0
- stoneforge-0.2.0b1/docs/conf.py +47 -0
- stoneforge-0.2.0b1/pyproject.toml +92 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/__init__.py +5 -1
- {stoneforge-0.1.6.dev1/stoneforge/preprocessing → stoneforge-0.2.0b1/stoneforge/datasets}/las2.py +9 -10
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/regularized_acoustic_reflectivy_inversion.py +0 -2
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/viability_study/bayes.py +3 -4
- stoneforge-0.2.0b1/stoneforge/io/__init__.py +3 -0
- stoneforge-0.2.0b1/stoneforge/io/csv.py +134 -0
- stoneforge-0.2.0b1/stoneforge/io/dlisio_r.py +362 -0
- {stoneforge-0.1.6.dev1/stoneforge/datasets → stoneforge-0.2.0b1/stoneforge/io}/las2.py +9 -10
- stoneforge-0.2.0b1/stoneforge/io/lasparser.py +74 -0
- stoneforge-0.2.0b1/stoneforge/machine_learning/__init__.py +4 -0
- stoneforge-0.2.0b1/stoneforge/machine_learning/classification/fit.py +266 -0
- stoneforge-0.2.0b1/stoneforge/machine_learning/classification/predict.py +104 -0
- stoneforge-0.2.0b1/stoneforge/machine_learning/classification/settings.py +93 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/validation.py +27 -62
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/fit.py +0 -1
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/predict.py +0 -6
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/settings.py +0 -3
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/validation.py +0 -8
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/fit.py +0 -1
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/predict.py +0 -6
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/settings.py +0 -3
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/validation.py +0 -9
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/evaluation.py +1 -1
- stoneforge-0.2.0b1/stoneforge/machine_learning/regression/fit.py +347 -0
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/mldr_project.py +0 -2
- stoneforge-0.2.0b1/stoneforge/machine_learning/regression/predict.py +119 -0
- stoneforge-0.2.0b1/stoneforge/machine_learning/regression/settings.py +91 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/helpers.py +1 -2
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/porosity.py +89 -111
- stoneforge-0.2.0b1/stoneforge/petrophysics/shale_volume.py +319 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/total_organic_carbon_content.py +3 -10
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/water_saturation.py +82 -82
- stoneforge-0.2.0b1/stoneforge/preprocessing/data_management.py +348 -0
- stoneforge-0.2.0b1/stoneforge/preprocessing/data_processing.py +180 -0
- stoneforge-0.2.0b1/stoneforge/preprocessing/las2.py +370 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/lithology_generator.py +2 -9
- stoneforge-0.2.0b1/stoneforge/pseudo_wells/monte_carlo_simulations.py +552 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/pseudo_tools.py +1 -2
- stoneforge-0.2.0b1/stoneforge/rock_physics/elastic_constants.py +236 -0
- stoneforge-0.2.0b1/stoneforge/rock_physics/fluid_substitution.py +380 -0
- stoneforge-0.2.0b1/stoneforge/rock_physics/gem.py +454 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/inclusion.py +3 -22
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/rock_physics_bounds.py +16 -16
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/butterworth.py +3 -5
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/ormsby.py +3 -3
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/ricker.py +3 -3
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1/stoneforge.egg-info}/PKG-INFO +28 -27
- stoneforge-0.2.0b1/stoneforge.egg-info/SOURCES.txt +96 -0
- stoneforge-0.2.0b1/stoneforge.egg-info/requires.txt +10 -0
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_classification_core.py → stoneforge-0.2.0b1/tests/tests_ml/test_classification.py +13 -18
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression_core.py → stoneforge-0.2.0b1/tests/tests_ml/test_regression.py +16 -26
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_porosity/parameters_p.py +1 -1
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_porosity/test_porosity.py +3 -6
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_fluid_substitution.py +2 -5
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_gem.py +1 -5
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_water_saturation/test_water_saturation.py +1 -4
- stoneforge-0.1.6.dev1/setup.py +0 -37
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/fit.py +0 -451
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/predict.py +0 -185
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/settings.py +0 -103
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/fit.py +0 -339
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/predict.py +0 -184
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/settings.py +0 -81
- stoneforge-0.1.6.dev1/stoneforge/petrophysics/shale_volume.py +0 -262
- stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_management.py +0 -203
- stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_processing.py +0 -130
- stoneforge-0.1.6.dev1/stoneforge/pseudo_wells/monte_carlo_simulations.py +0 -521
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/elastic_constants.py +0 -234
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/fluid_substitution.py +0 -367
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/gem.py +0 -408
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_las_into_pandas.py +0 -0
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression.py +0 -137
- stoneforge-0.1.6.dev1/stoneforge.egg-info/SOURCES.txt +0 -82
- stoneforge-0.1.6.dev1/stoneforge.egg-info/requires.txt +0 -9
- stoneforge-0.1.6.dev1/test_carbonate.py +0 -735
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/CHANGELOG.txt +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/LICENSE +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/MANIFEST.in +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/setup.cfg +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/data_info.txt +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/dataload.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/viability_study/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/preprocessing/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/preprocessing/las_pandas.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/vis/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/vis/img.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge.egg-info/dependency_links.txt +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge.egg-info/top_level.txt +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_elastic_constants.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_water_saturation/parameters_ws.py +0 -0
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: stoneforge
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0b1
|
|
4
4
|
Summary: Geophysics equations, algorithms and methods
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Author: GIECAR - UFF, Wagner M. Lupinacci, Fernando Vizeu, Fábio Júnior D Fernandes, José A. V. Dias, Mario M. Ramos, Jordan S. Cuno, João Vitor A. Estrella, Ana Carolina, Breno D. Chrispim
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: homepage, https://github.com/giecaruff/stoneforge
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Intended Audience :: Education
|
|
10
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
12
|
Requires-Python: >=3.10
|
|
9
13
|
Description-Content-Type: text/markdown
|
|
10
14
|
License-File: LICENSE
|
|
11
|
-
Requires-Dist:
|
|
12
|
-
Requires-Dist:
|
|
13
|
-
Requires-Dist:
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist: matplotlib
|
|
17
|
-
Requires-Dist: pandas
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
Requires-Dist:
|
|
15
|
+
Requires-Dist: dlisio>=1.0.3
|
|
16
|
+
Requires-Dist: numpy>=2.2.0
|
|
17
|
+
Requires-Dist: pytest>=8.3.4
|
|
18
|
+
Requires-Dist: scipy>=1.14.1
|
|
19
|
+
Requires-Dist: scikit-learn>=1.6.1
|
|
20
|
+
Requires-Dist: matplotlib>=3.10.0
|
|
21
|
+
Requires-Dist: pandas>=2.2.2
|
|
22
|
+
Requires-Dist: lightgbm>=4.5.0
|
|
23
|
+
Requires-Dist: notebook>=6.4.0
|
|
24
|
+
Requires-Dist: ipympl>=0.8.4
|
|
25
|
+
Dynamic: license-file
|
|
20
26
|
|
|
21
27
|
<p align="center">
|
|
22
28
|
<img src="https://raw.githubusercontent.com/giecaruff/logos/main/APPY/stoneforge.png" width="400"/>
|
|
@@ -30,7 +36,7 @@ Part of the <strong>Appy</strong> project
|
|
|
30
36
|
|
|
31
37
|
|
|
32
38
|
<p align="center">
|
|
33
|
-
<a href="https://giecaruff.github.io/
|
|
39
|
+
<a href="https://giecaruff.github.io/stoneforge/"><strong>Documentation</strong> (latest)</a> |
|
|
34
40
|
<a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
|
|
35
41
|
</p>
|
|
36
42
|
|
|
@@ -66,18 +72,13 @@ and them verify the installation using the following command in Python:
|
|
|
66
72
|
|
|
67
73
|
## Dataset
|
|
68
74
|
|
|
69
|
-
The stoneforge dataset comprises
|
|
70
|
-
Contains data sets from 11 wildcat wells drilled in the National Petroleum Reserve in Alaska (NPRA).
|
|
75
|
+
The stoneforge dataset comprises the following data:
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
Our special thanks to the INDIANA UNIVERSITY for mantaining this dataset
|
|
77
|
+
Four .las data from wildcat wells in the National Petroleum Reserve in Alaska. Those where drilled in the National Petroleum Reserve in Alaska (NPRA). </br>
|
|
78
|
+
[USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
|
|
76
79
|
|
|
80
|
+
Two .dlis data from the Mississippi Fan (Gulf of Mexico) from the DSDP (Deep Sea Drilling Project); DSDP Leg 96 - Hole 616; Processed and Original data. </br>
|
|
81
|
+
[DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
|
|
77
82
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
0.1.0 (29/01/2022)
|
|
82
|
-
------------------
|
|
83
|
-
- First Release
|
|
83
|
+
Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
|
|
84
|
+
Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
|
|
@@ -10,7 +10,7 @@ Part of the <strong>Appy</strong> project
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://giecaruff.github.io/
|
|
13
|
+
<a href="https://giecaruff.github.io/stoneforge/"><strong>Documentation</strong> (latest)</a> |
|
|
14
14
|
<a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
@@ -46,10 +46,13 @@ and them verify the installation using the following command in Python:
|
|
|
46
46
|
|
|
47
47
|
## Dataset
|
|
48
48
|
|
|
49
|
-
The stoneforge dataset comprises
|
|
50
|
-
|
|
49
|
+
The stoneforge dataset comprises the following data:
|
|
50
|
+
|
|
51
|
+
Four .las data from wildcat wells in the National Petroleum Reserve in Alaska. Those where drilled in the National Petroleum Reserve in Alaska (NPRA). </br>
|
|
52
|
+
[USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
|
|
53
|
+
|
|
54
|
+
Two .dlis data from the Mississippi Fan (Gulf of Mexico) from the DSDP (Deep Sea Drilling Project); DSDP Leg 96 - Hole 616; Processed and Original data. </br>
|
|
55
|
+
[DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
|
|
51
56
|
|
|
52
57
|
Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
|
|
53
58
|
Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
|
|
54
|
-
|
|
55
|
-
Our special thanks to the INDIANA UNIVERSITY for mantaining this dataset
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.. Stoneforge documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Mon May 27 13:42:11 2024.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
Welcome to Stoneforge's documentation!
|
|
7
|
+
======================================
|
|
8
|
+
|
|
9
|
+
**Version**: 1.4
|
|
10
|
+
|
|
11
|
+
**Stoneforge** is a Python library for geophysics equations, algorithms and methods that also,
|
|
12
|
+
are used in the software Appy. It is linked to the GIECAR laboratory at the Universidade Federal
|
|
13
|
+
Fluminense (UFF) related to the Geology and Geophysics Departament (GGO), and its purpose is to teach
|
|
14
|
+
and develop routines in Python to solve geological and geophysical problems. Main APPy references are :footcite:t:`estrella2022sbgf,estrella2022seg`.
|
|
15
|
+
|
|
16
|
+
.. note::
|
|
17
|
+
This project is under active development as of May 2024.
|
|
18
|
+
|
|
19
|
+
.. toctree::
|
|
20
|
+
:maxdepth: 2
|
|
21
|
+
:caption: Contents:
|
|
22
|
+
|
|
23
|
+
usage/installation
|
|
24
|
+
usage/quickstart
|
|
25
|
+
|
|
26
|
+
modules/petrophysics
|
|
27
|
+
modules/rockphysics
|
|
28
|
+
modules/pseudowells
|
|
29
|
+
modules/machinelearning/index
|
|
30
|
+
modules/preprocessing
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Indices and tables
|
|
34
|
+
==================
|
|
35
|
+
|
|
36
|
+
* :ref:`genindex`
|
|
37
|
+
* :ref:`modindex`
|
|
38
|
+
* :ref:`search`
|
|
39
|
+
|
|
40
|
+
References
|
|
41
|
+
----------------
|
|
42
|
+
|
|
43
|
+
.. footbibliography::
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Classification
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Classification module (Machine learning).
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.machine_learning.classification
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Settings (Classification)
|
|
13
|
+
--------------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.machine_learning.classification.settings
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fit (Classification)
|
|
21
|
+
--------------------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.machine_learning.classification.fit
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Predict (Classification)
|
|
29
|
+
--------------------------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.machine_learning.classification.predict
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
References
|
|
37
|
+
--------------------------------
|
|
38
|
+
|
|
39
|
+
.. footbibliography::
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Regression
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Regression module in (machine learning).
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.machine_learning.regression
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Settings (Regression)
|
|
13
|
+
--------------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.machine_learning.regression.settings
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fit (Regression)
|
|
21
|
+
--------------------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.machine_learning.regression.fit
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Predict (Regression)
|
|
29
|
+
--------------------------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.machine_learning.regression.predict
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
References
|
|
37
|
+
--------------------------------
|
|
38
|
+
|
|
39
|
+
.. footbibliography::
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Petrophysics
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Petrophysics module. We indicate the reference (Pt-Br) of :footcite:t:`freire2020youtube` for the methods used in this module.
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.petrophysics
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Porosity
|
|
13
|
+
---------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.petrophysics.porosity
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Shale Volume
|
|
21
|
+
----------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.petrophysics.shale_volume
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Water Saturation
|
|
29
|
+
----------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.petrophysics.water_saturation
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
References
|
|
37
|
+
----------------
|
|
38
|
+
|
|
39
|
+
.. footbibliography::
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Preprocessing
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Preprocessing module.
|
|
6
|
+
NOTE: Those methods will be modified in the future to be more flexible and
|
|
7
|
+
to allow for more complex workflows.
|
|
8
|
+
|
|
9
|
+
.. automodule:: stoneforge.preprocessing
|
|
10
|
+
:members:
|
|
11
|
+
:undoc-members:
|
|
12
|
+
:show-inheritance:
|
|
13
|
+
|
|
14
|
+
Data Management
|
|
15
|
+
-------------------------
|
|
16
|
+
|
|
17
|
+
.. automodule:: stoneforge.preprocessing.data_management
|
|
18
|
+
:members:
|
|
19
|
+
:undoc-members:
|
|
20
|
+
:show-inheritance:
|
|
21
|
+
|
|
22
|
+
Data Processing
|
|
23
|
+
-------------------------
|
|
24
|
+
|
|
25
|
+
.. automodule:: stoneforge.preprocessing.data_processing
|
|
26
|
+
:members:
|
|
27
|
+
:undoc-members:
|
|
28
|
+
:show-inheritance:
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Pseudo Wells
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Pseudo Wells module.
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.pseudo_wells
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Monte Carlo Simulations
|
|
13
|
+
-------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.pseudo_wells.monte_carlo_simulations
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
References
|
|
21
|
+
----------------
|
|
22
|
+
|
|
23
|
+
.. footbibliography::
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Rock Physics
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Rock Physics module. We indicate the reference (Pt-Br) of :footcite:t:`wagner2020rock_physics` for the methods used in this module.
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.rock_physics
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Elastic Constants
|
|
13
|
+
---------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.rock_physics.elastic_constants
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fluid Substitution
|
|
21
|
+
---------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.rock_physics.fluid_substitution
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Gem
|
|
29
|
+
----------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.rock_physics.gem
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
Rock Physics Bounds
|
|
37
|
+
---------------------
|
|
38
|
+
|
|
39
|
+
.. automodule:: stoneforge.rock_physics.rock_physics_bounds
|
|
40
|
+
:members:
|
|
41
|
+
:undoc-members:
|
|
42
|
+
:show-inheritance:
|
|
43
|
+
|
|
44
|
+
References
|
|
45
|
+
----------------
|
|
46
|
+
|
|
47
|
+
.. footbibliography::
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Installing Stoneforge
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This guide will walk you through the installation of the the Stoneforge library.
|
|
6
|
+
|
|
7
|
+
Prerequisites
|
|
8
|
+
=============
|
|
9
|
+
|
|
10
|
+
Before you begin, ensure you have met the following requirements:
|
|
11
|
+
|
|
12
|
+
* You have installed Python 3.8 or later (with pip).
|
|
13
|
+
* You have a Windows/Linux/Mac machine.
|
|
14
|
+
|
|
15
|
+
Installation
|
|
16
|
+
============
|
|
17
|
+
|
|
18
|
+
To install Stoneforge, follow these steps:
|
|
19
|
+
|
|
20
|
+
Windows, Linux and macOS
|
|
21
|
+
------------------------
|
|
22
|
+
|
|
23
|
+
1. Open your terminal.
|
|
24
|
+
|
|
25
|
+
2. Install the Stoneforge package with pip:
|
|
26
|
+
|
|
27
|
+
.. code-block:: bash
|
|
28
|
+
|
|
29
|
+
pip install stoneforge
|
|
30
|
+
|
|
31
|
+
Verify Installation
|
|
32
|
+
===================
|
|
33
|
+
|
|
34
|
+
To verify that Stoneforge has been installed correctly, type the following command in your terminal:
|
|
35
|
+
|
|
36
|
+
.. code-block:: bash
|
|
37
|
+
|
|
38
|
+
pip show stoneforge
|
|
39
|
+
|
|
40
|
+
If no error message is displayed, the installation was successful!
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Quickstart
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
.. code-block:: bash
|
|
6
|
+
|
|
7
|
+
pip install stoneforge
|
|
8
|
+
|
|
9
|
+
(...)
|
|
10
|
+
|
|
11
|
+
.. code-block:: python
|
|
12
|
+
|
|
13
|
+
from stoneforge.preprocessing import las_import
|
|
14
|
+
from stoneforge.petrophysics import shale_volume, porosity, water_saturation
|
|
15
|
+
|
|
16
|
+
# Import a LAS file
|
|
17
|
+
# This will return a DataFrame with the data and a dictionary with the units
|
|
18
|
+
data,units = las_import("..//stoneforge//datasets/DP1.las")
|
|
19
|
+
|
|
20
|
+
# Remove non sampling rows
|
|
21
|
+
data_c = data[~data.isin([-999.0]).any(axis=1)]
|
|
22
|
+
|
|
23
|
+
# Calculate shale volume
|
|
24
|
+
GR = np.array(data_c["GR"])
|
|
25
|
+
GR_min = np.percentile(GR, 10)
|
|
26
|
+
GR_max = np.percentile(GR, 90)
|
|
27
|
+
|
|
28
|
+
VSH = shale_volume.vshale_larionov(GR, GR_min, GR_max, "larionov")
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""conf.py — Configuração do Sphinx para a documentação do projeto."""
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
import sys
|
|
6
|
+
|
|
7
|
+
# para localizar os pacotes no diretório pai
|
|
8
|
+
sys.path.insert(0, os.path.abspath("../stoneforge"))
|
|
9
|
+
|
|
10
|
+
# -- Project information -----------------------------------------------------
|
|
11
|
+
|
|
12
|
+
project = "Stoneforge"
|
|
13
|
+
author = "APPy Team"
|
|
14
|
+
copyright = "2024 GIECAR Laboratory, Universidade Federal Fluminense (UFF)"
|
|
15
|
+
|
|
16
|
+
# -- General configuration ---------------------------------------------------
|
|
17
|
+
|
|
18
|
+
# Note: The variable 'project_copyright' is used to avoid conflict with the built-in 'copyright'.
|
|
19
|
+
|
|
20
|
+
extensions = [
|
|
21
|
+
"sphinx.ext.napoleon",
|
|
22
|
+
"sphinxcontrib.bibtex",
|
|
23
|
+
"sphinx.ext.autodoc",
|
|
24
|
+
"sphinx_autodoc_typehints",
|
|
25
|
+
"sphinx.ext.viewcode",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# -- HTML output -------------------------------------------------------------
|
|
29
|
+
|
|
30
|
+
html_theme = "sphinx_rtd_theme"
|
|
31
|
+
|
|
32
|
+
# -- Customização de HTML ----------------------------------------------------
|
|
33
|
+
|
|
34
|
+
html_theme_options = {
|
|
35
|
+
"navigation_depth": 4,
|
|
36
|
+
"collapse_navigation": False,
|
|
37
|
+
"sticky_navigation": True,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
# -- Napoleon settings (para docstrings estilo Google/Numpy) -----------------
|
|
41
|
+
|
|
42
|
+
napoleon_numpy_docstring = True
|
|
43
|
+
|
|
44
|
+
# -- Autodoc settings --------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
bibtex_bibfiles = ['refs.bib']
|
|
47
|
+
bibtex_default_style = 'plain' # or 'unsrt', 'alpha', etc.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "stoneforge"
|
|
3
|
+
version = "0.2.0-beta.1"
|
|
4
|
+
authors = [
|
|
5
|
+
{name = "GIECAR - UFF"},
|
|
6
|
+
{name = "Wagner M. Lupinacci"},
|
|
7
|
+
{name = "Fernando Vizeu"},
|
|
8
|
+
{name = "Fábio Júnior D Fernandes"},
|
|
9
|
+
{name = "José A. V. Dias"},
|
|
10
|
+
{name = "Mario M. Ramos"},
|
|
11
|
+
{name = "Jordan S. Cuno"},
|
|
12
|
+
{name = "João Vitor A. Estrella"},
|
|
13
|
+
{name = "Ana Carolina"},
|
|
14
|
+
{name = "Breno D. Chrispim"},
|
|
15
|
+
]
|
|
16
|
+
license = "MIT"
|
|
17
|
+
description = "Geophysics equations, algorithms and methods"
|
|
18
|
+
readme = "README.md"
|
|
19
|
+
requires-python = ">=3.10"
|
|
20
|
+
dependencies = [
|
|
21
|
+
"dlisio>=1.0.3",
|
|
22
|
+
"numpy>=2.2.0",
|
|
23
|
+
"pytest>=8.3.4",
|
|
24
|
+
"scipy>=1.14.1",
|
|
25
|
+
"scikit-learn>=1.6.1",
|
|
26
|
+
"matplotlib>=3.10.0",
|
|
27
|
+
"pandas>=2.2.2",
|
|
28
|
+
"lightgbm>=4.5.0",
|
|
29
|
+
"notebook>=6.4.0",
|
|
30
|
+
"ipympl>=0.8.4"
|
|
31
|
+
]
|
|
32
|
+
classifiers = [
|
|
33
|
+
"Development Status :: 5 - Production/Stable",
|
|
34
|
+
"Intended Audience :: Education",
|
|
35
|
+
"Operating System :: Microsoft :: Windows :: Windows 10",
|
|
36
|
+
"Programming Language :: Python :: 3"
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
[project.urls]
|
|
40
|
+
homepage = "https://github.com/giecaruff/stoneforge"
|
|
41
|
+
|
|
42
|
+
[tool.hatch.metadata]
|
|
43
|
+
allow-direct-references = true
|
|
44
|
+
|
|
45
|
+
[build-system]
|
|
46
|
+
requires = ["setuptools>=61.0"]
|
|
47
|
+
build-backend = "setuptools.build_meta"
|
|
48
|
+
|
|
49
|
+
[dependency-groups]
|
|
50
|
+
dev = [
|
|
51
|
+
"pytest>=8.3.5",
|
|
52
|
+
"pytest-cov>=6.1.1",
|
|
53
|
+
"ruff>=0.11.8",
|
|
54
|
+
"sphinx>=8.1.3",
|
|
55
|
+
"sphinx-autodoc-typehints>=3.0.1",
|
|
56
|
+
"sphinx-rtd-theme>=3.0.2",
|
|
57
|
+
"sphinxcontrib-bibtex>=2.6.5",
|
|
58
|
+
]
|
|
59
|
+
|
|
60
|
+
[tool.hatch.build]
|
|
61
|
+
include = ["stoneforge/**"] # Include the main package
|
|
62
|
+
exclude = ["tests", "docs", "examples"] # Exclude unnecessary files
|
|
63
|
+
|
|
64
|
+
[tool.uv]
|
|
65
|
+
package = true
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
[tool.ruff]
|
|
69
|
+
# Set the maximum line length to 79.
|
|
70
|
+
line-length = 79
|
|
71
|
+
indent-width = 4
|
|
72
|
+
|
|
73
|
+
[tool.ruff.lint]
|
|
74
|
+
extend-select = [
|
|
75
|
+
"D", # pydocstyle
|
|
76
|
+
"NPY", # numPy specific rules npy
|
|
77
|
+
"PD", # Pandas-vet
|
|
78
|
+
"N", # PEP8
|
|
79
|
+
"PL", # Pylint
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
[tool.ruff.lint.pydocstyle]
|
|
83
|
+
convention = "google"
|
|
84
|
+
|
|
85
|
+
[tool.pytest.ini_options]
|
|
86
|
+
pythonpath = "stoneforge"
|
|
87
|
+
minversion = "6.0"
|
|
88
|
+
addopts = "-ra -q"
|
|
89
|
+
testpaths = [
|
|
90
|
+
"tests",
|
|
91
|
+
]
|
|
92
|
+
norecursedirs = [".venv", ".git", "__pycache__"]
|
|
@@ -6,4 +6,8 @@ from . import preprocessing # noqa: F401
|
|
|
6
6
|
from . import rock_physics # noqa: F401
|
|
7
7
|
|
|
8
8
|
from . import inversion # noqa: F401
|
|
9
|
-
from . import wavelets # noqa: F401
|
|
9
|
+
from . import wavelets # noqa: F401
|
|
10
|
+
|
|
11
|
+
__version__ = "0.1.6-beta.2"
|
|
12
|
+
__author__ = "GIECAR - UFF"
|
|
13
|
+
__description__ = "Geophysics equations, algorithms and methods"
|
{stoneforge-0.1.6.dev1/stoneforge/preprocessing → stoneforge-0.2.0b1/stoneforge/datasets}/las2.py
RENAMED
|
@@ -93,12 +93,12 @@ def read(lasfile):
|
|
|
93
93
|
lasfile : string or file-like object
|
|
94
94
|
The path of the file to read or an existing file-like object to read from.
|
|
95
95
|
|
|
96
|
-
Returns
|
|
96
|
+
Returns:
|
|
97
97
|
-------
|
|
98
98
|
dict
|
|
99
99
|
A dictionary containing the sections of the LAS file.
|
|
100
100
|
|
|
101
|
-
Notes
|
|
101
|
+
Notes:
|
|
102
102
|
-----
|
|
103
103
|
The structure of the returned dictionary is specified below.
|
|
104
104
|
The dictionary keys are the section names: 'version', 'well', 'parameter', 'curve', 'other', 'data'.
|
|
@@ -113,12 +113,12 @@ def read(lasfile):
|
|
|
113
113
|
'description'.
|
|
114
114
|
For information on the structure of a LAS 2.0 line, please also refer to its specification [1]_.
|
|
115
115
|
|
|
116
|
-
References
|
|
116
|
+
References:
|
|
117
117
|
----------
|
|
118
118
|
.. [1] LAS 2.0 standard - http://www.cwls.org/wp-content/uploads/2017/02/Las2_Update_Feb2017.pdf -
|
|
119
119
|
Retrieved August 14, 2019
|
|
120
120
|
|
|
121
|
-
Examples
|
|
121
|
+
Examples:
|
|
122
122
|
--------
|
|
123
123
|
The examples below contains ficticious data.
|
|
124
124
|
In the first example we see the version information for the file.
|
|
@@ -234,8 +234,7 @@ def _section_format_getter(section):
|
|
|
234
234
|
maxwidths = dict.fromkeys(_line_elements, 0)
|
|
235
235
|
for line in section:
|
|
236
236
|
for key in line:
|
|
237
|
-
|
|
238
|
-
maxwidths[key] = len(line[key])
|
|
237
|
+
maxwidths[key] = max(maxwidths[key], len(line[key]))
|
|
239
238
|
|
|
240
239
|
return _default_line_format_format.format(**maxwidths)
|
|
241
240
|
|
|
@@ -275,7 +274,7 @@ def write(lasfile, data, section_titles=None, section_formats=None):
|
|
|
275
274
|
A dictionary where the key is the section name and value is the format string that will be used to format the
|
|
276
275
|
lines in the respective section. For further information please refer to the Notes section.
|
|
277
276
|
|
|
278
|
-
Notes
|
|
277
|
+
Notes:
|
|
279
278
|
-----
|
|
280
279
|
This function does not guarantee that the output file will follow the LAS 2.0 standard. If mandatory sections or
|
|
281
280
|
lines are missing from the inputs, the file will be written nevertheless. The only required field for the function
|
|
@@ -299,16 +298,16 @@ def write(lasfile, data, section_titles=None, section_formats=None):
|
|
|
299
298
|
logs, "{:>8.4f} {:>8.4f} {:>8.4f}" is the default format.
|
|
300
299
|
Each section format can be individually omitted.
|
|
301
300
|
|
|
302
|
-
See Also
|
|
301
|
+
See Also:
|
|
303
302
|
--------
|
|
304
303
|
read : Reads the contents of a LAS 2.0 file.
|
|
305
304
|
|
|
306
|
-
References
|
|
305
|
+
References:
|
|
307
306
|
----------
|
|
308
307
|
.. [1] LAS 2.0 standard - http://www.cwls.org/wp-content/uploads/2017/02/Las2_Update_Feb2017.pdf -
|
|
309
308
|
Retrieved August 14, 2019
|
|
310
309
|
|
|
311
|
-
Examples
|
|
310
|
+
Examples:
|
|
312
311
|
--------
|
|
313
312
|
Minimal example of usage. This would not produce a valid LAS 2.0 file since it is missing many of the mandatory
|
|
314
313
|
sections and lines.
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
#Programa que implementa computacionalmente Inversao de traco sismico por deconvolucao sparse spike usando o algoritmo de variacao total e minimos quadrados
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
|
-
import matplotlib.pyplot as plt
|
|
5
|
-
from scipy.linalg import toeplitz
|
|
6
4
|
|
|
7
5
|
def IRLS_Inv(trace, G, alphaL1, alphaL2,thresold,niter):
|
|
8
6
|
residuo_iter = np.zeros(10)
|