buteo

Buteo - Geospatial Analysis Meets AI

https://github.com/casperfibaek/buteo

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

copernicus earth-observation raster sentinel

Keywords from Contributors

interactive mesh interpretability profiles sequences generic projection standardization optim embedded
Last synced: 6 months ago · JSON representation ·

Repository

Buteo - Geospatial Analysis Meets AI

Basic Info
  • Host: GitHub
  • Owner: casperfibaek
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 449 MB
Statistics
  • Stars: 27
  • Watchers: 1
  • Forks: 7
  • Open Issues: 0
  • Releases: 1
Topics
copernicus earth-observation raster sentinel
Created about 7 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation Zenodo

readme.md

Buteo - Geospatial Analysis Meets AI

Buteo is a toolbox designed to simplify the process of working with geospatial data in machine learning. It includes tools for reading, writing, and processing geospatial data, as well as tools for creating labels from vector data and generating patches from geospatial data. Buteo makes it easy to ingest data, create training data, and perform inference on geospatial data.

Please note that Buteo is under active development, and its API may not be entirely stable. Feel free to report any bugs or suggest improvements.

When using, please pin the version of Buteo you are using to avoid breaking changes.

For documentation, visit: https://casperfibaek.github.io/buteo/

DOI

Fibaek, Casper. (2024). Buteo: Geospatial Data Analysis Framework for AI/EO. Zenodo. https://doi.org/10.5281/zenodo.7936577

Dependencies
numba (https://numba.pydata.org/)
gdal (https://gdal.org/)

Installation
Using pip: pip install gdal pip install buteo Using conda: conda install gdal pip install buteo

Quickstart

Reproject (and other functions) to references. (Vector and raster)

```python import buteo as beo

OUTDIR = "path/to/output/dir"

vectorfilecorrectprojection = "path/to/vector/file.gpkg" rasterfileswrongprojection = "path/to/raster/files/*.tif:glob"

pathstoreprojectedrasters = beo.reprojectraster( rasterfileswithwrongprojection, vectorfilewithcorrectprojection, out_path=outdir )

pathstoreprojected_rasters

[path/to/output/dir/file1.tif, path/to/output/dir/file2.tif, ...] ```

Align, stack, and make patches from rasters

```python import buteo as beo

SRCDIR = "path/to/src/dir/"

pathstoalignedrastersinmemory = beo.alignrasters( SRCDIR + "*.tif:glob", )

stackednumpyarrays = beo.rastertoarray( pathstoalignedrastersin_memory, )

patches = beo.arraytopatches( stackednumpyarrays, 256, offsetsy=1, # 1 overlap at 1/2 patch size (128) offsetsx=1, # 1 overlap at 1/2 patch size (128) )

patches_nr, height, width, channels

patches

np.ndarray([10000, 256, 256, 9]) ```

Predict a raster using a model

```python import buteo as beo

RASTERPATH = "path/to/raster/raster.tif" RASTEROUTPATH = "path/to/raster/rasterpred.tif"

array = beo.rastertoarray(RASTER_PATH)

callback = model.predict # from pytorch, keras, etc..

Predict the raster using overlaps, and borders.

Merge using different methods. (median, mad, mean, mode, ...)

predicted = predictarray( array, callback, tilesize=256, )

Write the predicted raster to disk

beo.arraytoraster( predicted, reference=RASTERPATH, outpath=RASTEROUTPATH, )

Path to the predicted raster

"path/to/raster/raster_pred.tif" ```


| Example Colabs | | |---------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Create labels from OpenStreetMap data | Open All Collab | | Scheduled cleaning of geospatial data | Open All Collab | | Clip and remove noise from rasters | Open All Collab | | Sharpen nightlights data | Open All Collab | | Filters and morphological operations | Open All Collab |


The toolbox is being developed by ESA-Philab, NIRAS, and Aalborg University.

Dependencies

gdal numba

optional: orfeo-toolbox esa-snap

Design principles

Functions only return one type Use type hinting Keep the internal representation to a minimum Reduce the amount of dependencies

Owner

  • Name: cGeom
  • Login: casperfibaek
  • Kind: user

Citation (CITATION.CFF)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Fibaek
    given-names: Casper
    orcid: https://orcid.org/0000-0002-2475-3563
title: "Buteo: Tools for merging Geospatial Analysis and AI."
version: v0.9.64
doi: 10.5281/zenodo.7936577
date-released: 2024-11-21

GitHub Events

Total
  • Watch event: 2
  • Push event: 34
  • Pull request event: 1
Last Year
  • Watch event: 2
  • Push event: 34
  • Pull request event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 788
  • Total Committers: 8
  • Avg Commits per committer: 98.5
  • Development Distribution Score (DDS): 0.114
Past Year
  • Commits: 140
  • Committers: 2
  • Avg Commits per committer: 70.0
  • Development Distribution Score (DDS): 0.021
Top Committers
Name Email Commits
casperfibaek c****k@g****m 698
Casper Samsø Fibæk (CFI) C****I@N****K 49
casperfibaek c****k@g****m 25
Ezra Trotter e****r@g****m 5
ezratrotter 5****r 5
aliFrancis a****s@g****m 3
dependabot[bot] 4****] 2
NMAP Serviceaccount N****e@N****K 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 24 days
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.88
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 19 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (6)
  • PeterJackNaylor (2)
  • aliFrancis (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (6)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 573 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 157
  • Total maintainers: 1
pypi.org: buteo

Tools for merging Geospatial Analysis and AI.

  • Versions: 157
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 573 Last month
Rankings
Downloads: 5.7%
Dependent packages count: 6.6%
Average: 17.6%
Forks count: 19.6%
Stargazers count: 25.5%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

pyproject.toml pypi
  • numba >=0.57.1
  • psutil >=5.9.5
  • tqdm >=4.65.0
setup.py pypi
environment.yaml pypi