gee-acolite 1.0.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.
- gee_acolite-1.0.0/LICENSE +21 -0
- gee_acolite-1.0.0/PKG-INFO +161 -0
- gee_acolite-1.0.0/README.md +125 -0
- gee_acolite-1.0.0/gee_acolite/__init__.py +49 -0
- gee_acolite-1.0.0/gee_acolite/bathymetry.py +4 -0
- gee_acolite-1.0.0/gee_acolite/correction.py +567 -0
- gee_acolite-1.0.0/gee_acolite/sensors/__init__.py +10 -0
- gee_acolite-1.0.0/gee_acolite/sensors/sentinel2.py +6 -0
- gee_acolite-1.0.0/gee_acolite/utils/__init__.py +44 -0
- gee_acolite-1.0.0/gee_acolite/utils/l1_convert.py +47 -0
- gee_acolite-1.0.0/gee_acolite/utils/masks.py +113 -0
- gee_acolite-1.0.0/gee_acolite/utils/search.py +79 -0
- gee_acolite-1.0.0/gee_acolite/water_quality.py +140 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/PKG-INFO +161 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/SOURCES.txt +22 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/dependency_links.txt +1 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/not-zip-safe +1 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/requires.txt +4 -0
- gee_acolite-1.0.0/gee_acolite.egg-info/top_level.txt +1 -0
- gee_acolite-1.0.0/pyproject.toml +40 -0
- gee_acolite-1.0.0/requirements.txt +0 -0
- gee_acolite-1.0.0/setup.cfg +4 -0
- gee_acolite-1.0.0/setup.py +63 -0
- gee_acolite-1.0.0/tests/test_tiled_mode.py +113 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
GNU GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 29 June 2007
|
|
3
|
+
|
|
4
|
+
Copyright (C) 2025 Sergio
|
|
5
|
+
|
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU General Public License as published by
|
|
8
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
(at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU General Public License
|
|
17
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Full GPL 3.0 License Text: https://www.gnu.org/licenses/gpl-3.0.txt
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gee_acolite
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: ACOLITE atmospheric correction for Google Earth Engine
|
|
5
|
+
Home-page: https://github.com/Aouei/gee_acolite
|
|
6
|
+
Author: Sergio
|
|
7
|
+
Author-email: Aouei <sergiohercar1@gmail.com>
|
|
8
|
+
License: GPL-3.0
|
|
9
|
+
Project-URL: Homepage, https://github.com/Aouei/gee_acolite
|
|
10
|
+
Project-URL: Documentation, https://github.com/Aouei/gee_acolite
|
|
11
|
+
Project-URL: Repository, https://github.com/Aouei/gee_acolite
|
|
12
|
+
Project-URL: Bug Tracker, https://github.com/Aouei/gee_acolite/issues
|
|
13
|
+
Keywords: earth-engine,atmospheric-correction,acolite,sentinel-2,remote-sensing,water-quality
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
18
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Operating System :: OS Independent
|
|
25
|
+
Requires-Python: >=3.8
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: earthengine-api>=0.1.350
|
|
29
|
+
Requires-Dist: numpy>=1.20.0
|
|
30
|
+
Requires-Dist: scipy>=1.7.0
|
|
31
|
+
Requires-Dist: netcdf4>=1.7.0
|
|
32
|
+
Dynamic: author
|
|
33
|
+
Dynamic: home-page
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
Dynamic: requires-python
|
|
36
|
+
|
|
37
|
+
# GEE ACOLITE
|
|
38
|
+
|
|
39
|
+
ACOLITE atmospheric correction implementation for Google Earth Engine (GEE).
|
|
40
|
+
|
|
41
|
+
## Description
|
|
42
|
+
|
|
43
|
+
This package provides atmospheric correction for Sentinel-2 imagery using the ACOLITE dark spectrum fitting method, optimized for Google Earth Engine workflows. It includes:
|
|
44
|
+
|
|
45
|
+
- **Dark Spectrum Fitting**: Multiple methods (darkest, percentile, intercept)
|
|
46
|
+
- **AOT Estimation**: Fixed geometry mode
|
|
47
|
+
- **Atmospheric Correction**: Full LUT-based correction
|
|
48
|
+
- **Water Quality Parameters**: SPM, turbidity, chlorophyll, bathymetry indices
|
|
49
|
+
- **Cloud Masking**: Integration with Sentinel-2 Cloud Probability
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
### From PyPI (when published)
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pip install gee_acolite
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### From source
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git clone https://github.com/Aouei/gee_acolite.git
|
|
63
|
+
cd gee_acolite
|
|
64
|
+
pip install -e .
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Features
|
|
68
|
+
|
|
69
|
+
### Atmospheric Correction Methods
|
|
70
|
+
|
|
71
|
+
- **Fixed Geometry**: Single AOT estimation for entire image
|
|
72
|
+
- **Dark Spectrum Options**:
|
|
73
|
+
- `darkest`: Use minimum values
|
|
74
|
+
- `percentile`: Use Nth percentile
|
|
75
|
+
- `intercept`: Linear regression intercept
|
|
76
|
+
|
|
77
|
+
### Model Selection Criteria
|
|
78
|
+
|
|
79
|
+
- `min_drmsd`: Minimum RMSD between observed and modeled reflectance
|
|
80
|
+
- `min_dtau`: Minimum delta AOT between darkest bands
|
|
81
|
+
- `taua_cv`: Minimum coefficient of variation
|
|
82
|
+
|
|
83
|
+
### Water Quality Products
|
|
84
|
+
|
|
85
|
+
- **SPM**: Suspended particulate matter (Nechad 2016)
|
|
86
|
+
- **Turbidity**: Water turbidity (Nechad 2016)
|
|
87
|
+
- **Chlorophyll**: Chl-a concentration (OC2, OC3, Mishra)
|
|
88
|
+
- **Bathymetry**: Pseudo satellite-derived bathymetry (pSDB)
|
|
89
|
+
- **Indices**: NDWI, custom band ratios
|
|
90
|
+
|
|
91
|
+
## Requirements
|
|
92
|
+
|
|
93
|
+
- Python ≥ 3.8
|
|
94
|
+
- earthengine-api ≥ 0.1.350
|
|
95
|
+
- numpy ≥ 1.20.0
|
|
96
|
+
- scipy ≥ 1.7.0
|
|
97
|
+
- **ACOLITE** (standalone installation required)
|
|
98
|
+
|
|
99
|
+
### Installing ACOLITE
|
|
100
|
+
|
|
101
|
+
This package requires the ACOLITE atmospheric correction software to be installed separately:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Clone ACOLITE repository
|
|
105
|
+
git clone https://github.com/acolite/acolite.git
|
|
106
|
+
|
|
107
|
+
# Install ACOLITE
|
|
108
|
+
cd acolite
|
|
109
|
+
pip install -e .
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Important:** ACOLITE is not available on PyPI and must be installed from source.
|
|
113
|
+
|
|
114
|
+
## Contributing
|
|
115
|
+
|
|
116
|
+
Contributions are welcome! Please:
|
|
117
|
+
|
|
118
|
+
1. Fork the repository
|
|
119
|
+
2. Create a feature branch
|
|
120
|
+
3. Add tests for new features
|
|
121
|
+
4. Submit a pull request
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
|
|
126
|
+
|
|
127
|
+
## Citation
|
|
128
|
+
|
|
129
|
+
If you use this package in your research, please cite:
|
|
130
|
+
|
|
131
|
+
```bibtex
|
|
132
|
+
@software{gee_acolite,
|
|
133
|
+
author = {Sergio},
|
|
134
|
+
title = {GEE ACOLITE: Atmospheric Correction for Google Earth Engine},
|
|
135
|
+
year = {2025},
|
|
136
|
+
url = {https://github.com/Aouei/gee_acolite}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
And the original ACOLITE paper:
|
|
141
|
+
|
|
142
|
+
```bibtex
|
|
143
|
+
@article{vanhellemont2019,
|
|
144
|
+
title={Adaptation of the dark spectrum fitting atmospheric correction for aquatic applications of the Landsat and Sentinel-2 archives},
|
|
145
|
+
author={Vanhellemont, Quinten and Ruddick, Kevin},
|
|
146
|
+
journal={Remote Sensing of Environment},
|
|
147
|
+
volume={225},
|
|
148
|
+
pages={175--192},
|
|
149
|
+
year={2019},
|
|
150
|
+
publisher={Elsevier}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Acknowledgments
|
|
155
|
+
|
|
156
|
+
This package is based on the ACOLITE software developed by RBINS (Royal Belgian Institute of Natural Sciences).
|
|
157
|
+
|
|
158
|
+
## Contact
|
|
159
|
+
|
|
160
|
+
- GitHub: [@Aouei](https://github.com/Aouei)
|
|
161
|
+
- Email: sergiohercar1@gmail.com
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# GEE ACOLITE
|
|
2
|
+
|
|
3
|
+
ACOLITE atmospheric correction implementation for Google Earth Engine (GEE).
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
This package provides atmospheric correction for Sentinel-2 imagery using the ACOLITE dark spectrum fitting method, optimized for Google Earth Engine workflows. It includes:
|
|
8
|
+
|
|
9
|
+
- **Dark Spectrum Fitting**: Multiple methods (darkest, percentile, intercept)
|
|
10
|
+
- **AOT Estimation**: Fixed geometry mode
|
|
11
|
+
- **Atmospheric Correction**: Full LUT-based correction
|
|
12
|
+
- **Water Quality Parameters**: SPM, turbidity, chlorophyll, bathymetry indices
|
|
13
|
+
- **Cloud Masking**: Integration with Sentinel-2 Cloud Probability
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
### From PyPI (when published)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install gee_acolite
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### From source
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/Aouei/gee_acolite.git
|
|
27
|
+
cd gee_acolite
|
|
28
|
+
pip install -e .
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Features
|
|
32
|
+
|
|
33
|
+
### Atmospheric Correction Methods
|
|
34
|
+
|
|
35
|
+
- **Fixed Geometry**: Single AOT estimation for entire image
|
|
36
|
+
- **Dark Spectrum Options**:
|
|
37
|
+
- `darkest`: Use minimum values
|
|
38
|
+
- `percentile`: Use Nth percentile
|
|
39
|
+
- `intercept`: Linear regression intercept
|
|
40
|
+
|
|
41
|
+
### Model Selection Criteria
|
|
42
|
+
|
|
43
|
+
- `min_drmsd`: Minimum RMSD between observed and modeled reflectance
|
|
44
|
+
- `min_dtau`: Minimum delta AOT between darkest bands
|
|
45
|
+
- `taua_cv`: Minimum coefficient of variation
|
|
46
|
+
|
|
47
|
+
### Water Quality Products
|
|
48
|
+
|
|
49
|
+
- **SPM**: Suspended particulate matter (Nechad 2016)
|
|
50
|
+
- **Turbidity**: Water turbidity (Nechad 2016)
|
|
51
|
+
- **Chlorophyll**: Chl-a concentration (OC2, OC3, Mishra)
|
|
52
|
+
- **Bathymetry**: Pseudo satellite-derived bathymetry (pSDB)
|
|
53
|
+
- **Indices**: NDWI, custom band ratios
|
|
54
|
+
|
|
55
|
+
## Requirements
|
|
56
|
+
|
|
57
|
+
- Python ≥ 3.8
|
|
58
|
+
- earthengine-api ≥ 0.1.350
|
|
59
|
+
- numpy ≥ 1.20.0
|
|
60
|
+
- scipy ≥ 1.7.0
|
|
61
|
+
- **ACOLITE** (standalone installation required)
|
|
62
|
+
|
|
63
|
+
### Installing ACOLITE
|
|
64
|
+
|
|
65
|
+
This package requires the ACOLITE atmospheric correction software to be installed separately:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Clone ACOLITE repository
|
|
69
|
+
git clone https://github.com/acolite/acolite.git
|
|
70
|
+
|
|
71
|
+
# Install ACOLITE
|
|
72
|
+
cd acolite
|
|
73
|
+
pip install -e .
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Important:** ACOLITE is not available on PyPI and must be installed from source.
|
|
77
|
+
|
|
78
|
+
## Contributing
|
|
79
|
+
|
|
80
|
+
Contributions are welcome! Please:
|
|
81
|
+
|
|
82
|
+
1. Fork the repository
|
|
83
|
+
2. Create a feature branch
|
|
84
|
+
3. Add tests for new features
|
|
85
|
+
4. Submit a pull request
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
|
|
90
|
+
|
|
91
|
+
## Citation
|
|
92
|
+
|
|
93
|
+
If you use this package in your research, please cite:
|
|
94
|
+
|
|
95
|
+
```bibtex
|
|
96
|
+
@software{gee_acolite,
|
|
97
|
+
author = {Sergio},
|
|
98
|
+
title = {GEE ACOLITE: Atmospheric Correction for Google Earth Engine},
|
|
99
|
+
year = {2025},
|
|
100
|
+
url = {https://github.com/Aouei/gee_acolite}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
And the original ACOLITE paper:
|
|
105
|
+
|
|
106
|
+
```bibtex
|
|
107
|
+
@article{vanhellemont2019,
|
|
108
|
+
title={Adaptation of the dark spectrum fitting atmospheric correction for aquatic applications of the Landsat and Sentinel-2 archives},
|
|
109
|
+
author={Vanhellemont, Quinten and Ruddick, Kevin},
|
|
110
|
+
journal={Remote Sensing of Environment},
|
|
111
|
+
volume={225},
|
|
112
|
+
pages={175--192},
|
|
113
|
+
year={2019},
|
|
114
|
+
publisher={Elsevier}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Acknowledgments
|
|
119
|
+
|
|
120
|
+
This package is based on the ACOLITE software developed by RBINS (Royal Belgian Institute of Natural Sciences).
|
|
121
|
+
|
|
122
|
+
## Contact
|
|
123
|
+
|
|
124
|
+
- GitHub: [@Aouei](https://github.com/Aouei)
|
|
125
|
+
- Email: sergiohercar1@gmail.com
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""
|
|
2
|
+
GEE ACOLITE - Atmospheric correction for Google Earth Engine
|
|
3
|
+
|
|
4
|
+
This package provides ACOLITE atmospheric correction optimized for
|
|
5
|
+
Google Earth Engine workflows with Sentinel-2 imagery.
|
|
6
|
+
|
|
7
|
+
Main Features:
|
|
8
|
+
- Dark spectrum fitting atmospheric correction
|
|
9
|
+
- AOT estimation (fixed geometry)
|
|
10
|
+
- Water quality parameter computation
|
|
11
|
+
- Cloud masking integration
|
|
12
|
+
|
|
13
|
+
Note: Requires ACOLITE package to be installed separately.
|
|
14
|
+
Install from: https://github.com/acolite/acolite
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
__version__ = "0.1.0"
|
|
18
|
+
__author__ = "Sergio"
|
|
19
|
+
__license__ = "GPL-3.0"
|
|
20
|
+
|
|
21
|
+
# Main atmospheric correction class
|
|
22
|
+
from gee_acolite.correction import ACOLITE
|
|
23
|
+
|
|
24
|
+
# Bathymetry utilities
|
|
25
|
+
from gee_acolite.bathymetry import multi_image
|
|
26
|
+
|
|
27
|
+
# Water quality parameters
|
|
28
|
+
from gee_acolite.water_quality import (
|
|
29
|
+
compute_water_bands,
|
|
30
|
+
compute_water_mask,
|
|
31
|
+
PRODUCTS
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Utility modules
|
|
35
|
+
from gee_acolite import utils, sensors
|
|
36
|
+
|
|
37
|
+
__all__ = [
|
|
38
|
+
# Main class
|
|
39
|
+
"ACOLITE",
|
|
40
|
+
# Bathymetry
|
|
41
|
+
"multi_image",
|
|
42
|
+
# Water quality
|
|
43
|
+
"compute_water_bands",
|
|
44
|
+
"compute_water_mask",
|
|
45
|
+
"PRODUCTS",
|
|
46
|
+
# Modules
|
|
47
|
+
"utils",
|
|
48
|
+
"sensors",
|
|
49
|
+
]
|