123456789101112131415 |
- % [RES] = shift(MTX, OFFSET)
- %
- % Circular shift 2D matrix samples by OFFSET (a [Y,X] 2-vector),
- % such that RES(POS) = MTX(POS-OFFSET).
- function res = shift(mtx, offset)
- dims = size(mtx);
- offset = mod(-offset,dims);
- res = [ mtx(offset(1)+1:dims(1), offset(2)+1:dims(2)), ...
- mtx(offset(1)+1:dims(1), 1:offset(2)); ...
- mtx(1:offset(1), offset(2)+1:dims(2)), ...
- mtx(1:offset(1), 1:offset(2)) ];
|