Pad array

Pad array or image.
Updated 26 May 2005

View License

This function is an extension of padarray.m. It allows to pad borders of an array (or an image) with variety of tapering functions to reduce artifacts from median filtering, convolution, hilbert transform calc., etc.. For instance, median filtering with medfilt2.m results in distorted edges since this function pad edges with zeros (thus, creating discontinuity jumps). Also, discontinuities can appear in hilbert transform or convolution, since they use circular padding of edges. Using padarray.m not always produce desired results. The current function array_padd.m allows pad edges with data tapering to zero with some windowing function (gaussian, hamming, etc..). This function also allows easily recover resulting array with the same size as the input array.
data_in = [1 1 1 1 1; 1 2 3 2 1; 1 2 3 2 1; 1 1 1 1 1]
[data_out, indd] = array_padd(data_in, [3, 5])
[data_out, indd] = array_padd(data_in, [3, 5], 5)
[data_out, indd] = array_padd(data_in, [3, 5], 0, 'both')
[data_out, indd] = array_padd(data_in, [3, 5], 0, 'both', 'replicate')
[data_out, indd] = array_padd(data_in, [3, 5], 0, 'both', 'symmetric')
[data_out, indd] = array_padd(data_in, [3, 5], 0, 'both', 'hamming')
imagesc(data_out); colorbar
original array size and position within padded array can be recovered as
data_out = data_out(indd(1):indd(2),indd(3):indd(4));

Cite As

Sergei Koptenko (2024). Pad array (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Matrices and Arrays 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