Skip to main content

Python package for RQA trend calculation for deforestation analysis

Project description

RQADeforestation.py

Python bindings for the Julia package RQADeforestation.jl. It provides functions for fast recurrence quantification analysis (RQA), accelerated using Julia. This library is part of the FAIRSenDD project that utilize Sentinel-1 data for FAIR deforestation detection.

Get Started

Install:

pip install rqadeforestation

Run RQA analysis on a single time series:

from rqadeforestation import rqatrend
import numpy as np

x = np.arange(1, 30, step=0.01)
y = np.sin(x) + 0.1 * x
rqatrend(y, 0.5, 10, 1)
# -0.14028027430322332

Use in openEO:

# Import required packages
import openeo
from openeo.processes import process

# Connect to the back-end
connection = openeo.connect("https://openeo.eodc.eu/openeo/1.2.0/")
connection.authenticate_oidc()

bbox =  {"west": 11.655947222212369, "east": 11.715643117926051, "south": 50.87929082462556, "north": 50.92129080534822}
datacube1 = connection.load_collection(collection_id = "SENTINEL1_SIG0_20M", spatial_extent = bbox,
  temporal_extent = ["2020-01-01T00:00:00Z", "2020-02-01T00:00:00Z"], bands = None, properties = {}
)

def reducer1(data, context):
    rqadeforestation1 = process("rqadeforestation", data = data, threshold = 0.4)
    return rqadeforestation1

reduce3 = datacube1.reduce_dimension(reducer = reducer1, dimension = "t")
save4 = reduce3.save_result(format = "NETCDF")

# The process can be executed synchronously (see below), as batch job or as web service now
result = connection.execute(save4)

Motivation

Analyzing high resolution sattelite images at global scale requires to optimize the execution efficiency. Python is required for most openEO workflows in which performance critical parts of the code are written in a compiled programming language. Usually, this is done in C, e.g., array operations in numpy. Julia provides an alternative to accellerate code using a more user-friendly language.

Development

Development workflow:

  1. Write Julia code at https://github.com/EarthyScience/RQADeforestation.jl
  2. Compile using StaticCompiler
  3. Put the binary libraries at rqadeforestation/lib
  4. Add python binding functions to this package
  5. Install this package in openEO and use it in an User-Defined-Function

Citation

F. Cremer, M. Urbazaev, J. Cortés, J. Truckenbrodt, C. Schmullius and C. Thiel, "Potential of Recurrence Metrics from Sentinel-1 Time Series for Deforestation Mapping," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 13, pp. 5233-5240, 2020, doi: 10.1109/JSTARS.2020.3019333.

Funding

This project was funded by the European Space Agency in the Science Result Long-Term Availability & Reusability Demonstrator Initiative. In addition, this project was supported by the ESA Network of Resources.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rqadeforestation-0.0.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rqadeforestation-0.0.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file rqadeforestation-0.0.0.tar.gz.

File metadata

  • Download URL: rqadeforestation-0.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rqadeforestation-0.0.0.tar.gz
Algorithm Hash digest
SHA256 18dc9dc04cc3185d7841ad21d8812a90f47fe7a2e8605fed13363d74668b555b
MD5 272dc390f6fb2cf3695434f389339d9b
BLAKE2b-256 7bf4f9bdc74aa4c48bce35adeb22744236de176b7e4e5b3c1c548e0cb5cef2e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rqadeforestation-0.0.0.tar.gz:

Publisher: python-publish.yml on EarthyScience/RQADeforestation.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rqadeforestation-0.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rqadeforestation-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccf603445ba8fc3633d712c782a86366fe84a738a34c5d423f3bdae522d93b98
MD5 fecb095ecf2adffb4a0cd9029bc759c3
BLAKE2b-256 03106ceeec70bcca076085db4a00e2cb575bb381dc01c3df8061c8c32423d077

See more details on using hashes here.

Provenance

The following attestation bundles were made for rqadeforestation-0.0.0-py3-none-any.whl:

Publisher: python-publish.yml on EarthyScience/RQADeforestation.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page