# Inpaint over missing data in 1-D, 2-D, 3-D,... ND arrays

Version 1.4.2.1 (4.39 KB) by
Y = INPAINTN(X) computes the missing data in the N-D array X.
Updated 20 Jun 2020

Y = INPAINTN(X) replaces the missing data in X by extra/interpolating the non-missing elements. The non finite values (NaN or Inf) in X are considered as missing data. X can be any N-D array.
Type "help inpaintn" in the Matlab command windows for several examples.
INPAINTN (no input/output argument) runs a 3-D example.

Important note:
----------------
INPAINTN uses an iterative process that converges toward the solution. Y = INPAINTN(X,N) uses N iterations. By default, N = 100. If you estimate that INPAINTN did not totally converge, then increase N: Y = INPAINTN(X,1000);

-----
When using this algorithm, please refer to these 2 papers:

1) Garcia D. Robust smoothing of gridded data in one and higher dimensions with missing values.
Comput Statist Data Anal, 2010;54:1167-1178
http://www.biomecardio.com/publis/csda10.pdf

2) Wang G, Garcia D et al. A three- dimensional gap filling method for large geophysical datasets: Application to global satellite soil moisture observations.
Environ Modell Softw, 2012;30:139-142.
http://www.biomecardio.com/publis/envirmodellsoftw12.pdf.pdf
-----

A series of examples is available here:
http://www.biomecardio.com/matlab/inpaintn_doc.html

Example:
--------
%% ---- 2-D data ---- %%
n = 256;
y0 = peaks(n);
y = y0;
I = randperm(n^2);
y(I(1:n^2*0.5)) = NaN; % lose 1/2 of data
y(40:90,140:190) = NaN; % create a hole
z = inpaintn(y,200); % inpaint data
subplot(2,2,1:2), imagesc(y), axis equal off
title('Corrupt data')
subplot(223), imagesc(z), axis equal off
title('Recovered data ...')
subplot(224), imagesc(y0), axis equal off
title('... compared with original data')

------
http://www.biomecardio.com
-----

### Cite As

Damien Garcia (2024). Inpaint over missing data in 1-D, 2-D, 3-D,... ND arrays (https://www.mathworks.com/matlabcentral/fileexchange/27994-inpaint-over-missing-data-in-1-d-2-d-3-d-nd-arrays), MATLAB Central File Exchange. Retrieved .

Wang, Guojie, et al. “A Three-Dimensional Gap Filling Method for Large Geophysical Datasets: Application to Global Satellite Soil Moisture Observations.” Environmental Modelling & Software, vol. 30, Elsevier BV, Apr. 2012, pp. 139–42, doi:10.1016/j.envsoft.2011.10.015.

View more styles

Garcia, Damien. “Robust Smoothing of Gridded Data in One and Higher Dimensions with Missing Values.” Computational Statistics & Data Analysis, vol. 54, no. 4, Elsevier BV, Apr. 2010, pp. 1167–78, doi:10.1016/j.csda.2009.09.020.

View more styles
##### MATLAB Release Compatibility
Created with R2010a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Preprocessing Data in Help Center and MATLAB Answers

### Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.4.2.1

n/a

1.4.2.0

1.4.0.0

Update of the help text

1.3.0.0

The functions DCTN and IDCTN are now included in INPAITN

1.2.0.0

1) there was a mistake in the 4-D example
2) an initial guess can be now given as an input

1.1.0.0

Image toolbox is no longer required.

1.0.0.0