Open-EO / FuseTS

Time series Fusion toolbox integrated with openEO
https://open-eo.github.io/FuseTS/
Other
22 stars 3 forks source link

Create an utility to post-process images to remove speckles from resulting image #99

Open JanssenBrm opened 1 year ago

JanssenBrm commented 1 year ago

Phenology metrics outputs (e.g., SOS, POS, EOS) may not be for every single pixel identified. Usually, that is the case when no pronounced phenology curve is detected during a year, e.g., for ever-green vegetation, or when the pixel is dominated by a non-vegetated surface.  Hence, when the temporal profile does not fulfill the requirements of identifying a clear growth curve (increase and decrease over time), no SOS, PEOS, and EOS will be identified which will lead to empty output pixels. As a result, the output map will lead to a speckled appearance. While for non-vegetated surfaces no phenology metrics will be derived, failed detection can also occur for pixels within-fields when the phenology curve is not sufficiently pronounced.

Hence, a speckled appearance may appear that would benefit from post-processing. For those situations, a solution may be to apply a spatial interpolation. Spatial interpolation can be simply classical interpolators, i.e.: linear, nearest neighbour, natural, or cubic interpolation.  As such, it will lead to a spatially smooth, filled map, however, note that it is a cosmetic solution, and the filled numbers may not necessarily reflect reality.

eaamin commented 10 months ago

A simple way to perform the spatial interpolation in order to fill the gaps of missing vegetation phenology data, could be to apply nearest neighbour or linear interpolation techniques once the missing value pixels have been identified, using the rasterio or scipy Python libraries. I think these methods could be a good option if the missing data gaps are not too large. Otherwise, other more sophisticated methods should be explored.

JanssenBrm commented 8 months ago

@eaamin - Is there any update on this topic?

eaamin commented 8 months ago

The suggested library was tested using a case study, obtaining satisfactory results. In particular, three established interpolation methods (nearest, linear and cubic interpolation) were implemented to spatially gap-fill phenology metrics maps derived from Sentinel-2. The library used was SciPy (https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html). The results showed consistent output maps and a similar performance of all methods under similar scenarios, with varying proportions of missing data.