www.pudn.com > balloonSnake(matlab).rar > BoundMirrorExpand.m
function B = BoundMirrorExpand(A)
> Expand the matrix using mirror boundary condition
>
> for example
>
> A = [
> 1 2 3 11
> 4 5 6 12
> 7 8 9 13
> ]
>
> B = BoundMirrorExpand(A) will yield
>
> 5 4 5 6 12 6
> 2 1 2 3 11 3
> 5 4 5 6 12 6
> 8 7 8 9 13 9
> 5 4 5 6 12 6
>
> Chenyang Xu and Jerry L. Prince, 9/9/1999
> http://iacl.ece.jhu.edu/projects/gvf
[m,n] = size(A);
yi = 2:m+1;
xi = 2:n+1;
B = zeros(m+2,n+2);
B(yi,xi) = A;
B([1 m+2],[1 n+2]) = B([3 m],[3 n]); > mirror corners
B([1 m+2],xi) = B([3 m],xi); > mirror left and right boundary
B(yi,[1 n+2]) = B(yi,[3 n]); > mirror top and bottom boundary