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

Y = INPAINTN(X) computes the missing data in the N-D array X.
8.6K Downloads
Updated 20 Jun 2020

View License

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

updated links

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