You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README-pypi.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,9 @@ from pytopocomplexity import CWTMexHat
34
34
35
35
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.
36
36
37
-
See [**Example_pycwtmexhat.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb) for detailed explanations and usage instructions.
37
+
See [**Example_pycwtmexhat.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb) for detailed explanations and usage instructions.
38
+
39
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb)
38
40
39
41
### 2. Fractal Dimentsion Analysis
40
42
@@ -46,6 +48,8 @@ The **pyfracd.py** module calculates local fractal dimensions to assess topograp
46
48
47
49
See [**Example_pyfracd.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb) for detailed explanations and usage instructions.
48
50
51
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb)
52
+
49
53
### 3. Rugosity Index Calculation
50
54
51
55
```python
@@ -56,6 +60,8 @@ The module **pyrugosity.py** measure Rugosity Index of the land surface, which i
56
60
57
61
See [**Example_pyrugosity.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb) for detailed explanations and usage instructions.
58
62
63
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb)
64
+
59
65
### 4. Terrain Position Index Calculation
60
66
61
67
```python
@@ -66,6 +72,8 @@ The module **pytpi.py** calculates the Terrain Position Index (TPI) of the land
66
72
67
73
See [**Example_pytpi.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb) for detailed explanations and usage instructions.
68
74
75
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb)
Copy file name to clipboardExpand all lines: README.md
+15-8Lines changed: 15 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,11 +17,6 @@ In this repository, each module has a corresponding example Jupyter Notebook fil
17
17
18
18
There is also an additional Jupyter Notebook, [**Landlab_simulation.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Landlab_simulation.ipynb), which leverages the power of [Landlab](https://landlab.readthedocs.io/en/latest/index.html) to perform forward simulation of landscape smoothing through non-linear hillslope diffusion process.
19
19
20
-
## Citation
21
-
22
-
If you use **pyTopoComplexity** and the associated Jupyter Notebooks in your work, please cite the following paper:
23
-
* Lai, L. S.-H., Booth, A. M., Duvall, A. R., and Herzig, E. (In Revision) Short Communication: Multiscale topographic complexity analysis with pyTopoComplexity. Earth Surface Dynamics. https://doi.org/10.5194/egusphere-2024-3415.
24
-
25
20
## Installation
26
21
27
22
Users can install **pyTopoComplexity** directly from [PyPI](https://pypi.org/project/pytopocomplexity/) with `pip` command:
See [**Example_pycwtmexhat.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb) for detailed explanations and usage instructions.
54
49
50
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pycwtmexhat.ipynb)
@@ -66,6 +63,9 @@ The **pyfracd.py** module calculates local fractal dimensions to assess topograp
66
63
67
64
See [**Example_pyfracd.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb) for detailed explanations and usage instructions.
68
65
66
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyfracd.ipynb)
@@ -80,6 +80,8 @@ The module **pyrugosity.py** measure Rugosity Index of the land surface, which i
80
80
81
81
See [**Example_pyrugosity.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb) for detailed explanations and usage instructions.
82
82
83
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pyrugosity.ipynb)
@@ -94,16 +96,21 @@ The module **pytpi.py** calculates the Terrain Position Index (TPI) of the land
94
96
95
97
See [**Example_pytpi.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb) for detailed explanations and usage instructions.
96
98
99
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Example_pytpi.ipynb)
## Combinding pyTopoComplexity with Landscape Evolution Modeling
103
106
104
-
The Jupyter Notebook file [**Landlab_simulation.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/example/nonlineardiff_Landlab.ipynb) demonstrates the use of [Landlab](https://landlab.readthedocs.io/en/latest/index.html), an open-source Python framework for simulating landscape evolution and modeling time-dependent changes in topographic complexity driven by hillslope and fluvial processes. It specifically employs two components from **Landlab**: the [`TaylorNonLinearDiffuser`](https://landlab.readthedocs.io/en/latest/generated/api/landlab.components.taylor_nonlinear_hillslope_flux.taylor_nonlinear_hillslope_flux.html#landlab.components.taylor_nonlinear_hillslope_flux.taylor_nonlinear_hillslope_flux.TaylorNonLinearDiffuser) from the [`terrainBento`](https://github.com/TerrainBento/terrainbento) package, developed by [Barnhart et al. (2019)](https://gmd.copernicus.org/articles/12/1267/2019/), which simulates topographic smoothing over time through nonlinear hillslope diffusion processes caused by near-surface soil disturbance and downslope soil creeping ([Roering et al., 1999](https://doi.org/10.1029/1998WR900090)), and the [`StreamPowerEroder`](https://landlab.readthedocs.io/en/latest/generated/api/landlab.components.stream_power.stream_power.html#landlab.components.stream_power.stream_power.StreamPowerEroder), a core component in **Landlab** that simulates topographic dissection through fluvial incision over time, following the method described by [Braun & Willett (2013)](https://doi.org/10.1016/j.geomorph.2012.10.008).
107
+
The Jupyter Notebook file [**Landlab_simulation.ipynb**](https://github.com/GeoLarryLai/pyTopoComplexity/blob/main/example/nonlineardiff_Landlab.ipynb) demonstrates the use of [Landlab](https://landlab.readthedocs.io/en/latest/index.html), an open-source Python framework for simulating landscape evolution and modeling time-dependent changes in topographic complexity driven by hillslope and fluvial processes.
108
+
109
+
[](https://colab.research.google.com/github/GeoLarryLai/pyTopoComplexity/blob/main/Landlab_simulation.ipynb)
110
+
111
+
This notebook specifically employs two components from **Landlab**: the [`TaylorNonLinearDiffuser`](https://landlab.readthedocs.io/en/latest/generated/api/landlab.components.taylor_nonlinear_hillslope_flux.taylor_nonlinear_hillslope_flux.html#landlab.components.taylor_nonlinear_hillslope_flux.taylor_nonlinear_hillslope_flux.TaylorNonLinearDiffuser) from the [`terrainBento`](https://github.com/TerrainBento/terrainbento) package, developed by [Barnhart et al. (2019)](https://gmd.copernicus.org/articles/12/1267/2019/), which simulates topographic smoothing over time through nonlinear hillslope diffusion processes caused by near-surface soil disturbance and downslope soil creeping ([Roering et al., 1999](https://doi.org/10.1029/1998WR900090)), and the [`StreamPowerEroder`](https://landlab.readthedocs.io/en/latest/generated/api/landlab.components.stream_power.stream_power.html#landlab.components.stream_power.stream_power.StreamPowerEroder), a core component in **Landlab** that simulates topographic dissection through fluvial incision over time, following the method described by [Braun & Willett (2013)](https://doi.org/10.1016/j.geomorph.2012.10.008).
105
112
106
-
This notebook also includes functions that utilize modules from **pyTopoComplexity** to perform topographic complexity analysis on the simulated landscape from **Landlab** at each modeling timestep. The resulting GeoTIFF rasters, figures, and animations provide users with insights into the time-dependent changes in topographic complexity caused by land-surface processes.
113
+
The notebook also includes functions that utilize modules from **pyTopoComplexity** to perform topographic complexity analysis on the simulated landscape from **Landlab** at each modeling timestep. The resulting GeoTIFF rasters, figures, and animations provide users with insights into the time-dependent changes in topographic complexity caused by land-surface processes.
0 commit comments