Inpaint over missing data in 1-D, 2-D, 3-D,... ND arrays
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.
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.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: avinterpnan(A,method), interp1gap, repnan, PIVsuite, Parametrize Calcium Signals
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
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
|
||
1.1.0.0 | Image toolbox is no longer required. |
||
1.0.0.0 |