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.
Files changed (22) hide show
  1. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/PKG-INFO +25 -14
  2. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/README.md +24 -13
  3. radgeetoolbox-1.7.0/RadGEEToolbox/GenericCollection.py +2623 -0
  4. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/LandsatCollection.py +599 -9
  5. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/Sentinel1Collection.py +126 -3
  6. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/Sentinel2Collection.py +575 -10
  7. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/__init__.py +3 -1
  8. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/PKG-INFO +25 -14
  9. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/SOURCES.txt +1 -0
  10. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/pyproject.toml +1 -1
  11. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/setup.py +1 -1
  12. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/LICENSE.txt +0 -0
  13. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/CollectionStitch.py +0 -0
  14. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/GetPalette.py +0 -0
  15. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox/VisParams.py +0 -0
  16. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/dependency_links.txt +0 -0
  17. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/requires.txt +0 -0
  18. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/RadGEEToolbox.egg-info/top_level.txt +0 -0
  19. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/setup.cfg +0 -0
  20. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/tests/test_landsat_collection.py +0 -0
  21. {radgeetoolbox-1.6.9 → radgeetoolbox-1.7.0}/tests/test_sentinel1_collection.py +0 -0
  22. {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.6.9
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. It provides ready-to-use tools for filtering, masking, mosaicking, spectral index calculations, and extracting statistics from multispectral (Landsat, Sentinel-2) and SAR (Sentinel-1) datasets.
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 (DN to ρ)** | **YES** | **YES** | **YES** |
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
- | **Land Surface Temperature Calculation (Landsat)** | **YES** | NO | NO |
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.6.9 using pip (NOTE: it is recommended to create a new virtual environment):
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.6.9
187
+ pip install RadGEEToolbox==1.7.0
179
188
  ```
180
189
 
181
190
  ### Installing via Conda
182
191
 
183
- To install `RadGEEToolbox` version 1.6.9 using conda-forge (NOTE: it is recommended to create a new virtual environment):
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.6.9` printed as the version number.
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
  ![Visualization of true color and classified water (in blue) from one of the dates in the collection](LakePowellNDWI.png)
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
  ![Plotted Results from Above Example - All Processed in Less Than 5 Seconds!](LakePowellPlot.png)
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. It provides ready-to-use tools for filtering, masking, mosaicking, spectral index calculations, and extracting statistics from multispectral (Landsat, Sentinel-2) and SAR (Sentinel-1) datasets.
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 (DN to ρ)** | **YES** | **YES** | **YES** |
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
- | **Land Surface Temperature Calculation (Landsat)** | **YES** | NO | NO |
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.6.9 using pip (NOTE: it is recommended to create a new virtual environment):
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.6.9
158
+ pip install RadGEEToolbox==1.7.0
150
159
  ```
151
160
 
152
161
  ### Installing via Conda
153
162
 
154
- To install `RadGEEToolbox` version 1.6.9 using conda-forge (NOTE: it is recommended to create a new virtual environment):
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.6.9` printed as the version number.
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
  ![Visualization of true color and classified water (in blue) from one of the dates in the collection](LakePowellNDWI.png)
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
  ![Plotted Results from Above Example - All Processed in Less Than 5 Seconds!](LakePowellPlot.png)
280
291