How do I interpolate and smoothen ndvi time series?

3 visualizaciones (últimos 30 días)
Devendra
Devendra el 19 de Abr. de 2024
Comentada: Aksh el 13 de Jun. de 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 comentarios
John D'Errico
John D'Errico el 19 de Abr. de 2024
Editada: John D'Errico el 19 de Abr. de 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 el 19 de Abr. de 2024
Editada: Devendra el 19 de Abr. de 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

Iniciar sesión para comentar.

Respuesta aceptada

Mathieu NOE
Mathieu NOE el 22 de Abr. de 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 comentarios
Mathieu NOE
Mathieu NOE el 6 de Mayo de 2024
ok let's do that !
gauri
gauri el 13 de Mayo de 2024
I am pasting the link for data. Please get the data from this link.

Iniciar sesión para comentar.

Más respuestas (1)

gauri
gauri el 7 de Mayo de 2024
I am pasting the link for data. Please get the data from this link.
  35 comentarios
Mathieu NOE
Mathieu NOE el 22 de Mayo de 2024
good news !
Aksh
Aksh el 13 de Jun. de 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.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by