Ho campioni non posizionati in modo uniforme di un'immagine e desidero interpolare su una griglia regolare perché (tra le altre cose) la maggior parte delle funzioni di grafica di immagini prevede una griglia regolare. Ho notato che ci sono alcune funzioni MatLab (vedi Image interpolation from random pixels per esempio) che apparentemente lo faranno, ma non sono riuscito a trovare un pacchetto R che lo faccia.
Ecco un semplice esempio.Come interpolare da posizioni 2D non uniformi alla griglia regolare?
#make up some 2D func
y<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
x<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
inmat<-sin(x) + cos(y)
Quindi i valori di inmat
sono in posizioni casuali. Voglio una sorta di funzione outmat<-interpolate(inmat,x,y,gridx,gridy)
dove inmat
, x
e sono tutte o matrici o tutti i vettori (matrici non imballate).
Vedo anche che SciPy ha http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html che fa questo. Esiste una tale funzione in un pacchetto R
o devo effettuare il porting dal codice SciPy
o MatLab
?
Vedere anche http://stackoverflow.com/questions/18769146/interpolating-an-irregular-grid – Andrie
possibile duplicato di [Plottaggio di dati interpolati sulla mappa] (http://stackoverflow.com/questions/10047870/plotting- interpolated-data-on-map) – Spacedman
@Andrie grazie-- Sto osservando la funzione 'akima :: interp' e riferirò. –