I have a set of sentinel 2A images. I eliminated those that contained too many clouds, and then I created a cloud mask using cloud probabilities and Otsu thresholding method to eliminate cloudy pixels and replaced them with zeros (black pixels) as shown here:

Original image, cloud probabilities, and cloud mask

image after eliminating the cloudy pixels

I want to know if such an approach is valid and how can I use the before and after image (s) (time series) to interpolate pixels with zero values.


1 Answer 1


Update It is inappropriate to interpolate over a large area, such as a cloud area. Since you have time series data, the data in the mask area is calculated and replaced in the previous image.

And then ou can use RASTERIO on google colab to handle raster image. If you need to interpolate some areas, you can use the module below. https://rasterio.readthedocs.io/en/latest/api/rasterio.fill.html

I think the following will help. https://github.com/mapbox/rio-cloudmask

  • What do you mean by "If you have calculated the values for calibration" ? I already tried the "fillnodata" rasterio model, but I it return the exact input data (no interpolation was performed).
    – Rim Sleimi
    Jul 6, 2020 at 17:36
  • @Rim Sleimi My answer is wrong. I'm sorry. I think it should be the value, not the interpolation. Updated the answer. If you have a time series image, use rasterio to calculate (or simply use) the value of the mask area and replace it.
    – Urban87
    Jul 7, 2020 at 0:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.