Home > chronux_1_15 > spikesort > utility > datatools > padmatrix.m

padmatrix

PURPOSE ^

PADMATRIX Pad a matrix.

SYNOPSIS ^

function padded = padmatrix(input, wherepad, padval)

DESCRIPTION ^

PADMATRIX         Pad a matrix.
   PADDED = PADMATRIX(INPUT, WHEREPAD) adds zero rows/columns to the
   matrix INPUT.  WHEREPAD is a four element vector specifying the number
   of pad rows/cols beyond [left col, right col, top row, bottom row].

   PADDED = PADMATRIX(INPUT, WHEREPAD, PADVAL) pads with PADVAL elements
   rather than zeros.

   Simplified version of Matlab's Image Processing Toolbox' PADARRAY.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function padded = padmatrix(input, wherepad, padval)
0002 %PADMATRIX         Pad a matrix.
0003 %   PADDED = PADMATRIX(INPUT, WHEREPAD) adds zero rows/columns to the
0004 %   matrix INPUT.  WHEREPAD is a four element vector specifying the number
0005 %   of pad rows/cols beyond [left col, right col, top row, bottom row].
0006 %
0007 %   PADDED = PADMATRIX(INPUT, WHEREPAD, PADVAL) pads with PADVAL elements
0008 %   rather than zeros.
0009 %
0010 %   Simplified version of Matlab's Image Processing Toolbox' PADARRAY.
0011 
0012 %%%%%%%%%% ARGUMENT CHECKING
0013 if (nargin < 3)
0014     padval = 0;
0015 end
0016 
0017 if (ndims(input) > 2)
0018     error('PADMATRIX currently does not handle arrays of dimension greater than 2.');
0019 elseif ((numel(wherepad) ~= 4) & (length(wherepad) ~= 4))
0020     error('Second argument must be a four-element vector.');
0021 elseif (numel(padval) > 1)
0022     error('Third argument, when specified, must be a scalar.');
0023 end
0024 
0025 [M,N] = size(input);
0026 newN = N + sum(wherepad(1:2));
0027 
0028 %%%%%%%%%% DO THE PAD
0029 % columns first
0030 padleft = repmat(padval, [M, wherepad(1)]);
0031 padright = repmat(padval, [M, wherepad(2)]);
0032 padded = [padleft input padright];
0033 
0034 % then rows
0035 padtop = repmat(padval, [wherepad(3), newN]);
0036 padbottom = repmat(padval, [wherepad(4), newN]);
0037 padded = [padtop; padded; padbottom];
0038

Generated on Tue 15-Aug-2006 22:51:57 by m2html © 2003