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.2.3.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.2.3-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rqadeforestation-0.2.3.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.2.3.tar.gz
Algorithm Hash digest
SHA256 ff2d2337269a4bf6a716463c930a2380d434b1142f073cec3cae36d74adb8df8
MD5 a8c216addaa07c1c99305752b43f0000
BLAKE2b-256 34c09834d536284cc9463322c473fb12f42e5ec147b1d3d1cae3a394c70141f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rqadeforestation-0.2.3.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.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for rqadeforestation-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a6eea90c62b5c2878ad6cc1cfe758b37f2a2b43175356a3bbdf1c854ba23779c
MD5 4cebfb6e0a8d9a83cc5ed8fcac66ffbd
BLAKE2b-256 b7a1729059aa3ad341dd9fb04c15cd031c146d7c37fc39d5c37b4d9400aba5f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rqadeforestation-0.2.3-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