No BSD License  

Highlights from
PDTDFB toolbox

from PDTDFB toolbox by Truong Nguyen
PDTDFB toolbox for computing the shiftable complex directional pyramid decomposition

ddown(x, step, phase)
function y = ddown(x, step, phase)
% DUP   Diagonal Downsampling
%
%	y = ddown(x, step, [phase])
%
% Input:
%	x:	input image
%	step:	upsampling factors for each dimension which should be a
%		2-vector
%	phase:	[optional] to specify the phase of the input image which
%		should be less than step, (default is [0, 0])
%		If phase == 'minimum', a minimum size of upsampled image
%		is returned
%
% Output:
%	y:	diagonal upsampled image
%
% See also:	DUP
% Note : complement the DUP function in contourlet toolbox

if ~exist('phase', 'var')
    phase = [0, 0];
end

sx = size(x);

y = zeros(sx./step);

y = x(1+phase(1):step(1):end, 1+phase(2):step(2):end);

% if lower(phase(1)) == 'm'
%     y = zeros((sx - 1) .* step + 1);    
%     y(1:step(1):end, 1:step(2):end) = x;
%     
% else
%     y = zeros(sx .* step);
%     y(1+phase(1):step(1):end, 1+phase(2):step(2):end) = x;
% end

Contact us at files@mathworks.com