Museo ToolBox

Museo ToolBox: A Python library for remote sensing including a new way to handle rasters. - Published in JOSS (2020)

https://github.com/nkarasiak/museotoolbox

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Earth and Environmental Sciences Physical Sciences - 80% confidence
Artificial Intelligence and Machine Learning Computer Science - 69% confidence
Last synced: 4 months ago · JSON representation

Repository

MuseoToolBox : a python library for remote sensing scripts

Basic Info
Statistics
  • Stars: 37
  • Watchers: 4
  • Forks: 14
  • Open Issues: 1
  • Releases: 12
Created over 7 years ago · Last pushed over 5 years ago
Metadata Files
Readme Changelog Contributing License

README.md

Museo ToolBox logo

Build status Documentation status codecov PyPI version Conda version Downloads status

Museo ToolBox is a python library to simplify the use of raster/vector, especially for machine learning and remote sensing. It is now easy to extract raster values from vector polygons and to do some spatial/unspatial cross-validation for scikit-learn from raster.

One of the most meaningful contribution is, in my humble opinion, the RasterMath class and the spatial cross-validation.

What's the point ?

Today, the main usages of Museo ToolBox are : - museotoolbox.cross_validation - Create validation/training sets from vector, and cross-validation compatible with Scikit-Learn GridSearchCV. The aim is here to promote the spatial cross-validation in order to better estimate a model (with a lower spatial auto-correlation overestimation). - museotoolbox.processing - RasterMath, allows you to apply any of your array-compatible function on your raster and save it. Just load RasterMath, then it will return you the value for each pixel (in all bands) and now you can do whatever you want : predicting a model, smooth signal (whittaker, double logistic...), compute modal value... RasterMath reads and writes a raster block per block to avoid loading the full image in memory. It is compatible with every python function (including numpy) as the first and only argument RasterMath needs on your function is an array. - Extract bands values from vector ROI (polygons/points) (function : extract_ROI)
- AI based on Scikit-Learn. SuperLearner simplifies the use of cross-validation by extracting each accuracy (kappa,F1,OA, and above all confusion matrix) from each fold. It also eases the way to predict a raster (just give the raster name and the model).

That seems cool, but is there some help to use this ?

I imagined Museo ToolBox as a tool to simplify raster processing and to promote spatial cross-validation, so of course there is some help : a complete documentation with a lot of examples is available on readthedocs.

How do I install Museo ToolBox ?

We recommend you to install Museo ToolBox via conda as it includes gdal dependency :

shell conda install -c conda-forge museotoolbox

However, if you prefer to install this library via pip, you need to install first gdal, then :

shell python3 -m pip install museotoolbox --user

For early-adopters, you can install the latest development version directly from git :

shell python3 -m pip install https://github.com/nkarasiak/museotoolbox/archive/develop.zip --user -U

Feel free to remove the --user if you like to install the library for every user on the machine or if some dependencies need root access. -U is for update if a newer version exists.

Using and citing the toolbox

If you use Museo ToolBox in your research and find it useful, please cite this library using the following bibtex reference:

bib @article{Karasiak2020, doi = {10.21105/joss.01978}, url = {https://doi.org/10.21105/joss.01978}, year = {2020}, publisher = {The Open Journal}, volume = {5}, number = {48}, pages = {1978}, author = {Nicolas Karasiak}, title = {Museo ToolBox: A Python library for remote sensing including a new way to handle rasters.}, journal = {Journal of Open Source Software} } Or copy this citation :

Karasiak, N., (2020). Museo ToolBox: A Python library for remote sensing including a new way to handle rasters.. Journal of Open Source Software, 5(48), 1978, https://doi.org/10.21105/joss.01978

I want to improve Museo ToolBox, how can I contribute ?

To contribute to this package, please read the instructions in CONTRIBUTING.rst.

Who built Museo ToolBox ?

I am Nicolas Karasiak, a Phd student at Dynafor Lab. I work tree species mapping from space throught dense satellite image time series, especially with Sentinel-2. A special thanks goes to Mathieu Fauvel who initiated me to the beautiful world of the open-source.

Why this name ?

As Orfeo ToolBox is one my favorite and most useful library to work with raster data, I choose to name my work as Museo because in ancient Greek religion and myth, Museo is the son and disciple of Orfeo. If you want an acronym, let's say MUSEO means 'Multiple Useful Services for Earth Observation'.

Owner

  • Name: Nicolas Karasiak
  • Login: nkarasiak
  • Kind: user
  • Location: Toulouse, France
  • Company: EarthDaily Agro

Data scientist. Phd in remote sensing. Python addict.

JOSS Publication

Museo ToolBox: A Python library for remote sensing including a new way to handle rasters.
Published
April 21, 2020
Volume 5, Issue 48, Page 1978
Authors
Nicolas Karasiak ORCID
Université de Toulouse, INRAE, UMR DYNAFOR, Castanet-Tolosan, France
Editor
Katy Barnhart ORCID
Tags
remote sensing spatial cross-validation raster vector autocorrelation

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 459
  • Total Committers: 9
  • Avg Commits per committer: 51.0
  • Development Distribution Score (DDS): 0.194
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nicolas Karasiak n****t@g****m 370
Nicolas Karasiak n****k@i****r 58
Nicolas Karasiak k****s@g****m 8
Marc m****3@h****m 7
pyup-bot g****t@p****o 7
Helene h****e@g****m 5
Katy Barnhart k****t@g****m 2
Sam a****m@g****m 1
enka e****a@e****i 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 11
  • Total pull requests: 20
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 13 hours
  • Total issue authors: 4
  • Total pull request authors: 7
  • Average comments per issue: 1.45
  • Average comments per pull request: 0.55
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nkarasiak (5)
  • cmillion (3)
  • mollenburger (2)
  • pyup-bot (1)
Pull Request Authors
  • pyup-bot (8)
  • nkarasiak (6)
  • marclang (2)
  • santonetti (1)
  • kbarnhart (1)
  • HTDBD (1)
  • lennepkade (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 166 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 41
  • Total maintainers: 1
proxy.golang.org: github.com/nkarasiak/MuseoToolBox
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Dependent repos count: 5.7%
Average: 6.0%
Forks count: 6.0%
Stargazers count: 6.9%
Last synced: 4 months ago
proxy.golang.org: github.com/nkarasiak/museotoolbox
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Dependent repos count: 5.7%
Average: 6.0%
Forks count: 6.0%
Stargazers count: 6.9%
Last synced: 4 months ago
pypi.org: museotoolbox

Raster and vector tools for Remote Sensing and Classification, built upon gdal library

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 166 Last month
Rankings
Forks count: 9.6%
Dependent packages count: 10.1%
Stargazers count: 11.5%
Dependent repos count: 11.6%
Average: 13.2%
Downloads: 23.1%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: museotoolbox
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Forks count: 37.3%
Average: 41.4%
Stargazers count: 43.0%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

requirements-dev.txt pypi
  • autopep8 * development
  • ipykernel * development
  • joblib * development
  • m2r * development
  • matplotlib * development
  • nbsphinx * development
  • numpy >=1.10 development
  • numpydoc * development
  • psutil * development
  • pytest * development
  • pytest-cov * development
  • recommonmark * development
  • scikit-learn >=0.16 development
  • scipy >=1.0 development
  • sphinx * development
  • sphinx-copybutton * development
  • sphinx-gallery * development
  • sphinx-rtd-theme * development
requirements.txt pypi
  • joblib *
  • matplotlib *
  • numpy >=1.10
  • psutil *
  • scikit-learn >=0.16
  • scipy >=1.0
setup.py pypi
  • joblib *
  • matplotlib *
  • numpy >=1.10
  • psutil *
  • scikit-learn >=0.16
  • scipy >=1.0