function varargout = xp_pass_values (xp)
sz = size(xp);
% Index into each dimension, linearized.
[dim_indices{1:length(sz)}] = ind2sub(sz, (1:prod(sz))');
dim_indices = mat2cell(cell2mat(dim_indices), ones(prod(sz), 1), ones(length(sz), 1));
xp.meta.datainfo = MDDAxis;
[varargout{1:nargout}] = deal(xp);
for process = 1:size(dim_indices, 1)
[processout{1:nargout}] = xp.data{dim_indices{process, :}}();
for arg = 1:nargout
varargout{arg}.data{dim_indices{process, :}} = processout{arg};
end
end
end