diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-06-09 01:21:35 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-06-09 01:21:35 +0000 |
| commit | 2db6a821c64ec7762684678af908272948b7f6ac (patch) | |
| tree | 352220898ae23a5b65e647ebaa19f50040d67bb5 | |
| parent | 4710dd5b2a4b97c04f28d1f6224ead633212dba9 (diff) | |
automatic import of python-eo-learnopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-eo-learn.spec | 697 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 699 insertions, 0 deletions
@@ -0,0 +1 @@ +/eo-learn-1.4.2.tar.gz diff --git a/python-eo-learn.spec b/python-eo-learn.spec new file mode 100644 index 0000000..7d2b021 --- /dev/null +++ b/python-eo-learn.spec @@ -0,0 +1,697 @@ +%global _empty_manifest_terminate_build 0 +Name: python-eo-learn +Version: 1.4.2 +Release: 1 +Summary: Earth observation processing framework for machine learning in Python +License: MIT +URL: https://github.com/sentinel-hub/eo-learn +Source0: https://mirrors.aliyun.com/pypi/web/packages/56/82/56c119379a878c483040ea76903eb29e412f5606037416d530ae3752c45c/eo-learn-1.4.2.tar.gz +BuildArch: noarch + +Requires: python3-eo-learn-core +Requires: python3-eo-learn-coregistration +Requires: python3-eo-learn-features +Requires: python3-eo-learn-geometry +Requires: python3-eo-learn-io +Requires: python3-eo-learn-mask +Requires: python3-eo-learn-ml-tools +Requires: python3-eo-learn-visualization +Requires: python3-hypothesis +Requires: python3-moto +Requires: python3-mypy +Requires: python3-pylint +Requires: python3-pytest-cov +Requires: python3-pytest-lazy-fixture +Requires: python3-pytest-mock +Requires: python3-pytest +Requires: python3-ray[default] +Requires: python3-twine +Requires: python3-types-python-dateutil + +%description +[](https://pypi.org/project/eo-learn) +[](https://anaconda.org/conda-forge/eo-learn) +[](https://pypi.org/project/eo-learn) +[](https://github.com/sentinel-hub/eo-learn/actions) +[](https://eo-learn.readthedocs.io) +[](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE) +[](https://pepy.tech/project/eo-learn) +[](https://pepy.tech/project/eo-learn) +[](https://hub.docker.com/r/sentinelhub/eolearn) +[](https://codecov.io/gh/sentinel-hub/eo-learn) +[](https://zenodo.org/badge/latestdoi/135559956) + +# eo-learn + +**eo-learn makes extraction of valuable information from satellite imagery easy.** + +The availability of open Earth observation (EO) data through the Copernicus and Landsat programs represents an +unprecedented resource for many EO applications, ranging from ocean and land use and land cover monitoring, +disaster control, emergency services and humanitarian relief. Given the large amount of high spatial resolution +data at high revisit frequency, techniques able to automatically extract complex patterns in such _spatio-temporal_ +data are needed. + +**`eo-learn`** is a collection of open source Python packages that have been developed to seamlessly access and process +_spatio-temporal_ image sequences acquired by any satellite fleet in a timely and automatic manner. **`eo-learn`** is +easy to use, it's design modular, and encourages collaboration -- sharing and reusing of specific tasks in a typical +EO-value-extraction workflows, such as cloud masking, image co-registration, feature extraction, classification, etc. Everyone is free +to use any of the available tasks and is encouraged to improve the, develop new ones and share them with the rest of the community. + +**`eo-learn`** makes extraction of valuable information from satellite imagery as easy as defining a sequence of operations to be performed on satellite imagery. Image below illustrates a processing chain that maps water in satellite imagery by thresholding the Normalised Difference Water Index in user specified region of interest. + + + +**`eo-learn`** _library acts as a bridge between Earth observation/Remote sensing field and Python ecosystem for data science and machine learning._ The library is written in Python and uses NumPy arrays to store and handle remote sensing data. Its aim is to make entry easier for non-experts to the field of remote sensing on one hand and bring the state-of-the-art tools for computer vision, machine learning, and deep learning existing in Python ecosystem to remote sensing experts. + +## Package Overview + +**`eo-learn`** is divided into several subpackages according to different functionalities and external package dependencies. Therefore it is not necessary for user to install entire package but only the parts that he needs. + +At the moment there are the following subpackages: + +- **`eo-learn-core`** - The main subpackage which implements basic building blocks (`EOPatch`, `EOTask` and `EOWorkflow`) and commonly used functionalities. +- **`eo-learn-coregistration`** - The subpackage that deals with image co-registration. +- **`eo-learn-features`** - A collection of utilities for extracting data properties and feature manipulation. +- **`eo-learn-geometry`** - Geometry subpackage used for geometric transformation and conversion between vector and raster data. +- **`eo-learn-io`** - Input/output subpackage that deals with obtaining data from Sentinel Hub services or saving and loading data locally. +- **`eo-learn-mask`** - The subpackage used for masking of data and calculation of cloud masks. +- **`eo-learn-ml-tools`** - Various tools that can be used before or after the machine learning process. +- **`eo-learn-visualization`** - Visualization tools for core elements of eo-learn. + +## Installation + +### PyPi distribution + +The package requires Python version **>=3.8** . It can be installed with: + +```bash +pip install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +pip install eo-learn-core +pip install eo-learn-coregistration +pip install eo-learn-features +pip install eo-learn-geometry +pip install eo-learn-io +pip install eo-learn-mask +pip install eo-learn-ml-tools +pip install eo-learn-visualization +``` + +Before installing `eo-learn` on **Linux** it is recommended to install the following system libraries: + +```bash +sudo apt-get install gcc libgdal-dev graphviz proj-bin libproj-dev libspatialindex-dev +``` + +Before installing `eo-learn` on **Windows** it is recommended to install the following packages from [Unofficial Windows wheels repository](https://www.lfd.uci.edu/~gohlke/pythonlibs/): + +```bash +gdal +rasterio +shapely +fiona +``` + +One of dependencies of `eo-learn-mask` subpackage is `lightgbm` package. On Windows it requires 64 bit Python distribution. If having problems during installation please check [LightGBM installation guide](https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html). + +Some subpackages contain extension modules under `extra` subfolder. Those modules typically require additional package dependencies which don't get installed by default. + +### Conda Forge distribution + +The package requires a Python environment **>=3.8**. + +Thanks to the maintainers of the conda forge feedstock (@benhuff, @dcunn, @mwilson8, @oblute, @rluria14), `eo-learn` can +be installed using `conda-forge` as follows: + +```bash +conda config --add channels conda-forge + +conda install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +conda install eo-learn-core +conda install eo-learn-coregistration +conda install eo-learn-features +conda install eo-learn-geometry +conda install eo-learn-io +conda install eo-learn-mask +conda install eo-learn-ml-tools +conda install eo-learn-visualization +``` + +### Run with Docker + +A docker image with the latest released version of `eo-learn` is available at [Docker Hub](https://hub.docker.com/r/sentinelhub/eolearn). It provides a full installation of `eo-learn` together with a Jupyter notebook environment. You can pull and run it with: + +```bash +docker pull sentinelhub/eolearn:latest +docker run -p 8888:8888 sentinelhub/eolearn:latest +``` + +An extended version of the `latest` image additionally contains all example notebooks and data to get you started with `eo-learn`. Run it with: + +```bash +docker pull sentinelhub/eolearn:latest-examples +docker run -p 8888:8888 sentinelhub/eolearn:latest-examples +``` + +Both docker images can also be built manually from GitHub repository: + +```bash +docker build -f docker/eolearn.dockerfile . --tag=sentinelhub/eolearn:latest +docker build -f docker/eolearn-examples.dockerfile . --tag=sentinelhub/eolearn:latest-examples +``` + +## Documentation + +For more information on the package content, visit [readthedocs](https://eo-learn.readthedocs.io/). + +## More Examples + +Examples and introductions to the package can be found [here](https://github.com/sentinel-hub/eo-learn/tree/master/examples). A large collection of examples is available at the [`eo-learn-examples`](https://github.com/sentinel-hub/eo-learn-examples) repository. While the examples there are not always up-to-date they can be a great source of ideas. + +## Contributions + +The list of all `eo-learn` contributors can be found [here](./CONTRIBUTING.md). If you would like to contribute to `eo-learn`, please check our [contribution guidelines](./CONTRIBUTING.md). + +## Blog posts and papers + +- [Introducing eo-learn](https://medium.com/sentinel-hub/introducing-eo-learn-ab37f2869f5c) (by Devis Peressutti) +- [Land Cover Classification with eo-learn: Part 1 - Mastering Satellite Image Data in an Open-Source Python Environment](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-1-2471e8098195) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 2 - Going from Data to Predictions in the Comfort of Your Laptop](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-2-bd9aa86f8500) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 3 - Pushing Beyond the Point of “Good Enough”](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-3-c62ed9ecd405) (by Matic Lubej) +- [Innovations in satellite measurements for development](https://blogs.worldbank.org/opendata/innovations-satellite-measurements-development) +- [Use eo-learn with AWS SageMaker](https://medium.com/@drewbo19/use-eo-learn-with-aws-sagemaker-9420856aafb5) (by Drew Bollinger) +- [Spatio-Temporal Deep Learning: An Application to Land Cover Classification](https://www.researchgate.net/publication/333262625_Spatio-Temporal_Deep_Learning_An_Application_to_Land_Cover_Classification) (by Anze Zupanc) +- [Tree Cover Prediction with Deep Learning](https://medium.com/dataseries/tree-cover-prediction-with-deep-learning-afeb0b663966) (by Daniel Moraite) +- [NoRSC19 Workshop on eo-learn](https://github.com/sentinel-hub/norsc19-eo-learn-workshop) +- [Tracking a rapidly changing planet](https://medium.com/@developmentseed/tracking-a-rapidly-changing-planet-bc02efe3545d) (by Development Seed) +- [Land Cover Monitoring System](https://medium.com/sentinel-hub/land-cover-monitoring-system-84406e3019ae) (by Jovan Visnjic and Matej Aleksandrov) +- [eo-learn Webinar](https://www.youtube.com/watch?v=Rv-yK7Vbk4o) (by Anze Zupanc) +- [Cloud Masks at Your Service](https://medium.com/sentinel-hub/cloud-masks-at-your-service-6e5b2cb2ce8a) +- [ML examples for Common Agriculture Policy](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [High-Level Concept](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [Data Handling](https://medium.com/sentinel-hub/area-monitoring-data-handling-c255b215364f) + - [Outlier detection](https://medium.com/sentinel-hub/area-monitoring-observation-outlier-detection-34f86b7cc63) + - [Identifying built-up areas](https://medium.com/sentinel-hub/area-monitoring-how-to-train-a-binary-classifier-for-built-up-areas-7f2d7114ed1c) + - [Similarity Score](https://medium.com/sentinel-hub/area-monitoring-similarity-score-72e5cbfb33b6) + - [Bare Soil Marker](https://medium.com/sentinel-hub/area-monitoring-bare-soil-marker-608bc95712ae) + - [Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-mowing-marker-e99cff0c2d08) + - [Pixel-level Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-pixel-level-mowing-marker-968402a8579b) + - [Crop Type Marker](https://medium.com/sentinel-hub/area-monitoring-crop-type-marker-1e70f672bf44) + - [Homogeneity Marker](https://medium.com/sentinel-hub/area-monitoring-homogeneity-marker-742047b834dc) + - [Parcel Boundary Detection](https://medium.com/sentinel-hub/parcel-boundary-detection-for-cap-2a316a77d2f6) + - Land Cover Classification (still to come) + - Minimum Agriculture Activity (still to come) + - [Combining the Markers into Decisions](https://medium.com/sentinel-hub/area-monitoring-combining-markers-into-decisions-d74f70fe7721) + - [The Challenge of Small Parcels](https://medium.com/sentinel-hub/area-monitoring-the-challenge-of-small-parcels-96121e169e5b) + - [Traffic Light System](https://medium.com/sentinel-hub/area-monitoring-traffic-light-system-4a1348481c40) + - [Expert Judgement Application](https://medium.com/sentinel-hub/expert-judgement-application-67a07f2feac4) +- [Scale-up your eo-learn workflow using Batch Processing API](https://medium.com/sentinel-hub/scale-up-your-eo-learn-workflow-using-batch-processing-api-d183b70ea237) (by Maxim Lamare) + +## Questions and Issues + +Feel free to ask questions about the package and its use cases at [Sentinel Hub forum](https://forum.sentinel-hub.com/) or raise an issue on [GitHub](https://github.com/sentinel-hub/eo-learn/issues). + +You are welcome to send your feedback to the package authors, EO Research team, through any of [Sentinel Hub communication channel](https://sentinel-hub.com/develop/communication-channels). + +## License + +See [LICENSE](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE). + +## Acknowledgements + +This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreements No. 776115 and No. 101004112. + + + + +%package -n python3-eo-learn +Summary: Earth observation processing framework for machine learning in Python +Provides: python-eo-learn +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-eo-learn +[](https://pypi.org/project/eo-learn) +[](https://anaconda.org/conda-forge/eo-learn) +[](https://pypi.org/project/eo-learn) +[](https://github.com/sentinel-hub/eo-learn/actions) +[](https://eo-learn.readthedocs.io) +[](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE) +[](https://pepy.tech/project/eo-learn) +[](https://pepy.tech/project/eo-learn) +[](https://hub.docker.com/r/sentinelhub/eolearn) +[](https://codecov.io/gh/sentinel-hub/eo-learn) +[](https://zenodo.org/badge/latestdoi/135559956) + +# eo-learn + +**eo-learn makes extraction of valuable information from satellite imagery easy.** + +The availability of open Earth observation (EO) data through the Copernicus and Landsat programs represents an +unprecedented resource for many EO applications, ranging from ocean and land use and land cover monitoring, +disaster control, emergency services and humanitarian relief. Given the large amount of high spatial resolution +data at high revisit frequency, techniques able to automatically extract complex patterns in such _spatio-temporal_ +data are needed. + +**`eo-learn`** is a collection of open source Python packages that have been developed to seamlessly access and process +_spatio-temporal_ image sequences acquired by any satellite fleet in a timely and automatic manner. **`eo-learn`** is +easy to use, it's design modular, and encourages collaboration -- sharing and reusing of specific tasks in a typical +EO-value-extraction workflows, such as cloud masking, image co-registration, feature extraction, classification, etc. Everyone is free +to use any of the available tasks and is encouraged to improve the, develop new ones and share them with the rest of the community. + +**`eo-learn`** makes extraction of valuable information from satellite imagery as easy as defining a sequence of operations to be performed on satellite imagery. Image below illustrates a processing chain that maps water in satellite imagery by thresholding the Normalised Difference Water Index in user specified region of interest. + + + +**`eo-learn`** _library acts as a bridge between Earth observation/Remote sensing field and Python ecosystem for data science and machine learning._ The library is written in Python and uses NumPy arrays to store and handle remote sensing data. Its aim is to make entry easier for non-experts to the field of remote sensing on one hand and bring the state-of-the-art tools for computer vision, machine learning, and deep learning existing in Python ecosystem to remote sensing experts. + +## Package Overview + +**`eo-learn`** is divided into several subpackages according to different functionalities and external package dependencies. Therefore it is not necessary for user to install entire package but only the parts that he needs. + +At the moment there are the following subpackages: + +- **`eo-learn-core`** - The main subpackage which implements basic building blocks (`EOPatch`, `EOTask` and `EOWorkflow`) and commonly used functionalities. +- **`eo-learn-coregistration`** - The subpackage that deals with image co-registration. +- **`eo-learn-features`** - A collection of utilities for extracting data properties and feature manipulation. +- **`eo-learn-geometry`** - Geometry subpackage used for geometric transformation and conversion between vector and raster data. +- **`eo-learn-io`** - Input/output subpackage that deals with obtaining data from Sentinel Hub services or saving and loading data locally. +- **`eo-learn-mask`** - The subpackage used for masking of data and calculation of cloud masks. +- **`eo-learn-ml-tools`** - Various tools that can be used before or after the machine learning process. +- **`eo-learn-visualization`** - Visualization tools for core elements of eo-learn. + +## Installation + +### PyPi distribution + +The package requires Python version **>=3.8** . It can be installed with: + +```bash +pip install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +pip install eo-learn-core +pip install eo-learn-coregistration +pip install eo-learn-features +pip install eo-learn-geometry +pip install eo-learn-io +pip install eo-learn-mask +pip install eo-learn-ml-tools +pip install eo-learn-visualization +``` + +Before installing `eo-learn` on **Linux** it is recommended to install the following system libraries: + +```bash +sudo apt-get install gcc libgdal-dev graphviz proj-bin libproj-dev libspatialindex-dev +``` + +Before installing `eo-learn` on **Windows** it is recommended to install the following packages from [Unofficial Windows wheels repository](https://www.lfd.uci.edu/~gohlke/pythonlibs/): + +```bash +gdal +rasterio +shapely +fiona +``` + +One of dependencies of `eo-learn-mask` subpackage is `lightgbm` package. On Windows it requires 64 bit Python distribution. If having problems during installation please check [LightGBM installation guide](https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html). + +Some subpackages contain extension modules under `extra` subfolder. Those modules typically require additional package dependencies which don't get installed by default. + +### Conda Forge distribution + +The package requires a Python environment **>=3.8**. + +Thanks to the maintainers of the conda forge feedstock (@benhuff, @dcunn, @mwilson8, @oblute, @rluria14), `eo-learn` can +be installed using `conda-forge` as follows: + +```bash +conda config --add channels conda-forge + +conda install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +conda install eo-learn-core +conda install eo-learn-coregistration +conda install eo-learn-features +conda install eo-learn-geometry +conda install eo-learn-io +conda install eo-learn-mask +conda install eo-learn-ml-tools +conda install eo-learn-visualization +``` + +### Run with Docker + +A docker image with the latest released version of `eo-learn` is available at [Docker Hub](https://hub.docker.com/r/sentinelhub/eolearn). It provides a full installation of `eo-learn` together with a Jupyter notebook environment. You can pull and run it with: + +```bash +docker pull sentinelhub/eolearn:latest +docker run -p 8888:8888 sentinelhub/eolearn:latest +``` + +An extended version of the `latest` image additionally contains all example notebooks and data to get you started with `eo-learn`. Run it with: + +```bash +docker pull sentinelhub/eolearn:latest-examples +docker run -p 8888:8888 sentinelhub/eolearn:latest-examples +``` + +Both docker images can also be built manually from GitHub repository: + +```bash +docker build -f docker/eolearn.dockerfile . --tag=sentinelhub/eolearn:latest +docker build -f docker/eolearn-examples.dockerfile . --tag=sentinelhub/eolearn:latest-examples +``` + +## Documentation + +For more information on the package content, visit [readthedocs](https://eo-learn.readthedocs.io/). + +## More Examples + +Examples and introductions to the package can be found [here](https://github.com/sentinel-hub/eo-learn/tree/master/examples). A large collection of examples is available at the [`eo-learn-examples`](https://github.com/sentinel-hub/eo-learn-examples) repository. While the examples there are not always up-to-date they can be a great source of ideas. + +## Contributions + +The list of all `eo-learn` contributors can be found [here](./CONTRIBUTING.md). If you would like to contribute to `eo-learn`, please check our [contribution guidelines](./CONTRIBUTING.md). + +## Blog posts and papers + +- [Introducing eo-learn](https://medium.com/sentinel-hub/introducing-eo-learn-ab37f2869f5c) (by Devis Peressutti) +- [Land Cover Classification with eo-learn: Part 1 - Mastering Satellite Image Data in an Open-Source Python Environment](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-1-2471e8098195) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 2 - Going from Data to Predictions in the Comfort of Your Laptop](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-2-bd9aa86f8500) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 3 - Pushing Beyond the Point of “Good Enough”](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-3-c62ed9ecd405) (by Matic Lubej) +- [Innovations in satellite measurements for development](https://blogs.worldbank.org/opendata/innovations-satellite-measurements-development) +- [Use eo-learn with AWS SageMaker](https://medium.com/@drewbo19/use-eo-learn-with-aws-sagemaker-9420856aafb5) (by Drew Bollinger) +- [Spatio-Temporal Deep Learning: An Application to Land Cover Classification](https://www.researchgate.net/publication/333262625_Spatio-Temporal_Deep_Learning_An_Application_to_Land_Cover_Classification) (by Anze Zupanc) +- [Tree Cover Prediction with Deep Learning](https://medium.com/dataseries/tree-cover-prediction-with-deep-learning-afeb0b663966) (by Daniel Moraite) +- [NoRSC19 Workshop on eo-learn](https://github.com/sentinel-hub/norsc19-eo-learn-workshop) +- [Tracking a rapidly changing planet](https://medium.com/@developmentseed/tracking-a-rapidly-changing-planet-bc02efe3545d) (by Development Seed) +- [Land Cover Monitoring System](https://medium.com/sentinel-hub/land-cover-monitoring-system-84406e3019ae) (by Jovan Visnjic and Matej Aleksandrov) +- [eo-learn Webinar](https://www.youtube.com/watch?v=Rv-yK7Vbk4o) (by Anze Zupanc) +- [Cloud Masks at Your Service](https://medium.com/sentinel-hub/cloud-masks-at-your-service-6e5b2cb2ce8a) +- [ML examples for Common Agriculture Policy](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [High-Level Concept](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [Data Handling](https://medium.com/sentinel-hub/area-monitoring-data-handling-c255b215364f) + - [Outlier detection](https://medium.com/sentinel-hub/area-monitoring-observation-outlier-detection-34f86b7cc63) + - [Identifying built-up areas](https://medium.com/sentinel-hub/area-monitoring-how-to-train-a-binary-classifier-for-built-up-areas-7f2d7114ed1c) + - [Similarity Score](https://medium.com/sentinel-hub/area-monitoring-similarity-score-72e5cbfb33b6) + - [Bare Soil Marker](https://medium.com/sentinel-hub/area-monitoring-bare-soil-marker-608bc95712ae) + - [Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-mowing-marker-e99cff0c2d08) + - [Pixel-level Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-pixel-level-mowing-marker-968402a8579b) + - [Crop Type Marker](https://medium.com/sentinel-hub/area-monitoring-crop-type-marker-1e70f672bf44) + - [Homogeneity Marker](https://medium.com/sentinel-hub/area-monitoring-homogeneity-marker-742047b834dc) + - [Parcel Boundary Detection](https://medium.com/sentinel-hub/parcel-boundary-detection-for-cap-2a316a77d2f6) + - Land Cover Classification (still to come) + - Minimum Agriculture Activity (still to come) + - [Combining the Markers into Decisions](https://medium.com/sentinel-hub/area-monitoring-combining-markers-into-decisions-d74f70fe7721) + - [The Challenge of Small Parcels](https://medium.com/sentinel-hub/area-monitoring-the-challenge-of-small-parcels-96121e169e5b) + - [Traffic Light System](https://medium.com/sentinel-hub/area-monitoring-traffic-light-system-4a1348481c40) + - [Expert Judgement Application](https://medium.com/sentinel-hub/expert-judgement-application-67a07f2feac4) +- [Scale-up your eo-learn workflow using Batch Processing API](https://medium.com/sentinel-hub/scale-up-your-eo-learn-workflow-using-batch-processing-api-d183b70ea237) (by Maxim Lamare) + +## Questions and Issues + +Feel free to ask questions about the package and its use cases at [Sentinel Hub forum](https://forum.sentinel-hub.com/) or raise an issue on [GitHub](https://github.com/sentinel-hub/eo-learn/issues). + +You are welcome to send your feedback to the package authors, EO Research team, through any of [Sentinel Hub communication channel](https://sentinel-hub.com/develop/communication-channels). + +## License + +See [LICENSE](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE). + +## Acknowledgements + +This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreements No. 776115 and No. 101004112. + + + + +%package help +Summary: Development documents and examples for eo-learn +Provides: python3-eo-learn-doc +%description help +[](https://pypi.org/project/eo-learn) +[](https://anaconda.org/conda-forge/eo-learn) +[](https://pypi.org/project/eo-learn) +[](https://github.com/sentinel-hub/eo-learn/actions) +[](https://eo-learn.readthedocs.io) +[](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE) +[](https://pepy.tech/project/eo-learn) +[](https://pepy.tech/project/eo-learn) +[](https://hub.docker.com/r/sentinelhub/eolearn) +[](https://codecov.io/gh/sentinel-hub/eo-learn) +[](https://zenodo.org/badge/latestdoi/135559956) + +# eo-learn + +**eo-learn makes extraction of valuable information from satellite imagery easy.** + +The availability of open Earth observation (EO) data through the Copernicus and Landsat programs represents an +unprecedented resource for many EO applications, ranging from ocean and land use and land cover monitoring, +disaster control, emergency services and humanitarian relief. Given the large amount of high spatial resolution +data at high revisit frequency, techniques able to automatically extract complex patterns in such _spatio-temporal_ +data are needed. + +**`eo-learn`** is a collection of open source Python packages that have been developed to seamlessly access and process +_spatio-temporal_ image sequences acquired by any satellite fleet in a timely and automatic manner. **`eo-learn`** is +easy to use, it's design modular, and encourages collaboration -- sharing and reusing of specific tasks in a typical +EO-value-extraction workflows, such as cloud masking, image co-registration, feature extraction, classification, etc. Everyone is free +to use any of the available tasks and is encouraged to improve the, develop new ones and share them with the rest of the community. + +**`eo-learn`** makes extraction of valuable information from satellite imagery as easy as defining a sequence of operations to be performed on satellite imagery. Image below illustrates a processing chain that maps water in satellite imagery by thresholding the Normalised Difference Water Index in user specified region of interest. + + + +**`eo-learn`** _library acts as a bridge between Earth observation/Remote sensing field and Python ecosystem for data science and machine learning._ The library is written in Python and uses NumPy arrays to store and handle remote sensing data. Its aim is to make entry easier for non-experts to the field of remote sensing on one hand and bring the state-of-the-art tools for computer vision, machine learning, and deep learning existing in Python ecosystem to remote sensing experts. + +## Package Overview + +**`eo-learn`** is divided into several subpackages according to different functionalities and external package dependencies. Therefore it is not necessary for user to install entire package but only the parts that he needs. + +At the moment there are the following subpackages: + +- **`eo-learn-core`** - The main subpackage which implements basic building blocks (`EOPatch`, `EOTask` and `EOWorkflow`) and commonly used functionalities. +- **`eo-learn-coregistration`** - The subpackage that deals with image co-registration. +- **`eo-learn-features`** - A collection of utilities for extracting data properties and feature manipulation. +- **`eo-learn-geometry`** - Geometry subpackage used for geometric transformation and conversion between vector and raster data. +- **`eo-learn-io`** - Input/output subpackage that deals with obtaining data from Sentinel Hub services or saving and loading data locally. +- **`eo-learn-mask`** - The subpackage used for masking of data and calculation of cloud masks. +- **`eo-learn-ml-tools`** - Various tools that can be used before or after the machine learning process. +- **`eo-learn-visualization`** - Visualization tools for core elements of eo-learn. + +## Installation + +### PyPi distribution + +The package requires Python version **>=3.8** . It can be installed with: + +```bash +pip install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +pip install eo-learn-core +pip install eo-learn-coregistration +pip install eo-learn-features +pip install eo-learn-geometry +pip install eo-learn-io +pip install eo-learn-mask +pip install eo-learn-ml-tools +pip install eo-learn-visualization +``` + +Before installing `eo-learn` on **Linux** it is recommended to install the following system libraries: + +```bash +sudo apt-get install gcc libgdal-dev graphviz proj-bin libproj-dev libspatialindex-dev +``` + +Before installing `eo-learn` on **Windows** it is recommended to install the following packages from [Unofficial Windows wheels repository](https://www.lfd.uci.edu/~gohlke/pythonlibs/): + +```bash +gdal +rasterio +shapely +fiona +``` + +One of dependencies of `eo-learn-mask` subpackage is `lightgbm` package. On Windows it requires 64 bit Python distribution. If having problems during installation please check [LightGBM installation guide](https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html). + +Some subpackages contain extension modules under `extra` subfolder. Those modules typically require additional package dependencies which don't get installed by default. + +### Conda Forge distribution + +The package requires a Python environment **>=3.8**. + +Thanks to the maintainers of the conda forge feedstock (@benhuff, @dcunn, @mwilson8, @oblute, @rluria14), `eo-learn` can +be installed using `conda-forge` as follows: + +```bash +conda config --add channels conda-forge + +conda install eo-learn +``` + +In order to avoid heavy package dependencies it is possible to install each subpackage separately: + +```bash +conda install eo-learn-core +conda install eo-learn-coregistration +conda install eo-learn-features +conda install eo-learn-geometry +conda install eo-learn-io +conda install eo-learn-mask +conda install eo-learn-ml-tools +conda install eo-learn-visualization +``` + +### Run with Docker + +A docker image with the latest released version of `eo-learn` is available at [Docker Hub](https://hub.docker.com/r/sentinelhub/eolearn). It provides a full installation of `eo-learn` together with a Jupyter notebook environment. You can pull and run it with: + +```bash +docker pull sentinelhub/eolearn:latest +docker run -p 8888:8888 sentinelhub/eolearn:latest +``` + +An extended version of the `latest` image additionally contains all example notebooks and data to get you started with `eo-learn`. Run it with: + +```bash +docker pull sentinelhub/eolearn:latest-examples +docker run -p 8888:8888 sentinelhub/eolearn:latest-examples +``` + +Both docker images can also be built manually from GitHub repository: + +```bash +docker build -f docker/eolearn.dockerfile . --tag=sentinelhub/eolearn:latest +docker build -f docker/eolearn-examples.dockerfile . --tag=sentinelhub/eolearn:latest-examples +``` + +## Documentation + +For more information on the package content, visit [readthedocs](https://eo-learn.readthedocs.io/). + +## More Examples + +Examples and introductions to the package can be found [here](https://github.com/sentinel-hub/eo-learn/tree/master/examples). A large collection of examples is available at the [`eo-learn-examples`](https://github.com/sentinel-hub/eo-learn-examples) repository. While the examples there are not always up-to-date they can be a great source of ideas. + +## Contributions + +The list of all `eo-learn` contributors can be found [here](./CONTRIBUTING.md). If you would like to contribute to `eo-learn`, please check our [contribution guidelines](./CONTRIBUTING.md). + +## Blog posts and papers + +- [Introducing eo-learn](https://medium.com/sentinel-hub/introducing-eo-learn-ab37f2869f5c) (by Devis Peressutti) +- [Land Cover Classification with eo-learn: Part 1 - Mastering Satellite Image Data in an Open-Source Python Environment](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-1-2471e8098195) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 2 - Going from Data to Predictions in the Comfort of Your Laptop](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-2-bd9aa86f8500) (by Matic Lubej) +- [Land Cover Classification with eo-learn: Part 3 - Pushing Beyond the Point of “Good Enough”](https://medium.com/sentinel-hub/land-cover-classification-with-eo-learn-part-3-c62ed9ecd405) (by Matic Lubej) +- [Innovations in satellite measurements for development](https://blogs.worldbank.org/opendata/innovations-satellite-measurements-development) +- [Use eo-learn with AWS SageMaker](https://medium.com/@drewbo19/use-eo-learn-with-aws-sagemaker-9420856aafb5) (by Drew Bollinger) +- [Spatio-Temporal Deep Learning: An Application to Land Cover Classification](https://www.researchgate.net/publication/333262625_Spatio-Temporal_Deep_Learning_An_Application_to_Land_Cover_Classification) (by Anze Zupanc) +- [Tree Cover Prediction with Deep Learning](https://medium.com/dataseries/tree-cover-prediction-with-deep-learning-afeb0b663966) (by Daniel Moraite) +- [NoRSC19 Workshop on eo-learn](https://github.com/sentinel-hub/norsc19-eo-learn-workshop) +- [Tracking a rapidly changing planet](https://medium.com/@developmentseed/tracking-a-rapidly-changing-planet-bc02efe3545d) (by Development Seed) +- [Land Cover Monitoring System](https://medium.com/sentinel-hub/land-cover-monitoring-system-84406e3019ae) (by Jovan Visnjic and Matej Aleksandrov) +- [eo-learn Webinar](https://www.youtube.com/watch?v=Rv-yK7Vbk4o) (by Anze Zupanc) +- [Cloud Masks at Your Service](https://medium.com/sentinel-hub/cloud-masks-at-your-service-6e5b2cb2ce8a) +- [ML examples for Common Agriculture Policy](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [High-Level Concept](https://medium.com/sentinel-hub/area-monitoring-concept-effc2c262583) + - [Data Handling](https://medium.com/sentinel-hub/area-monitoring-data-handling-c255b215364f) + - [Outlier detection](https://medium.com/sentinel-hub/area-monitoring-observation-outlier-detection-34f86b7cc63) + - [Identifying built-up areas](https://medium.com/sentinel-hub/area-monitoring-how-to-train-a-binary-classifier-for-built-up-areas-7f2d7114ed1c) + - [Similarity Score](https://medium.com/sentinel-hub/area-monitoring-similarity-score-72e5cbfb33b6) + - [Bare Soil Marker](https://medium.com/sentinel-hub/area-monitoring-bare-soil-marker-608bc95712ae) + - [Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-mowing-marker-e99cff0c2d08) + - [Pixel-level Mowing Marker](https://medium.com/sentinel-hub/area-monitoring-pixel-level-mowing-marker-968402a8579b) + - [Crop Type Marker](https://medium.com/sentinel-hub/area-monitoring-crop-type-marker-1e70f672bf44) + - [Homogeneity Marker](https://medium.com/sentinel-hub/area-monitoring-homogeneity-marker-742047b834dc) + - [Parcel Boundary Detection](https://medium.com/sentinel-hub/parcel-boundary-detection-for-cap-2a316a77d2f6) + - Land Cover Classification (still to come) + - Minimum Agriculture Activity (still to come) + - [Combining the Markers into Decisions](https://medium.com/sentinel-hub/area-monitoring-combining-markers-into-decisions-d74f70fe7721) + - [The Challenge of Small Parcels](https://medium.com/sentinel-hub/area-monitoring-the-challenge-of-small-parcels-96121e169e5b) + - [Traffic Light System](https://medium.com/sentinel-hub/area-monitoring-traffic-light-system-4a1348481c40) + - [Expert Judgement Application](https://medium.com/sentinel-hub/expert-judgement-application-67a07f2feac4) +- [Scale-up your eo-learn workflow using Batch Processing API](https://medium.com/sentinel-hub/scale-up-your-eo-learn-workflow-using-batch-processing-api-d183b70ea237) (by Maxim Lamare) + +## Questions and Issues + +Feel free to ask questions about the package and its use cases at [Sentinel Hub forum](https://forum.sentinel-hub.com/) or raise an issue on [GitHub](https://github.com/sentinel-hub/eo-learn/issues). + +You are welcome to send your feedback to the package authors, EO Research team, through any of [Sentinel Hub communication channel](https://sentinel-hub.com/develop/communication-channels). + +## License + +See [LICENSE](https://github.com/sentinel-hub/eo-learn/blob/master/LICENSE). + +## Acknowledgements + +This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreements No. 776115 and No. 101004112. + + + + +%prep +%autosetup -n eo-learn-1.4.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-eo-learn -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.2-1 +- Package Spec generated @@ -0,0 +1 @@ +63cc4f2995ed967fa19db1decfa3fbe3 eo-learn-1.4.2.tar.gz |
