pytopocomplexity 1.1.2__tar.gz → 1.1.3__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.
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: pytopocomplexity
3
+ Version: 1.1.3
4
+ Summary: A package for multiscale topographic complexity analysis
5
+ Home-page: https://github.com/GeoLarryLai/pyTopoComplexity
6
+ Author: Larry Syu-Heng Lai
7
+ Author-email: Larry Syu-Heng Lai <larrysyuhenglai@gmail.com>
8
+ License-Expression: AGPL-3.0-or-later
9
+ Project-URL: Homepage, https://www.larrysyuhenglai.com/projects/pyTopoComplexity/
10
+ Project-URL: repository, https://github.com/GeoLarryLai/pyTopoComplexity.git
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Operating System :: OS Independent
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: numpy>=1.20
17
+ Requires-Dist: scipy>=1.5
18
+ Requires-Dist: rasterio>=1.2
19
+ Requires-Dist: dask>=2021.0
20
+ Requires-Dist: matplotlib>=3.3
21
+ Requires-Dist: tqdm>=4.0
22
+ Requires-Dist: numba>=0.50
23
+ Requires-Dist: statsmodels>=0.12
24
+ Requires-Dist: gdal>=3.0
25
+ Requires-Dist: ipython>=7.0
26
+ Requires-Dist: imageio>=2.9
27
+ Dynamic: author
28
+ Dynamic: home-page
29
+ Dynamic: license-file
30
+ Dynamic: requires-python
31
+
32
+ # pyTopoComplexity
33
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338) [![PyPI version](https://img.shields.io/pypi/v/pytopocomplexity.svg)](https://pypi.org/project/pytopocomplexity/) [![PyPI downloads](https://static.pepy.tech/badge/pytopocomplexity/month)](https://pepy.tech/project/pytopocomplexity)
34
+
35
+ **pyTopoComplexity** is an open-source Python package designed to measure the topographic complexity (i.e., surface roughness) of land surfaces using digital elevation model (DEM) data. This package includes modules for **four** modern methods used to measure topographic complexity in the fields of geology, geomorphology, geography, ecology, and oceanography.
36
+
37
+ | Modules | Classes | Method Descriptions |
38
+ | ------------- | ------------- | ------------- |
39
+ | pycwtmexhat.py | CWTMexHat | Quanitfies the wavelet-based curvature of the terrain surface using two-dimensional continuous wavelet transform (2D-CWT) with a Mexican Hat wevalet |
40
+ | pyfracd.py | FracD | Conducts fractal dimension analysis on the terrain surface using variogram procedure |
41
+ | pyrugostiy.py | RugosityIndex | Calculates Rugosity Index of the terrain surface |
42
+ | pytpi.py | TPI | Calculates Terrain Position Index of the topography |
43
+
44
+ > [!NOTE]
45
+ > The **pyTopoComplexity** package has the capability to automatically detect the grid spacing and the units of the XYZ directions (must be in feet or meters) of the input DEM raster (GeoTIFF format) and compute the results in SI units.
46
+
47
+ ## Installation
48
+
49
+ Users can install **pyTopoComplexity** directly from [PyPI](https://pypi.org/project/pytopocomplexity/) with `pip` command:
50
+ ```
51
+ pip install pytopocomplexity
52
+ ```
53
+ or from `conda-forge` repository with `conda`:
54
+ ```
55
+ conda install pytopocomplexity
56
+ ```
57
+
58
+ ## Modules for Surface Complexity Measurement
59
+
60
+ ### 1. Two-Dimensional Continuous Wavelet Transform Analysis
61
+
62
+ ```python
63
+ from pytopocomplexity import CWTMexHat
64
+ ```
65
+
66
+ The module **pycwtmexhat.py** uses two-dimensional continuous wavelet transform (2D-CWT) with a Mexican Hat wevalet to measure the topographic complexity (i.e., surface roughness) of a land surface from a Digital Elevation Model (DEM). Such method quanitfy the wavelet-based curvature of the surface, which has been proposed to be a effective geomorphic metric for identifying and estimating the ages of historical deep-seated landslide deposits. The method and early version of the code was developed by Dr. Adam M. Booth (Portland State Univeristy) in [2009](https://doi.org/10.1016/j.geomorph.2009.02.027), written in MATLAB (source code available from [Booth's personal website](https://web.pdx.edu/~boothad/tools.html)). This MATLAB code was later revised and adapted by Dr. Sean R. LaHusen (Univeristy of Washington) and Dr. Erich N. Herzig (Univeristy of Washington) in their research ([LaHusen et al., 2020](https://doi.org/10.1126/sciadv.aba6790); [Herzig et al. (2023)](https://doi.org/10.1785/0120230079)). Dr. Larry Syu-Heng Lai (Univeristy of Washington), under the supervision of Dr. Alison R. Duvall (Univeristy of Washington), translated the code into this optimized open-source Python version in 2024.
67
+
68
+ See [**Example_pycwtmexhat.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb) for detailed explanations and usage instructions.
69
+
70
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb)
71
+
72
+ ### 2. Fractal Dimentsion Analysis
73
+
74
+ ```python
75
+ from pytopocomplexity import FracD
76
+ ```
77
+
78
+ The **pyfracd.py** module calculates local fractal dimensions to assess topographic complexity. It also computes reliability parameters such as the standard error and the coefficient of determination (R²). The development of this module was greatly influenced by the Fortran code shared by Dr. Eulogio Pardo-Igúzquiza from his work in [Pardo-Igúzquiza and Dowd (2022)](https://doi.org/10.1016/j.icarus.2022.115109). The local fractal dimension is determined by intersecting the surface within a moving window with four vertical planes in principal geographical directions, simplifying the problem to one-dimensional topographic profiles. The fractal dimension of these profiles is estimated using the variogram method, which models the relationship between dissimilarity and distance using a power-law function. While the fractal dimension value does not directly scale with the degree of surface roughness, smoother or more regular surfaces generally have lower fractal dimension values (closer to 2), whereas surfaces with higher fractal dimension values tend to be more complex or irregular. This method has been applied in terrain analysis for understanding spatial variability in surface roughness, classifying geomorphologic features, uncovering hidden spatial structures, and supporting geomorphological and geological mapping on Earth and other planetary bodies.
79
+
80
+ See [**Example_pyfracd.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb) for detailed explanations and usage instructions.
81
+
82
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb)
83
+
84
+ ### 3. Rugosity Index Calculation
85
+
86
+ ```python
87
+ from pytopocomplexity import RugosityIndex
88
+ ```
89
+
90
+ The module **pyrugosity.py** measure Rugosity Index of the land surface, which is widely used to assess landscape structural complexity. By definition, the Rugosity Index has a minimum value of one, representing a completely flat surface. Typical values of the conventional Rugosity Index without slope correction ([Jenness, 2004](https://onlinelibrary.wiley.com/doi/abs/10.2193/0091-7648%282004%29032%5B0829%3ACLSAFD%5D2.0.CO%3B2)) range from one to three, although larger values are possible in very steep terrains. The slope-corrected Rugosity Index, also known as the Arc-Chord Ratio (ACR) Rugosity Index ([Du Preez, 2015](https://doi.org/10.1007/s10980-014-0118-8)), provides a better representation of local surface complexity. This method has been applied in classifying seafloor types by marine geologists and geomorphologists, studying small-scale hydrodynamics by oceanographers, and assessing available habitats in landscapes by ecologists and coral biologists.
91
+
92
+ See [**Example_pyrugosity.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb) for detailed explanations and usage instructions.
93
+
94
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb)
95
+
96
+ ### 4. Terrain Position Index Calculation
97
+
98
+ ```python
99
+ from pytopocomplexity import TPI
100
+ ```
101
+
102
+ The module **pytpi.py** calculates the Terrain Position Index (TPI) of the land surface following ([Weiss, 2001](https://www.jennessent.com/arcview/TPI_Weiss_poster.htm)), which is a measure of the relative topographic position of a point in relation to the surrounding landforms. This metric is useful for determining surface ruggedness, classifying terrain, assessing local hydrodynamics, and identifying habitat hotspots. TPI, also known as the Topographic Position Index in terrestrial studies, distinguishes landscape features such as hilltops, valleys, flat plains, and upper or lower slopes. In oceanography, researchers adapt the Bathymetric Position Index (BPI), which applies the equivalent TPI algorithm to bathymetric data to assess seafloor complexity. Positive TPI values indicate locations that are higher than the average of their surroundings (e.g., ridges), while negative values indicate locations that are lower (e.g., valleys). Values near zero indicate flat areas or areas of constant slope. The module also returns the absolute values of the TPI, which only indicate the magnitude of the vertical position at each grid point relative to its neighbors.
103
+
104
+ See [**Example_pytpi.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb) for detailed explanations and usage instructions.
105
+
106
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb)
107
+
108
+ ## Requirements
109
+ For **pyTopoComplexity** package"
110
+ * Python >= 3.10
111
+ * `numpy` >= 1.20
112
+ * `scipy` >= 1.5
113
+ * `rasterio` >= 1.2
114
+ * `dask` >= 2021.0
115
+ * `matplotlib` >= 3.3
116
+ * `tqdm` >= 4.0
117
+ * `numba` >= 0.50
118
+ * `statsmodels` >= 0.12
119
+
120
+ ## License
121
+ **pyTopoComplexity** is licensed under the [Apache License 2.0](LICENSE).
@@ -1,5 +1,5 @@
1
1
  # pyTopoComplexity
2
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338)
2
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338) [![PyPI version](https://img.shields.io/pypi/v/pytopocomplexity.svg)](https://pypi.org/project/pytopocomplexity/) [![PyPI downloads](https://static.pepy.tech/badge/pytopocomplexity/month)](https://pepy.tech/project/pytopocomplexity)
3
3
 
4
4
  **pyTopoComplexity** is an open-source Python package designed to measure the topographic complexity (i.e., surface roughness) of land surfaces using digital elevation model (DEM) data. This package includes modules for **four** modern methods used to measure topographic complexity in the fields of geology, geomorphology, geography, ecology, and oceanography.
5
5
 
@@ -1,5 +1,5 @@
1
1
  # pyTopoComplexity
2
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338) [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytopocomplexity.svg)](https://anaconda.org/conda-forge/pytopocomplexity) [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytopocomplexity.svg)](https://anaconda.org/conda-forge/pytopocomplexity)
2
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338) [![PyPI version](https://img.shields.io/pypi/v/pytopocomplexity.svg)](https://pypi.org/project/pytopocomplexity/) [![PyPI downloads](https://static.pepy.tech/badge/pytopocomplexity/month)](https://pepy.tech/project/pytopocomplexity) [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytopocomplexity.svg)](https://anaconda.org/conda-forge/pytopocomplexity) [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytopocomplexity.svg)](https://anaconda.org/conda-forge/pytopocomplexity)
3
3
  <p align="left">
4
4
  <img src="image/pyTopoComplexity_logo.png" width="30%" height="30%""/>
5
5
  </p>
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2"]
2
+ requires = ["setuptools>=77", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
@@ -8,10 +8,10 @@ dynamic = ["version"]
8
8
  description = "A package for multiscale topographic complexity analysis"
9
9
  readme = "README-pypi.md"
10
10
  authors = [{name = "Larry Syu-Heng Lai", email = "larrysyuhenglai@gmail.com"}]
11
- license = {file = "LICENSE"}
11
+ license = "AGPL-3.0-or-later"
12
+ license-files = ["LICENSE"]
12
13
  classifiers = [
13
14
  "Programming Language :: Python :: 3",
14
- "License :: OSI Approved :: GNU Affero General Public License v3",
15
15
  "Operating System :: OS Independent",
16
16
  ]
17
17
  requires-python = ">=3.10"
@@ -30,6 +30,7 @@ dependencies = [
30
30
  ]
31
31
 
32
32
  [project.urls]
33
+ Homepage = "https://www.larrysyuhenglai.com/projects/pyTopoComplexity/"
33
34
  repository = "https://github.com/GeoLarryLai/pyTopoComplexity.git"
34
35
 
35
36
  [tool.setuptools]
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: pytopocomplexity
3
+ Version: 1.1.3
4
+ Summary: A package for multiscale topographic complexity analysis
5
+ Home-page: https://github.com/GeoLarryLai/pyTopoComplexity
6
+ Author: Larry Syu-Heng Lai
7
+ Author-email: Larry Syu-Heng Lai <larrysyuhenglai@gmail.com>
8
+ License-Expression: AGPL-3.0-or-later
9
+ Project-URL: Homepage, https://www.larrysyuhenglai.com/projects/pyTopoComplexity/
10
+ Project-URL: repository, https://github.com/GeoLarryLai/pyTopoComplexity.git
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Operating System :: OS Independent
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: numpy>=1.20
17
+ Requires-Dist: scipy>=1.5
18
+ Requires-Dist: rasterio>=1.2
19
+ Requires-Dist: dask>=2021.0
20
+ Requires-Dist: matplotlib>=3.3
21
+ Requires-Dist: tqdm>=4.0
22
+ Requires-Dist: numba>=0.50
23
+ Requires-Dist: statsmodels>=0.12
24
+ Requires-Dist: gdal>=3.0
25
+ Requires-Dist: ipython>=7.0
26
+ Requires-Dist: imageio>=2.9
27
+ Dynamic: author
28
+ Dynamic: home-page
29
+ Dynamic: license-file
30
+ Dynamic: requires-python
31
+
32
+ # pyTopoComplexity
33
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11239338.svg)](https://doi.org/10.5281/zenodo.11239338) [![PyPI version](https://img.shields.io/pypi/v/pytopocomplexity.svg)](https://pypi.org/project/pytopocomplexity/) [![PyPI downloads](https://static.pepy.tech/badge/pytopocomplexity/month)](https://pepy.tech/project/pytopocomplexity)
34
+
35
+ **pyTopoComplexity** is an open-source Python package designed to measure the topographic complexity (i.e., surface roughness) of land surfaces using digital elevation model (DEM) data. This package includes modules for **four** modern methods used to measure topographic complexity in the fields of geology, geomorphology, geography, ecology, and oceanography.
36
+
37
+ | Modules | Classes | Method Descriptions |
38
+ | ------------- | ------------- | ------------- |
39
+ | pycwtmexhat.py | CWTMexHat | Quanitfies the wavelet-based curvature of the terrain surface using two-dimensional continuous wavelet transform (2D-CWT) with a Mexican Hat wevalet |
40
+ | pyfracd.py | FracD | Conducts fractal dimension analysis on the terrain surface using variogram procedure |
41
+ | pyrugostiy.py | RugosityIndex | Calculates Rugosity Index of the terrain surface |
42
+ | pytpi.py | TPI | Calculates Terrain Position Index of the topography |
43
+
44
+ > [!NOTE]
45
+ > The **pyTopoComplexity** package has the capability to automatically detect the grid spacing and the units of the XYZ directions (must be in feet or meters) of the input DEM raster (GeoTIFF format) and compute the results in SI units.
46
+
47
+ ## Installation
48
+
49
+ Users can install **pyTopoComplexity** directly from [PyPI](https://pypi.org/project/pytopocomplexity/) with `pip` command:
50
+ ```
51
+ pip install pytopocomplexity
52
+ ```
53
+ or from `conda-forge` repository with `conda`:
54
+ ```
55
+ conda install pytopocomplexity
56
+ ```
57
+
58
+ ## Modules for Surface Complexity Measurement
59
+
60
+ ### 1. Two-Dimensional Continuous Wavelet Transform Analysis
61
+
62
+ ```python
63
+ from pytopocomplexity import CWTMexHat
64
+ ```
65
+
66
+ The module **pycwtmexhat.py** uses two-dimensional continuous wavelet transform (2D-CWT) with a Mexican Hat wevalet to measure the topographic complexity (i.e., surface roughness) of a land surface from a Digital Elevation Model (DEM). Such method quanitfy the wavelet-based curvature of the surface, which has been proposed to be a effective geomorphic metric for identifying and estimating the ages of historical deep-seated landslide deposits. The method and early version of the code was developed by Dr. Adam M. Booth (Portland State Univeristy) in [2009](https://doi.org/10.1016/j.geomorph.2009.02.027), written in MATLAB (source code available from [Booth's personal website](https://web.pdx.edu/~boothad/tools.html)). This MATLAB code was later revised and adapted by Dr. Sean R. LaHusen (Univeristy of Washington) and Dr. Erich N. Herzig (Univeristy of Washington) in their research ([LaHusen et al., 2020](https://doi.org/10.1126/sciadv.aba6790); [Herzig et al. (2023)](https://doi.org/10.1785/0120230079)). Dr. Larry Syu-Heng Lai (Univeristy of Washington), under the supervision of Dr. Alison R. Duvall (Univeristy of Washington), translated the code into this optimized open-source Python version in 2024.
67
+
68
+ See [**Example_pycwtmexhat.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb) for detailed explanations and usage instructions.
69
+
70
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb)
71
+
72
+ ### 2. Fractal Dimentsion Analysis
73
+
74
+ ```python
75
+ from pytopocomplexity import FracD
76
+ ```
77
+
78
+ The **pyfracd.py** module calculates local fractal dimensions to assess topographic complexity. It also computes reliability parameters such as the standard error and the coefficient of determination (R²). The development of this module was greatly influenced by the Fortran code shared by Dr. Eulogio Pardo-Igúzquiza from his work in [Pardo-Igúzquiza and Dowd (2022)](https://doi.org/10.1016/j.icarus.2022.115109). The local fractal dimension is determined by intersecting the surface within a moving window with four vertical planes in principal geographical directions, simplifying the problem to one-dimensional topographic profiles. The fractal dimension of these profiles is estimated using the variogram method, which models the relationship between dissimilarity and distance using a power-law function. While the fractal dimension value does not directly scale with the degree of surface roughness, smoother or more regular surfaces generally have lower fractal dimension values (closer to 2), whereas surfaces with higher fractal dimension values tend to be more complex or irregular. This method has been applied in terrain analysis for understanding spatial variability in surface roughness, classifying geomorphologic features, uncovering hidden spatial structures, and supporting geomorphological and geological mapping on Earth and other planetary bodies.
79
+
80
+ See [**Example_pyfracd.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb) for detailed explanations and usage instructions.
81
+
82
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb)
83
+
84
+ ### 3. Rugosity Index Calculation
85
+
86
+ ```python
87
+ from pytopocomplexity import RugosityIndex
88
+ ```
89
+
90
+ The module **pyrugosity.py** measure Rugosity Index of the land surface, which is widely used to assess landscape structural complexity. By definition, the Rugosity Index has a minimum value of one, representing a completely flat surface. Typical values of the conventional Rugosity Index without slope correction ([Jenness, 2004](https://onlinelibrary.wiley.com/doi/abs/10.2193/0091-7648%282004%29032%5B0829%3ACLSAFD%5D2.0.CO%3B2)) range from one to three, although larger values are possible in very steep terrains. The slope-corrected Rugosity Index, also known as the Arc-Chord Ratio (ACR) Rugosity Index ([Du Preez, 2015](https://doi.org/10.1007/s10980-014-0118-8)), provides a better representation of local surface complexity. This method has been applied in classifying seafloor types by marine geologists and geomorphologists, studying small-scale hydrodynamics by oceanographers, and assessing available habitats in landscapes by ecologists and coral biologists.
91
+
92
+ See [**Example_pyrugosity.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb) for detailed explanations and usage instructions.
93
+
94
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb)
95
+
96
+ ### 4. Terrain Position Index Calculation
97
+
98
+ ```python
99
+ from pytopocomplexity import TPI
100
+ ```
101
+
102
+ The module **pytpi.py** calculates the Terrain Position Index (TPI) of the land surface following ([Weiss, 2001](https://www.jennessent.com/arcview/TPI_Weiss_poster.htm)), which is a measure of the relative topographic position of a point in relation to the surrounding landforms. This metric is useful for determining surface ruggedness, classifying terrain, assessing local hydrodynamics, and identifying habitat hotspots. TPI, also known as the Topographic Position Index in terrestrial studies, distinguishes landscape features such as hilltops, valleys, flat plains, and upper or lower slopes. In oceanography, researchers adapt the Bathymetric Position Index (BPI), which applies the equivalent TPI algorithm to bathymetric data to assess seafloor complexity. Positive TPI values indicate locations that are higher than the average of their surroundings (e.g., ridges), while negative values indicate locations that are lower (e.g., valleys). Values near zero indicate flat areas or areas of constant slope. The module also returns the absolute values of the TPI, which only indicate the magnitude of the vertical position at each grid point relative to its neighbors.
103
+
104
+ See [**Example_pytpi.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb) for detailed explanations and usage instructions.
105
+
106
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb)
107
+
108
+ ## Requirements
109
+ For **pyTopoComplexity** package"
110
+ * Python >= 3.10
111
+ * `numpy` >= 1.20
112
+ * `scipy` >= 1.5
113
+ * `rasterio` >= 1.2
114
+ * `dask` >= 2021.0
115
+ * `matplotlib` >= 3.3
116
+ * `tqdm` >= 4.0
117
+ * `numba` >= 0.50
118
+ * `statsmodels` >= 0.12
119
+
120
+ ## License
121
+ **pyTopoComplexity** is licensed under the [Apache License 2.0](LICENSE).
@@ -1,4 +1,3 @@
1
1
  ExampleDEM
2
- build
3
2
  dist
4
3
  pytopocomplexity
@@ -5,7 +5,7 @@ with open("README-pypi.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="pytopocomplexity",
8
- version="1.1.2",
8
+ version="1.1.3",
9
9
  author="Larry Syu-Heng Lai",
10
10
  author_email="larrysyuhenglai@gmail.com",
11
11
  description="A package for multiscale topographic complexity analysis",
@@ -15,7 +15,6 @@ setup(
15
15
  packages=find_packages(exclude=['image', 'image.*', 'examples', 'examples.*']),
16
16
  classifiers=[
17
17
  "Programming Language :: Python :: 3",
18
- "License :: OSI Approved :: GNU Affero General Public License v3",
19
18
  "Operating System :: OS Independent",
20
19
  ],
21
20
  python_requires=">=3.10",
@@ -32,5 +31,4 @@ setup(
32
31
  "ipython>=7.0",
33
32
  "imageio>=2.9"
34
33
  ],
35
- license="GNU Affero General Public License v3",
36
34
  )