BERATools 0.1.0__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 (44) hide show
  1. beratools-0.1.0/.gitignore +23 -0
  2. beratools-0.1.0/LICENSE +22 -0
  3. beratools-0.1.0/PKG-INFO +134 -0
  4. beratools-0.1.0/README.md +74 -0
  5. beratools-0.1.0/beratools/__init__.py +3 -0
  6. beratools-0.1.0/beratools/core/__init__.py +0 -0
  7. beratools-0.1.0/beratools/core/algo_centerline.py +476 -0
  8. beratools-0.1.0/beratools/core/algo_common.py +489 -0
  9. beratools-0.1.0/beratools/core/algo_cost.py +185 -0
  10. beratools-0.1.0/beratools/core/algo_dijkstra.py +492 -0
  11. beratools-0.1.0/beratools/core/algo_footprint_rel.py +693 -0
  12. beratools-0.1.0/beratools/core/algo_line_grouping.py +941 -0
  13. beratools-0.1.0/beratools/core/algo_merge_lines.py +255 -0
  14. beratools-0.1.0/beratools/core/algo_split_with_lines.py +296 -0
  15. beratools-0.1.0/beratools/core/algo_vertex_optimization.py +451 -0
  16. beratools-0.1.0/beratools/core/constants.py +56 -0
  17. beratools-0.1.0/beratools/core/logger.py +92 -0
  18. beratools-0.1.0/beratools/core/tool_base.py +126 -0
  19. beratools-0.1.0/beratools/gui/__init__.py +11 -0
  20. beratools-0.1.0/beratools/gui/assets/BERALogo.png +0 -0
  21. beratools-0.1.0/beratools/gui/assets/beratools.json +471 -0
  22. beratools-0.1.0/beratools/gui/assets/closed.gif +0 -0
  23. beratools-0.1.0/beratools/gui/assets/closed.png +0 -0
  24. beratools-0.1.0/beratools/gui/assets/gui.json +8 -0
  25. beratools-0.1.0/beratools/gui/assets/open.gif +0 -0
  26. beratools-0.1.0/beratools/gui/assets/open.png +0 -0
  27. beratools-0.1.0/beratools/gui/assets/tool.gif +0 -0
  28. beratools-0.1.0/beratools/gui/assets/tool.png +0 -0
  29. beratools-0.1.0/beratools/gui/bt_data.py +485 -0
  30. beratools-0.1.0/beratools/gui/bt_gui_main.py +700 -0
  31. beratools-0.1.0/beratools/gui/main.py +27 -0
  32. beratools-0.1.0/beratools/gui/tool_widgets.py +730 -0
  33. beratools-0.1.0/beratools/tools/__init__.py +7 -0
  34. beratools-0.1.0/beratools/tools/canopy_threshold_relative.py +769 -0
  35. beratools-0.1.0/beratools/tools/centerline.py +127 -0
  36. beratools-0.1.0/beratools/tools/check_seed_line.py +48 -0
  37. beratools-0.1.0/beratools/tools/common.py +622 -0
  38. beratools-0.1.0/beratools/tools/line_footprint_absolute.py +203 -0
  39. beratools-0.1.0/beratools/tools/line_footprint_fixed.py +480 -0
  40. beratools-0.1.0/beratools/tools/line_footprint_functions.py +884 -0
  41. beratools-0.1.0/beratools/tools/line_footprint_relative.py +75 -0
  42. beratools-0.1.0/beratools/tools/tool_template.py +72 -0
  43. beratools-0.1.0/beratools/tools/vertex_optimization.py +57 -0
  44. beratools-0.1.0/pyproject.toml +115 -0
@@ -0,0 +1,23 @@
1
+ __pycache__
2
+ /.idea
3
+ /.spyproject
4
+ .virtual_documents
5
+ /dist
6
+ /output
7
+
8
+ *.slurm
9
+ *.out
10
+ *.pyc
11
+ *.whl
12
+ .project
13
+ .pydevproject
14
+
15
+ .env
16
+ config.ini
17
+
18
+ *.egg-info
19
+ .pixi
20
+ pixi.lock
21
+
22
+ .vscode/
23
+ /_build/
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023, AppliedGRG
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1,134 @@
1
+ Metadata-Version: 2.4
2
+ Name: BERATools
3
+ Version: 0.1.0
4
+ Summary: An advanced forest line feature analysis platform
5
+ Project-URL: Homepage, https://github.com/appliedgrg/beratools
6
+ Author-email: AppliedGRG <appliedgrg@gmail.com>, Richard Zeng <richardqzeng@gmail.com>
7
+ License: MIT License
8
+
9
+ Copyright (c) 2023, AppliedGRG
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ License-File: LICENSE
30
+ Keywords: BERA,Line
31
+ Classifier: Development Status :: 2 - Pre-Alpha
32
+ Classifier: Intended Audience :: Developers
33
+ Classifier: License :: OSI Approved :: MIT License
34
+ Classifier: Natural Language :: English
35
+ Classifier: Programming Language :: Python :: 3.10
36
+ Classifier: Programming Language :: Python :: 3.11
37
+ Classifier: Programming Language :: Python :: 3.12
38
+ Classifier: Programming Language :: Python :: 3.13
39
+ Requires-Python: >=3.10
40
+ Requires-Dist: bera-centerlines
41
+ Requires-Dist: gdal; platform_system != 'Windows'
42
+ Requires-Dist: geopandas
43
+ Requires-Dist: pyogrio>=0.9.0
44
+ Requires-Dist: pyqt5
45
+ Requires-Dist: rasterio
46
+ Requires-Dist: scikit-image>=0.24.0
47
+ Requires-Dist: tqdm
48
+ Requires-Dist: xarray-spatial
49
+ Provides-Extra: dev
50
+ Requires-Dist: build; extra == 'dev'
51
+ Requires-Dist: isort; extra == 'dev'
52
+ Requires-Dist: mypy; extra == 'dev'
53
+ Requires-Dist: pre-commit; extra == 'dev'
54
+ Requires-Dist: ruff; extra == 'dev'
55
+ Requires-Dist: tox; extra == 'dev'
56
+ Requires-Dist: twine; extra == 'dev'
57
+ Provides-Extra: test
58
+ Requires-Dist: pytest; extra == 'test'
59
+ Description-Content-Type: text/markdown
60
+
61
+ # BERA Tools
62
+ <div align="center">
63
+ BERA Tools is successor of [Forest Line Mapper](https://github.com/appliedgrg/flm). It is a toolset for enhanced delineation and attribution of linear disturbances in forests.
64
+
65
+ [![GitHub Workflow Status (Build)](https://img.shields.io/github/actions/workflow/status/appliedgrg/bera-tools/python-tests.yml?branch=develop&style=for-the-badge)](https://github.com/appliedgrg/bera-tools/actions/workflows/python-tests.yml)
66
+ [![Read the Docs](https://img.shields.io/readthedocs/bera-tools?style=for-the-badge&logo=readthedocs&logoColor=white)](https://bera-tools.readthedocs.io/en/latest/)
67
+ <br>
68
+ [![Conda Version](https://img.shields.io/conda/v/AppliedGRG/beratools?style=for-the-badge&logo=anaconda&color=green)](https://anaconda.org/AppliedGRG/beratools)
69
+ [![Python - Version](https://img.shields.io/badge/PYTHON-3.9+-blue?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/release/python-390/)
70
+ <br>
71
+ [![License: MIT](https://img.shields.io/github/license/appliedgrg/bera-tools?style=for-the-badge&color=blue)](https://github.com/appliedgrg/bera-tools/blob/main/LICENSE)
72
+
73
+ </div>
74
+ <!--![Banner](docs/files/images/BERALogo.png)-->
75
+
76
+ ## [Quick Start](https://appliedgrg.github.io/beratools)
77
+
78
+ BERA Tools is built upon open-source Python libraries. Anaconda is used to manage runtime environments.
79
+
80
+ Installation Steps:
81
+
82
+ - Install Miniconda. Download Miniconda from [Miniconda](https://docs.anaconda.com/miniconda/) and install on your machine.
83
+ - Launch **Anaconda Prompt**. Run the following command to create a new environment. **BERA Tools** will be installed in the new environment at the same time. Download the file [conda_environment.yml](https://github.com/RichardQZeng/BTools/blob/main/conda_environment.yml) first.
84
+
85
+ ```bash
86
+ $ conda env create -f conda_environment.yml
87
+ ```
88
+
89
+ Wait until the installation is done.
90
+ - Activate the **bera** environment and launch BERA Tools:
91
+
92
+ ```bash
93
+ $ conda activate bera
94
+ $ beratools
95
+ ```
96
+
97
+
98
+ ## User Guide
99
+
100
+ Check the online [User Guide](https://appliedgrg.github.io/beratools/) for more information.
101
+
102
+ ## Technical Documentation
103
+
104
+ BERA Tools provides a series of tools for forest lines processing. Please refer to the technical documentation for programming APIs and algorithm details.
105
+
106
+ [Technical Documentation](https://appliedgrg.github.io/beratools/)
107
+
108
+ ## Development and Testing
109
+
110
+ To install test dependencies:
111
+ ```bash
112
+ pip install .[test]
113
+ ```
114
+
115
+ To install development tools (e.g., ruff):
116
+ ```bash
117
+ pip install .[dev]
118
+ ```
119
+
120
+ You can combine extras:
121
+ ```bash
122
+ pip install .[test,dev]
123
+ ```
124
+
125
+ ## Contribution Guide
126
+
127
+ We welcome contributions! Please see our [Contribution Guide](contribution_guide.md) for details.
128
+
129
+ ## Credits
130
+
131
+ This tool is part of the [**Boreal Ecosystem Recovery and Assessment (BERA)**](http://www.beraproject.org/) Project, and is being actively developed by the [**Applied Geospatial Research Group**](https://www.appliedgrg.ca/).
132
+
133
+ ![Logos](docs/files/images/BERALogo.png)
134
+ *Copyright (C) 2025 Applied Geospatial Research Group*
@@ -0,0 +1,74 @@
1
+ # BERA Tools
2
+ <div align="center">
3
+ BERA Tools is successor of [Forest Line Mapper](https://github.com/appliedgrg/flm). It is a toolset for enhanced delineation and attribution of linear disturbances in forests.
4
+
5
+ [![GitHub Workflow Status (Build)](https://img.shields.io/github/actions/workflow/status/appliedgrg/bera-tools/python-tests.yml?branch=develop&style=for-the-badge)](https://github.com/appliedgrg/bera-tools/actions/workflows/python-tests.yml)
6
+ [![Read the Docs](https://img.shields.io/readthedocs/bera-tools?style=for-the-badge&logo=readthedocs&logoColor=white)](https://bera-tools.readthedocs.io/en/latest/)
7
+ <br>
8
+ [![Conda Version](https://img.shields.io/conda/v/AppliedGRG/beratools?style=for-the-badge&logo=anaconda&color=green)](https://anaconda.org/AppliedGRG/beratools)
9
+ [![Python - Version](https://img.shields.io/badge/PYTHON-3.9+-blue?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/release/python-390/)
10
+ <br>
11
+ [![License: MIT](https://img.shields.io/github/license/appliedgrg/bera-tools?style=for-the-badge&color=blue)](https://github.com/appliedgrg/bera-tools/blob/main/LICENSE)
12
+
13
+ </div>
14
+ <!--![Banner](docs/files/images/BERALogo.png)-->
15
+
16
+ ## [Quick Start](https://appliedgrg.github.io/beratools)
17
+
18
+ BERA Tools is built upon open-source Python libraries. Anaconda is used to manage runtime environments.
19
+
20
+ Installation Steps:
21
+
22
+ - Install Miniconda. Download Miniconda from [Miniconda](https://docs.anaconda.com/miniconda/) and install on your machine.
23
+ - Launch **Anaconda Prompt**. Run the following command to create a new environment. **BERA Tools** will be installed in the new environment at the same time. Download the file [conda_environment.yml](https://github.com/RichardQZeng/BTools/blob/main/conda_environment.yml) first.
24
+
25
+ ```bash
26
+ $ conda env create -f conda_environment.yml
27
+ ```
28
+
29
+ Wait until the installation is done.
30
+ - Activate the **bera** environment and launch BERA Tools:
31
+
32
+ ```bash
33
+ $ conda activate bera
34
+ $ beratools
35
+ ```
36
+
37
+
38
+ ## User Guide
39
+
40
+ Check the online [User Guide](https://appliedgrg.github.io/beratools/) for more information.
41
+
42
+ ## Technical Documentation
43
+
44
+ BERA Tools provides a series of tools for forest lines processing. Please refer to the technical documentation for programming APIs and algorithm details.
45
+
46
+ [Technical Documentation](https://appliedgrg.github.io/beratools/)
47
+
48
+ ## Development and Testing
49
+
50
+ To install test dependencies:
51
+ ```bash
52
+ pip install .[test]
53
+ ```
54
+
55
+ To install development tools (e.g., ruff):
56
+ ```bash
57
+ pip install .[dev]
58
+ ```
59
+
60
+ You can combine extras:
61
+ ```bash
62
+ pip install .[test,dev]
63
+ ```
64
+
65
+ ## Contribution Guide
66
+
67
+ We welcome contributions! Please see our [Contribution Guide](contribution_guide.md) for details.
68
+
69
+ ## Credits
70
+
71
+ This tool is part of the [**Boreal Ecosystem Recovery and Assessment (BERA)**](http://www.beraproject.org/) Project, and is being actively developed by the [**Applied Geospatial Research Group**](https://www.appliedgrg.ca/).
72
+
73
+ ![Logos](docs/files/images/BERALogo.png)
74
+ *Copyright (C) 2025 Applied Geospatial Research Group*
@@ -0,0 +1,3 @@
1
+ __author__ = """AppliedGRG"""
2
+ __email__ = 'appliedgrg@gmail.com'
3
+ __version__ = '0.1.0'
File without changes