Welcome to¶
scikit-eo: A Python package for Remote Sensing Tools¶
Links of interest:¶
- GitHub repo: https://github.com/yotarazona/scikit-eo
- Documentation: https://yotarazona.github.io/scikit-eo/
- PyPI: https://pypi.org/project/scikeo/
- Notebooks examples: https://github.com/yotarazona/scikit-eo/tree/main/examples
- Google Colab examples: https://github.com/yotarazona/scikit-eo/tree/main/examples
- Free software: Apache 2.0
- Tutorials: step by step: https://yotarazona.github.io/scikit-eo/tutorials/
Introduction¶
Nowadays, remotely sensed data has increased dramatically. Microwaves and optical images with different spatial and temporal resolutions are available and are used to monitor a variety of environmental issues such as deforestation, land degradation, land use and land cover change, among others. Although there are efforts (i.e., Python packages, forums, communities, etc.) to make available line-of-code tools for pre-processing, processing and analysis of satellite imagery, there is still a gap that needs to be filled. In other words, too much time is still spent by many users developing Python lines of code. Algorithms for mapping land degradation through a linear trend of vegetation indices, fusion optical and radar images to classify vegetation cover, and calibration of machine learning algorithms, among others, are not available yet.
Therefore, scikit-eo is a Python package that provides tools for remote sensing. This package was developed to fill the gaps in remotely sensed data processing tools. Most of the tools are based on scientific publications, and others are useful algorithms that will allow processing to be done in a few lines of code. With these tools, the user will be able to invest time in analyzing the results of their data and not spend time on elaborating lines of code, which can sometimes be stressful.
Audience¶
Scikit-eo is a versatile Python package designed to cover a wide range of users, including students, professionals of remote sensing, researchers of environmental analysis, and organizations looking for satellite image analysis. Its comprehensive features make it well-suited for various applications, such as university teaching, that include technical and practical sessions, and cutting-edge research using the most recent machine learning and deep learning techniques applied to the field of remote sensing. Whether the user are students seeking to get insights from a satellite image analysis or a experienced researcher looking for advanced tools, scikit-eo offers a valuable resource to support the most valuable methods for environmental studies.
Tools for Remote Sensing¶
Name of functions/classes | Description |
---|---|
mla |
Machine Learning (Random Forest, Support Vector Machine, Decition Tree, Naive Bayes, Neural Network, etc.) |
calmla |
Calibrating supervised classification in Remote Sensing (e.g., Monte Carlo Cross-Validation, Leave-One-Out Cross-Validation, etc.) |
confintervalML |
Information of confusion matrix by proportions of area, overall accuracy, user's accuracy with confidence interval and estimated area with confidence interval as well. |
rkmeans |
K-means classification |
calkmeans |
This function allows to calibrate the kmeans algorithm. It is possible to obtain the best k value and the best embedded algorithm in kmeans. |
pca |
Principal Components Analysis |
atmosCorr |
Atmospheric Correction of satellite imagery |
deepLearning |
Deep Learning algorithms |
linearTrend |
Linear trend is useful for mapping forest degradation or land degradation |
fusionrs |
This algorithm allows to fuse images coming from different spectral sensors (e.g., optical-optical, optical and SAR or SAR-SAR). Among many of the qualities of this function, it is possible to obtain the contribution (%) of each variable in the fused image |
sma |
Spectral Mixture Analysis - Classification sup-pixel |
tassCap |
The Tasseled-Cap Transformation |
You will find more algorithms!.
Dependencies used by scikit-eo¶
All dependencies used by scikit-eo
are as follows:
numpy
, pandas
, matplotlib
, rasterio
, seaborn
, statsmodels
, scikit-learn
, scipy
, pytest
, dbfread
, fiona
and geopandas
. By installing scikit-eo
all these packages will be installed!.
Installation¶
To use scikit-eo
it is necessary to install it. There are two options:
1. From PyPI¶
scikit-eo is available on PyPI, so to install it, run this command in your terminal:
1 |
|
2. Installing from source¶
It is also possible to install the latest development version directly from the GitHub repository with:
1 |
|
containerizing scikit-eo
¶
Note: It is a recommended practice to provide some instructions for isolating/containerizing scikit-eo
. It would benefit their use and thus avoid that some dependencies are not compatible with others. For example, conda provides an easy solution.
1 |
|
1 |
|
scikit-eo
can be install within this new environment using via PyPI or from the GitHub repository.