📄 mfbox_transform.m
字号:
function V=mfbox_transform(M,dim,O)%% Copyright by Peter Gruber and Fabian J. Theis% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the % GNU GENERAL PUBLIC LICENSE, see gpl.txtV = zeros(dim);so = size(O)';g = mfbox_mkgrid(dim)';%[g1,g2,g3] = ndgrid([1:dim(1)],[1:dim(2)],[1:dim(3)]);%g = [g1(:),g2(:),g3(:)]';if (sum(sum((M(1:3,1:3)-eye(3)).^2))<sqrt(eps) && sum(M(1:3,4).^2)<sqrt(eps)) odim = size(O); mx = min(dim(1),odim(1)); my = min(dim(2),odim(2)); mz = min(dim(3),odim(3)); V(1:mx,1:my,1:mz) = O(1:mx,1:my,1:mz);endn = M(1:3,1:3)*g+repmat(M(1:3,4),1,size(g,2));vn = (min(n-1,[],1)>=0)&(min(repmat(so,1,size(g,2))-n,[],1)>=0);if (all(vn(:))) V = interpn(O,n(1,:),n(2,:),n(3,:));else n = n(:,vn); V(vn) = interpn(O,n(1,:),n(2,:),n(3,:),'nearest'); %TODO: linear should be betterendreturn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -