RadGEEToolbox 1.6.9__tar.gz → 1.7.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.
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/PKG-INFO +25 -14
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/README.md +24 -13
- radgeetoolbox-1.7.0/RadGEEToolbox/GenericCollection.py +2623 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/LandsatCollection.py +599 -9
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/Sentinel1Collection.py +126 -3
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/Sentinel2Collection.py +575 -10
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/__init__.py +3 -1
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/PKG-INFO +25 -14
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/SOURCES.txt +1 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/pyproject.toml +1 -1
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/setup.py +1 -1
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/LICENSE.txt +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/CollectionStitch.py +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/GetPalette.py +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/VisParams.py +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/dependency_links.txt +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/requires.txt +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/top_level.txt +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/setup.cfg +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/tests/test_landsat_collection.py +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/tests/test_sentinel1_collection.py +0 -0
- {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/tests/test_sentinel2_collection.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: RadGEEToolbox
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.0
|
|
4
4
|
Summary: Streamlined Multispectral & SAR Analysis for Google Earth Engine Python API
|
|
5
5
|
Home-page: https://github.com/radwinskis/RadGEEToolbox
|
|
6
6
|
Author: Mark Radwin
|
|
@@ -37,12 +37,14 @@ Dynamic: requires-python
|
|
|
37
37
|
|
|
38
38
|
### [See documentation here](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
39
39
|
|
|
40
|
-
**RadGEEToolbox** is an open-source Python package that simplifies the processing and analysis of satellite imagery using the Google Earth Engine Python API
|
|
40
|
+
**RadGEEToolbox** is an open-source Python package that **simplifies the processing and analysis of satellite imagery using the Google Earth Engine Python API**. It provides **ready-to-use tools for filtering, masking, mosaicking, image/band management, spectral index calculations, and extracting statistics** from multispectral (Landsat, Sentinel-2) and SAR (Sentinel-1) datasets.
|
|
41
41
|
|
|
42
42
|
Designed for both new and advanced users of Google Earth Engine, RadGEEToolbox minimizes repetitive scripting, accelerates common remote sensing workflows, and aims to maximize efficiency within the constraints of the Google Earth Engine API. Whether you’re building a time series of vegetation indices or extracting surface properties along transects, this package helps get results faster.
|
|
43
43
|
|
|
44
44
|
Although similar packages exist (eemont, geetools, etc.), `RadGEEToolbox` extends functionality and provides cohesive, chainable methods for research oriented projects working with Landsat TM & OLI, Sentinel-1 SAR, and/or Sentinel-2 MSI datasets (Table 1). The ultimate goal of `RadGEEToolbox` is to make satellite image processing easier and faster for real world applications relying on the most commonly utilized remote sensing platforms.
|
|
45
45
|
|
|
46
|
+
As of version `1.7.0`, `RadGEEToolbox` supports any generic image collection via the `GenericCollection` module which allows for utilization of the same data management, temporal reduction, zonal statistics, and data export tools available for the `LandsatCollection`, `Sentinel1Collection`, and `Sentinel2Collection` modules. This allows users to provide their own image collection of choice, such as PRISM or MODIS data, to benefit from the tools available with `RadGEEToolbox`.
|
|
47
|
+
|
|
46
48
|
***Table 1.*** *Comparison of functionality between RadGEEToolbox, eemont, and geetools.*
|
|
47
49
|
|
|
48
50
|
| Capability | **RadGEEToolbox** | **eemont** | **geetools** |
|
|
@@ -53,13 +55,16 @@ Although similar packages exist (eemont, geetools, etc.), `RadGEEToolbox` extend
|
|
|
53
55
|
| **Area Time-series Extraction** | **YES** | NO | NO |
|
|
54
56
|
| **Transect Time-series Extraction** | **YES** | NO | NO |
|
|
55
57
|
| **Comprehensive Preprocessing Operations** | **YES** | **YES** | **YES** |
|
|
56
|
-
| **Reflectance Scaling
|
|
58
|
+
| **Reflectance Scaling** | **YES** | **YES** | **YES** |
|
|
59
|
+
| **Land Surface Temperature Calculation (Landsat)** | **YES** | NO | NO |
|
|
57
60
|
| **Narrowband to Broadband Albedo Calculation** | **YES** | NO | NO |
|
|
58
61
|
| **Built-in Spectral Index Calculations** | **YES** | **YES** | **YES** |
|
|
59
|
-
| **
|
|
62
|
+
| **Anomaly (Deviation from Mean) Calculations** | **YES** | NO | NO |
|
|
63
|
+
| **Image Masking for Classified Images** | **YES** | NO | NO |
|
|
64
|
+
| **Merging of Multiple Collections** | **YES** | NO | NO |
|
|
60
65
|
| **Image Selection by Date or Index** | **YES** | **YES** | NO |
|
|
61
66
|
| **Visualization Presets/Tools** | **YES** | NO | NO |
|
|
62
|
-
|
|
67
|
+
| **Batch Export to GEE Asset** | **YES** | **YES** | **YES** |
|
|
63
68
|
_________
|
|
64
69
|
## Getting Started with Google Earth Engine
|
|
65
70
|
|
|
@@ -128,12 +133,16 @@ _________
|
|
|
128
133
|
## Key Features
|
|
129
134
|
|
|
130
135
|
- Modular tools for processing **Landsat, Sentinel-1 SAR, and Sentinel-2** imagery
|
|
131
|
-
- Efficient filtering, masking, and mosaicking of Earth Engine image collections
|
|
136
|
+
- Efficient filtering, **cloud/shadow/water masking, threshold masking, spectral classification, and mosaicking** of Earth Engine image collections
|
|
137
|
+
- Collection management such as **collection merging and band renaming**
|
|
132
138
|
- Built-in support for computing **spectral indices** (see below for complete list)
|
|
139
|
+
- **Temporal reductions** (mean, median, min, etc.) and **monthly median/mean/min/max** functionality
|
|
140
|
+
- Image anomaly calculation
|
|
133
141
|
- SAR utilities for **multilooking**, **speckle filtering**, and **backscatter conversion**
|
|
134
|
-
- Automated and flexible extraction of **transect and zonal statistics** across image collections
|
|
142
|
+
- Automated and flexible extraction of **transect and zonal statistics (supporting multiple coordinates or geometries)** across image collections
|
|
135
143
|
- Easy conversion between RadGEEToolbox and standard Earth Engine objects
|
|
136
144
|
- Server-side–friendly workflows and caching for **faster, scalable** processing
|
|
145
|
+
- Automatically **batch export image collections to GEE assets**
|
|
137
146
|
|
|
138
147
|
**List of all spectral index calculations available for
|
|
139
148
|
Landsat (TM & OLI) and Sentinel-2 (MSI) imagery:**
|
|
@@ -158,7 +167,7 @@ Landsat (TM & OLI) and Sentinel-2 (MSI) imagery:**
|
|
|
158
167
|
|
|
159
168
|
Features of `RadGEEToolbox` will be expanded in the future - if there is something you would like to see implemented in `RadGEEToolbox`, please open an issue or discussion on GitHub.
|
|
160
169
|
|
|
161
|
-
🔍 For a full breakdown of available tools, see the [RadGEEToolbox documentation »](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
170
|
+
🔍 For a full breakdown of available features and tools, see the [RadGEEToolbox documentation »](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
162
171
|
|
|
163
172
|
_____________
|
|
164
173
|
|
|
@@ -172,15 +181,15 @@ _____________
|
|
|
172
181
|
|
|
173
182
|
### Installing via pip
|
|
174
183
|
|
|
175
|
-
To install `RadGEEToolbox` version 1.
|
|
184
|
+
To install `RadGEEToolbox` version 1.7.0 using pip (NOTE: it is recommended to create a new virtual environment):
|
|
176
185
|
|
|
177
186
|
```bash
|
|
178
|
-
pip install RadGEEToolbox==1.
|
|
187
|
+
pip install RadGEEToolbox==1.7.0
|
|
179
188
|
```
|
|
180
189
|
|
|
181
190
|
### Installing via Conda
|
|
182
191
|
|
|
183
|
-
To install `RadGEEToolbox` version 1.
|
|
192
|
+
To install `RadGEEToolbox` version 1.7.0 using conda-forge (NOTE: it is recommended to create a new virtual environment):
|
|
184
193
|
|
|
185
194
|
```bash
|
|
186
195
|
conda install conda-forge::radgeetoolbox
|
|
@@ -211,7 +220,7 @@ To verify that `RadGEEToolbox` was installed correctly:
|
|
|
211
220
|
python -c "import RadGEEToolbox; print(RadGEEToolbox.__version__)"
|
|
212
221
|
```
|
|
213
222
|
|
|
214
|
-
You should see `1.
|
|
223
|
+
You should see `1.7.0` printed as the version number.
|
|
215
224
|
|
|
216
225
|
### Want to Visualize Data? Install These Too
|
|
217
226
|
|
|
@@ -251,7 +260,7 @@ from RadGEEToolbox import LandsatCollection
|
|
|
251
260
|
|
|
252
261
|
# 2. Authenticate & Initialize GEE API
|
|
253
262
|
ee.Authenticate()
|
|
254
|
-
ee.Initialize(project='my-cloud-project-ID) #replace with your Google Cloud project ID
|
|
263
|
+
ee.Initialize(project='my-cloud-project-ID') #replace with your Google Cloud project ID
|
|
255
264
|
|
|
256
265
|
# 3. Define study area boundary - in this case Lake Powell, Utah
|
|
257
266
|
study_area = ee.Geometry.Polygon(
|
|
@@ -288,6 +297,7 @@ water_classification_maps = cloud_masked_collection.ndwi_collection(
|
|
|
288
297
|
threshold=0
|
|
289
298
|
)
|
|
290
299
|
```
|
|
300
|
+
Then, explore images from `water_classification_maps` as shown below either by exporting to a GEE asset for download, or by using `geemap` 👇
|
|
291
301
|
|
|
292
302
|

|
|
293
303
|
|
|
@@ -302,8 +312,9 @@ calculate_water_area = cloud_masked_NDWI_collection.PixelAreaSumCollection(
|
|
|
302
312
|
scale=90 #pixel size for zonal statistics
|
|
303
313
|
)
|
|
304
314
|
water_area_time_series = calculate_water_area.ExtractProperties('ndwi')
|
|
305
|
-
print('List of square meters of water in images:', water_area_time_series)
|
|
306
315
|
```
|
|
316
|
+
Then, directly plot `water_area_time_series` using Matplotlib as shown below 👇
|
|
317
|
+
|
|
307
318
|
|
|
308
319
|

|
|
309
320
|
|
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
### [See documentation here](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
10
10
|
|
|
11
|
-
**RadGEEToolbox** is an open-source Python package that simplifies the processing and analysis of satellite imagery using the Google Earth Engine Python API
|
|
11
|
+
**RadGEEToolbox** is an open-source Python package that **simplifies the processing and analysis of satellite imagery using the Google Earth Engine Python API**. It provides **ready-to-use tools for filtering, masking, mosaicking, image/band management, spectral index calculations, and extracting statistics** from multispectral (Landsat, Sentinel-2) and SAR (Sentinel-1) datasets.
|
|
12
12
|
|
|
13
13
|
Designed for both new and advanced users of Google Earth Engine, RadGEEToolbox minimizes repetitive scripting, accelerates common remote sensing workflows, and aims to maximize efficiency within the constraints of the Google Earth Engine API. Whether you’re building a time series of vegetation indices or extracting surface properties along transects, this package helps get results faster.
|
|
14
14
|
|
|
15
15
|
Although similar packages exist (eemont, geetools, etc.), `RadGEEToolbox` extends functionality and provides cohesive, chainable methods for research oriented projects working with Landsat TM & OLI, Sentinel-1 SAR, and/or Sentinel-2 MSI datasets (Table 1). The ultimate goal of `RadGEEToolbox` is to make satellite image processing easier and faster for real world applications relying on the most commonly utilized remote sensing platforms.
|
|
16
16
|
|
|
17
|
+
As of version `1.7.0`, `RadGEEToolbox` supports any generic image collection via the `GenericCollection` module which allows for utilization of the same data management, temporal reduction, zonal statistics, and data export tools available for the `LandsatCollection`, `Sentinel1Collection`, and `Sentinel2Collection` modules. This allows users to provide their own image collection of choice, such as PRISM or MODIS data, to benefit from the tools available with `RadGEEToolbox`.
|
|
18
|
+
|
|
17
19
|
***Table 1.*** *Comparison of functionality between RadGEEToolbox, eemont, and geetools.*
|
|
18
20
|
|
|
19
21
|
| Capability | **RadGEEToolbox** | **eemont** | **geetools** |
|
|
@@ -24,13 +26,16 @@ Although similar packages exist (eemont, geetools, etc.), `RadGEEToolbox` extend
|
|
|
24
26
|
| **Area Time-series Extraction** | **YES** | NO | NO |
|
|
25
27
|
| **Transect Time-series Extraction** | **YES** | NO | NO |
|
|
26
28
|
| **Comprehensive Preprocessing Operations** | **YES** | **YES** | **YES** |
|
|
27
|
-
| **Reflectance Scaling
|
|
29
|
+
| **Reflectance Scaling** | **YES** | **YES** | **YES** |
|
|
30
|
+
| **Land Surface Temperature Calculation (Landsat)** | **YES** | NO | NO |
|
|
28
31
|
| **Narrowband to Broadband Albedo Calculation** | **YES** | NO | NO |
|
|
29
32
|
| **Built-in Spectral Index Calculations** | **YES** | **YES** | **YES** |
|
|
30
|
-
| **
|
|
33
|
+
| **Anomaly (Deviation from Mean) Calculations** | **YES** | NO | NO |
|
|
34
|
+
| **Image Masking for Classified Images** | **YES** | NO | NO |
|
|
35
|
+
| **Merging of Multiple Collections** | **YES** | NO | NO |
|
|
31
36
|
| **Image Selection by Date or Index** | **YES** | **YES** | NO |
|
|
32
37
|
| **Visualization Presets/Tools** | **YES** | NO | NO |
|
|
33
|
-
|
|
38
|
+
| **Batch Export to GEE Asset** | **YES** | **YES** | **YES** |
|
|
34
39
|
_________
|
|
35
40
|
## Getting Started with Google Earth Engine
|
|
36
41
|
|
|
@@ -99,12 +104,16 @@ _________
|
|
|
99
104
|
## Key Features
|
|
100
105
|
|
|
101
106
|
- Modular tools for processing **Landsat, Sentinel-1 SAR, and Sentinel-2** imagery
|
|
102
|
-
- Efficient filtering, masking, and mosaicking of Earth Engine image collections
|
|
107
|
+
- Efficient filtering, **cloud/shadow/water masking, threshold masking, spectral classification, and mosaicking** of Earth Engine image collections
|
|
108
|
+
- Collection management such as **collection merging and band renaming**
|
|
103
109
|
- Built-in support for computing **spectral indices** (see below for complete list)
|
|
110
|
+
- **Temporal reductions** (mean, median, min, etc.) and **monthly median/mean/min/max** functionality
|
|
111
|
+
- Image anomaly calculation
|
|
104
112
|
- SAR utilities for **multilooking**, **speckle filtering**, and **backscatter conversion**
|
|
105
|
-
- Automated and flexible extraction of **transect and zonal statistics** across image collections
|
|
113
|
+
- Automated and flexible extraction of **transect and zonal statistics (supporting multiple coordinates or geometries)** across image collections
|
|
106
114
|
- Easy conversion between RadGEEToolbox and standard Earth Engine objects
|
|
107
115
|
- Server-side–friendly workflows and caching for **faster, scalable** processing
|
|
116
|
+
- Automatically **batch export image collections to GEE assets**
|
|
108
117
|
|
|
109
118
|
**List of all spectral index calculations available for
|
|
110
119
|
Landsat (TM & OLI) and Sentinel-2 (MSI) imagery:**
|
|
@@ -129,7 +138,7 @@ Landsat (TM & OLI) and Sentinel-2 (MSI) imagery:**
|
|
|
129
138
|
|
|
130
139
|
Features of `RadGEEToolbox` will be expanded in the future - if there is something you would like to see implemented in `RadGEEToolbox`, please open an issue or discussion on GitHub.
|
|
131
140
|
|
|
132
|
-
🔍 For a full breakdown of available tools, see the [RadGEEToolbox documentation »](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
141
|
+
🔍 For a full breakdown of available features and tools, see the [RadGEEToolbox documentation »](https://radgeetoolbox.readthedocs.io/en/latest/)
|
|
133
142
|
|
|
134
143
|
_____________
|
|
135
144
|
|
|
@@ -143,15 +152,15 @@ _____________
|
|
|
143
152
|
|
|
144
153
|
### Installing via pip
|
|
145
154
|
|
|
146
|
-
To install `RadGEEToolbox` version 1.
|
|
155
|
+
To install `RadGEEToolbox` version 1.7.0 using pip (NOTE: it is recommended to create a new virtual environment):
|
|
147
156
|
|
|
148
157
|
```bash
|
|
149
|
-
pip install RadGEEToolbox==1.
|
|
158
|
+
pip install RadGEEToolbox==1.7.0
|
|
150
159
|
```
|
|
151
160
|
|
|
152
161
|
### Installing via Conda
|
|
153
162
|
|
|
154
|
-
To install `RadGEEToolbox` version 1.
|
|
163
|
+
To install `RadGEEToolbox` version 1.7.0 using conda-forge (NOTE: it is recommended to create a new virtual environment):
|
|
155
164
|
|
|
156
165
|
```bash
|
|
157
166
|
conda install conda-forge::radgeetoolbox
|
|
@@ -182,7 +191,7 @@ To verify that `RadGEEToolbox` was installed correctly:
|
|
|
182
191
|
python -c "import RadGEEToolbox; print(RadGEEToolbox.__version__)"
|
|
183
192
|
```
|
|
184
193
|
|
|
185
|
-
You should see `1.
|
|
194
|
+
You should see `1.7.0` printed as the version number.
|
|
186
195
|
|
|
187
196
|
### Want to Visualize Data? Install These Too
|
|
188
197
|
|
|
@@ -222,7 +231,7 @@ from RadGEEToolbox import LandsatCollection
|
|
|
222
231
|
|
|
223
232
|
# 2. Authenticate & Initialize GEE API
|
|
224
233
|
ee.Authenticate()
|
|
225
|
-
ee.Initialize(project='my-cloud-project-ID) #replace with your Google Cloud project ID
|
|
234
|
+
ee.Initialize(project='my-cloud-project-ID') #replace with your Google Cloud project ID
|
|
226
235
|
|
|
227
236
|
# 3. Define study area boundary - in this case Lake Powell, Utah
|
|
228
237
|
study_area = ee.Geometry.Polygon(
|
|
@@ -259,6 +268,7 @@ water_classification_maps = cloud_masked_collection.ndwi_collection(
|
|
|
259
268
|
threshold=0
|
|
260
269
|
)
|
|
261
270
|
```
|
|
271
|
+
Then, explore images from `water_classification_maps` as shown below either by exporting to a GEE asset for download, or by using `geemap` 👇
|
|
262
272
|
|
|
263
273
|

|
|
264
274
|
|
|
@@ -273,8 +283,9 @@ calculate_water_area = cloud_masked_NDWI_collection.PixelAreaSumCollection(
|
|
|
273
283
|
scale=90 #pixel size for zonal statistics
|
|
274
284
|
)
|
|
275
285
|
water_area_time_series = calculate_water_area.ExtractProperties('ndwi')
|
|
276
|
-
print('List of square meters of water in images:', water_area_time_series)
|
|
277
286
|
```
|
|
287
|
+
Then, directly plot `water_area_time_series` using Matplotlib as shown below 👇
|
|
288
|
+
|
|
278
289
|
|
|
279
290
|

|
|
280
291
|
|