openEO

Efficient Fusion Algorithm across SpatioTemporal scales (EFAST)

The Efficient Fusion Algorithm Across Spatio-Temporal Scales (EFAST) [1] is a method to create time-series with a fine resolution in space and time from a fine spatial but coarse temporal resolution source (Sentinel-2) and a coarse temporal but fine spatial resolution source (Sentinel-3). In comparison to other methods, EFAST aims to achieve results outperforming single-source interpolation without paying the computational cost of other methods leveraging spatial context. EFAST is focused on accurately capturing seasonal vegetation changes in homogeneous areas like range lands. DHI-GRAS has published a Python implementation of the algorithm. In the context of the ESA funded APEx initiative, the algorithm has been ported to OpenEO and is implemented in this process graph.

EFAST interpolates Sentinel-2 acquisitions, using a time (temporal distance to target time) and distance-to-cloud weighted compositing scheme. The Sentinel-3 time-series is incorporated to locally update the interpolated Sentinel-2 imagery to accurately track vegetation changes between cloud-free Sentinel-2 acquisitions. The method is described in detail in [1].

EFAST produces high temporal frequency time-series matching the Sentinel-2 L2A bands which have corresponding Sentinel-3 OLCI bands with matching centre frequencies. Because the application of EFAST is focused on NDVI time-series, the UDP includes a parameter (output_ndvi) to directly compute the NDVI for a given temporal and spatial extent.

It should be noted that OpenEO provides bands from the SENTINEL_L2A collection in integer format. EFAST converts the data to floating point values for interpolation. Therefore, output bands of EFAST have a different data type (floating point) than the corresponding SENTINEL_L2A bands.

[1]: Senty, Paul, Radoslaw Guzinski, Kenneth Grogan, et al. “Fast Fusion of Sentinel-2 and Sentinel-3 Time Series over Rangelands.” Remote Sensing 16, no. 11 (2024): 1833.

Execution information

ParameterTypeDefault

temporal_extent (required)

The date range of the Sentinel-2 L2A and Sentinel-3 SY_2_SYN inputs. The fused (output) time series can optionally be defined by the temporal_extent_target parameter. If temporal_extent_target is not set, the output time series will cover temporal_extent by default

array/temporal-interval

temporal_extent_target

The date range of the fused outputs. Must be completely contained in temporal_extent. This parameter is optional, if no temporal_extent_target is not set, the output will cover the temporal extent of the inputs (defined by the parameter temporal_extent). As per openeo convention, the start date of the temporal extent is included and the end date excluded if if no time of day is set.

array/temporal-interval

interval_days (required)

Interval (in days) of the time series of the output. If, for example, temporal_extent_target is set to [2022-01-01, 2022-01-10] and interval_days is set to 3, the time series of the output will consist of images for [2022-01-01, 2022-01-04, 2022-01-07]. 2022-01-10 is excluded, as the temporal extent is defined including the start date and excluding the end date.

integer

spatial_extent (required)

Region of interest

object/geojson

s2_data_bands

Sentinel-2 L2A bands (names follow the SENTINEL2_L2A collection) used in the fusion procedure. The order should match the corresponding s3_data_bands and fused_band_names parameters.If the NDVI should be computed (parameter output_ndvi is set to True), s2_data_bands must be set to [B04, B8A].

array
["B02","B03","B04","B8A"]

s3_data_bands

Sentinel-3 SYN L2 SYN bands (names follow the SENTINEL3_SYN_L2_SYN collection) used in the fusion procedure. The order of s3_data_bands must match the order of s2_data_bands, so that bands with closely matching center wavelengths are fused. If the NDVI should be computed (parameter output_ndvi is set to True), s3_data_bands must be set to [Syn_Oa08_reflectance, Syn_Oa17_reflectance].

array
["Syn_Oa04_reflectance","Syn_Oa06_reflectance","Syn_Oa08_reflectance","Syn_Oa17_reflectance"]

output_ndvi

If set to True, the output includes a single NDVI band. Otherwise, the output includes the bands of the Sentinel-2 input (defined by parameter s2_data_bands). If set to True, the bands B04 and B8A must be included in s2_data_bands, and the bands Syn_Oa08_reflectance and Syn_Oa17_reflectance must be included in s3_data_bands.

boolean

Contact

  • Brockmann Consult GmbH

    Hannes Neuschmidt

    Software Engineer

    implementor

    Contact via Brockmann Consult GmbH