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.
Files changed (117) hide show
  1. {stoneforge-0.1.6.dev1/stoneforge.egg-info → stoneforge-0.2.0b1}/PKG-INFO +28 -27
  2. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/README.md +8 -5
  3. stoneforge-0.2.0b1/docs/_build/html/_sources/index.rst.txt +43 -0
  4. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/classification.rst.txt +39 -0
  5. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/index.rst.txt +10 -0
  6. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/machinelearning/regression.rst.txt +39 -0
  7. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/petrophysics.rst.txt +39 -0
  8. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/preprocessing.rst.txt +28 -0
  9. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/pseudowells.rst.txt +23 -0
  10. stoneforge-0.2.0b1/docs/_build/html/_sources/modules/rockphysics.rst.txt +47 -0
  11. stoneforge-0.2.0b1/docs/_build/html/_sources/usage/installation.rst.txt +40 -0
  12. stoneforge-0.2.0b1/docs/_build/html/_sources/usage/quickstart.rst.txt +28 -0
  13. stoneforge-0.2.0b1/docs/conf.py +47 -0
  14. stoneforge-0.2.0b1/pyproject.toml +92 -0
  15. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/__init__.py +5 -1
  16. {stoneforge-0.1.6.dev1/stoneforge/preprocessing → stoneforge-0.2.0b1/stoneforge/datasets}/las2.py +9 -10
  17. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/regularized_acoustic_reflectivy_inversion.py +0 -2
  18. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/viability_study/bayes.py +3 -4
  19. stoneforge-0.2.0b1/stoneforge/io/__init__.py +3 -0
  20. stoneforge-0.2.0b1/stoneforge/io/csv.py +134 -0
  21. stoneforge-0.2.0b1/stoneforge/io/dlisio_r.py +362 -0
  22. {stoneforge-0.1.6.dev1/stoneforge/datasets → stoneforge-0.2.0b1/stoneforge/io}/las2.py +9 -10
  23. stoneforge-0.2.0b1/stoneforge/io/lasparser.py +74 -0
  24. stoneforge-0.2.0b1/stoneforge/machine_learning/__init__.py +4 -0
  25. stoneforge-0.2.0b1/stoneforge/machine_learning/classification/fit.py +266 -0
  26. stoneforge-0.2.0b1/stoneforge/machine_learning/classification/predict.py +104 -0
  27. stoneforge-0.2.0b1/stoneforge/machine_learning/classification/settings.py +93 -0
  28. {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/validation.py +27 -62
  29. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/fit.py +0 -1
  30. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/predict.py +0 -6
  31. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/settings.py +0 -3
  32. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/validation.py +0 -8
  33. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/fit.py +0 -1
  34. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/predict.py +0 -6
  35. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/settings.py +0 -3
  36. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/validation.py +0 -9
  37. {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/evaluation.py +1 -1
  38. stoneforge-0.2.0b1/stoneforge/machine_learning/regression/fit.py +347 -0
  39. {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/mldr_project.py +0 -2
  40. stoneforge-0.2.0b1/stoneforge/machine_learning/regression/predict.py +119 -0
  41. stoneforge-0.2.0b1/stoneforge/machine_learning/regression/settings.py +91 -0
  42. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/helpers.py +1 -2
  43. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/porosity.py +89 -111
  44. stoneforge-0.2.0b1/stoneforge/petrophysics/shale_volume.py +319 -0
  45. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/total_organic_carbon_content.py +3 -10
  46. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/water_saturation.py +82 -82
  47. stoneforge-0.2.0b1/stoneforge/preprocessing/data_management.py +348 -0
  48. stoneforge-0.2.0b1/stoneforge/preprocessing/data_processing.py +180 -0
  49. stoneforge-0.2.0b1/stoneforge/preprocessing/las2.py +370 -0
  50. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/lithology_generator.py +2 -9
  51. stoneforge-0.2.0b1/stoneforge/pseudo_wells/monte_carlo_simulations.py +552 -0
  52. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/pseudo_tools.py +1 -2
  53. stoneforge-0.2.0b1/stoneforge/rock_physics/elastic_constants.py +236 -0
  54. stoneforge-0.2.0b1/stoneforge/rock_physics/fluid_substitution.py +380 -0
  55. stoneforge-0.2.0b1/stoneforge/rock_physics/gem.py +454 -0
  56. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/inclusion.py +3 -22
  57. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/rock_physics_bounds.py +16 -16
  58. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/butterworth.py +3 -5
  59. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/ormsby.py +3 -3
  60. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/ricker.py +3 -3
  61. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1/stoneforge.egg-info}/PKG-INFO +28 -27
  62. stoneforge-0.2.0b1/stoneforge.egg-info/SOURCES.txt +96 -0
  63. stoneforge-0.2.0b1/stoneforge.egg-info/requires.txt +10 -0
  64. 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
  65. 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
  66. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_porosity/parameters_p.py +1 -1
  67. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_porosity/test_porosity.py +3 -6
  68. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_fluid_substitution.py +2 -5
  69. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_gem.py +1 -5
  70. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_water_saturation/test_water_saturation.py +1 -4
  71. stoneforge-0.1.6.dev1/setup.py +0 -37
  72. stoneforge-0.1.6.dev1/stoneforge/data_replacement/fit.py +0 -451
  73. stoneforge-0.1.6.dev1/stoneforge/data_replacement/predict.py +0 -185
  74. stoneforge-0.1.6.dev1/stoneforge/data_replacement/settings.py +0 -103
  75. stoneforge-0.1.6.dev1/stoneforge/machine_learning/fit.py +0 -339
  76. stoneforge-0.1.6.dev1/stoneforge/machine_learning/predict.py +0 -184
  77. stoneforge-0.1.6.dev1/stoneforge/machine_learning/settings.py +0 -81
  78. stoneforge-0.1.6.dev1/stoneforge/petrophysics/shale_volume.py +0 -262
  79. stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_management.py +0 -203
  80. stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_processing.py +0 -130
  81. stoneforge-0.1.6.dev1/stoneforge/pseudo_wells/monte_carlo_simulations.py +0 -521
  82. stoneforge-0.1.6.dev1/stoneforge/rock_physics/elastic_constants.py +0 -234
  83. stoneforge-0.1.6.dev1/stoneforge/rock_physics/fluid_substitution.py +0 -367
  84. stoneforge-0.1.6.dev1/stoneforge/rock_physics/gem.py +0 -408
  85. stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_las_into_pandas.py +0 -0
  86. stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression.py +0 -137
  87. stoneforge-0.1.6.dev1/stoneforge.egg-info/SOURCES.txt +0 -82
  88. stoneforge-0.1.6.dev1/stoneforge.egg-info/requires.txt +0 -9
  89. stoneforge-0.1.6.dev1/test_carbonate.py +0 -735
  90. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/CHANGELOG.txt +0 -0
  91. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/LICENSE +0 -0
  92. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/MANIFEST.in +0 -0
  93. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/setup.cfg +0 -0
  94. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/__init__.py +0 -0
  95. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/data_info.txt +0 -0
  96. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/datasets/dataload.py +0 -0
  97. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/__init__.py +0 -0
  98. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/inversion/viability_study/__init__.py +0 -0
  99. {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/__init__.py +0 -0
  100. {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0b1/stoneforge/machine_learning/classification}/evaluation.py +0 -0
  101. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/__init__.py +0 -0
  102. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_classification/evaluation.py +0 -0
  103. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/__init__.py +0 -0
  104. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1/stoneforge/machine_learning}/mlp_regression/evaluation.py +0 -0
  105. {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0b1/stoneforge/machine_learning/regression}/__init__.py +0 -0
  106. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/petrophysics/__init__.py +0 -0
  107. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/preprocessing/__init__.py +0 -0
  108. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/preprocessing/las_pandas.py +0 -0
  109. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/pseudo_wells/__init__.py +0 -0
  110. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/rock_physics/__init__.py +0 -0
  111. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/vis/__init__.py +0 -0
  112. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/vis/img.py +0 -0
  113. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge/wavelets/__init__.py +0 -0
  114. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge.egg-info/dependency_links.txt +0 -0
  115. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b1}/stoneforge.egg-info/top_level.txt +0 -0
  116. {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0b1}/tests/tests_rock_physics/test_elastic_constants.py +0 -0
  117. {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
1
+ Metadata-Version: 2.4
2
2
  Name: stoneforge
3
- Version: 0.1.6.dev1
3
+ Version: 0.2.0b1
4
4
  Summary: Geophysics equations, algorithms and methods
5
- Home-page: https://github.com/giecaruff/stoneforge
6
- Author: GIECAR - UFF
7
- License: MIT
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: numpy==1.26.4
12
- Requires-Dist: pytest==8.1.1
13
- Requires-Dist: scipy==1.13.0
14
- Requires-Dist: scikit-learn==1.4.2
15
- Requires-Dist: xgboost==2.0.3
16
- Requires-Dist: matplotlib==3.8.4
17
- Requires-Dist: pandas==2.2.2
18
- Requires-Dist: catboost==1.2.5
19
- Requires-Dist: lightgbm==4.3.0
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/sites/"><strong>Documentation</strong> (latest)</a> |
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 selected data from eleven wildcat wells in the National Petroleum Reserve in Alaska / by F.N. Zihlman and H.L. Oliver.
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
- Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
73
- Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
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
- Change Log
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/sites/"><strong>Documentation</strong> (latest)</a> |
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 selected data from eleven wildcat wells in the National Petroleum Reserve in Alaska / by F.N. Zihlman and H.L. Oliver.
50
- Contains data sets from 11 wildcat wells drilled in the National Petroleum Reserve in Alaska (NPRA).
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,10 @@
1
+ Machine Learning
2
+ ================
3
+
4
+ This section contains machine learning methods used in Stoneforge.
5
+
6
+ .. toctree::
7
+ :maxdepth: 1
8
+
9
+ classification
10
+ regression
@@ -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"
@@ -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
- if len(line[key]) > maxwidths[key]:
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)