Effacer les filtres
Effacer les filtres

How do I interpolate and smoothen ndvi time series?

16 vues (au cours des 30 derniers jours)
Devendra
Devendra le 19 Avr 2024
Commenté : Aksh le 13 Juin 2024
I have ununiformly distributed noisey ndvi time series. I want to interpolate and smoothen it using matlab. I am attaching the sample ndvi file and request you to please suggest me how to achieve it using matlab. I would appreciate your kind cooperation and help.
Jyoti
  2 commentaires
John D'Errico
John D'Errico le 19 Avr 2024
Modifié(e) : John D'Errico le 19 Avr 2024
Assuming you mean each row of that table is a distinct time series, sampled as a function of the first row,
The signal to noise ratio appears to be low, at least if you look at any individual series.
The data series are VERY short, which makes it difficult to extract any signal.
There is one data point far away from the rest in x.
At the same time, ALL of those series have a very similar character.
data = readtable('sample_ndvi.csv');
t = table2array(data(1,2:end));
z = table2array(data(2:end,2:end));
surf(z)
xlabel 'Time'
ylabel 'Series'
I've left the time axis as a simple index, since that would just make it all far more dificult to visualize.
The point is, there appears to be a lot of signal, once you look at all of the sereis at once. They all have the same shapes, apparently very noisy. So exactly what smoothing would you want to do?
Devendra
Devendra le 19 Avr 2024
Modifié(e) : Devendra le 19 Avr 2024
Thanks a lot for your suggestions. I want to interpolate the time series over cloudy pixels. Please suggest me how to do interpolation over cloudy pixels. There is a clear dip in the month of august due to cloud. so I want to fill it with neighoubring pixel values.
Jyoti

Connectez-vous pour commenter.

Réponse acceptée

Mathieu NOE
Mathieu NOE le 22 Avr 2024
hello
so I simply replace the 8th column with NaN and replaced them using fillmissing2
data = readtable('sample_ndvi.csv');
month = table2array(data(1,2:end));
z = table2array(data(2:end,2:end));
% surf(z)
% xlabel 'Time'
% ylabel 'Series'
% replace august (8th col of z) using fill missing
z(:,8) = NaN;
zz = fillmissing2(z,'cubic');
surf(zz)
xlabel 'Time'
ylabel 'Series'
  39 commentaires
Mathieu NOE
Mathieu NOE le 6 Mai 2024
ok let's do that !
gauri
gauri le 13 Mai 2024
I am pasting the link for data. Please get the data from this link.

Connectez-vous pour commenter.

Plus de réponses (1)

gauri
gauri le 7 Mai 2024
I am pasting the link for data. Please get the data from this link.
  35 commentaires
Mathieu NOE
Mathieu NOE le 22 Mai 2024
good news !
Aksh
Aksh le 13 Juin 2024
I have requested matlab community on my out of memory issue in my matlab code. I request you to please have a look on my question on the following link;
I would be highly obliged to you for your kind cooperation and help.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Earth, Ocean, and Atmospheric Sciences dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by