📄 bandb_eval.m
字号:
function [lb,v,obj,lbr,vr,objr,den]=bandb_eval(y,opts);lb=0;lbr=zeros(opts.n,1);v=0; vr=zeros(opts.n,1);obj=0;objr=zeros(opts.n,1);den = zeros(opts.n,1);if strcmp(opts.type,'l1l1_triangle'); pxyz = y(1:3); pxyz(4)=1; % fprintf('check : '); for i = 1:opts.n; srow = (i-1)*5+3; t1=y(srow+1); t2=y(srow+2); r =y(srow+3); a =y(srow+4); b =y(srow+5); % fprintf('[%f %f %f]',r,a,b); u=squeeze(opts.Q(i,:,:))*pxyz; lbr(i) = r; vr(i) = (t1+t2)/u(3); objr(i) = abs(u(1))/u(3)+abs(u(2))/u(3); den(i) = u(3); if (den(i) <= 0); fprintf('DEPTH :%d %f\n', i,den(i)); end end % fprintf('\n'); %keyboard;elseif strcmp(opts.type,'l1l1_resection'); P= reshape(y(1:opts.dim1*opts.dim2),[opts.dim2,opts.dim1])'; t1k = y(opts.dim1*opts.dim2+1:opts.dim1*opts.dim2+opts.dim1-1); X = [opts.StructureArray(1,:) 1]; up=P*X'; u = opts.PointsArray(1,:);% fprintf('first point : ');fprintf('%f ',up);fprintf('\n'); % [opts.P0 P] objr(1) = sum(abs(u' - up(1:end-1) )); vr(1) = sum(t1k); lbr(1)= sum(t1k); den(1) = up(end); for i = 2:opts.n; srow = opts.dim1*opts.dim2+opts.dim1-1 + (2+opts.dim1)*(i-2); % keyboard; tjk = y(srow+1:srow+opts.dim1-1); r = y(srow+opts.dim1); a = y(srow+opts.dim1+1); b = y(srow+opts.dim1+2); X = [opts.StructureArray(i,:) 1]; up=P*X'; u = opts.PointsArray(i,:); objr(i)=sum(abs(u' - up(1:end-1)/up(end))); vr(i) = sum(tjk)/up(end); lbr(i) = r; den(i) = up(end); endendlb = sum(lbr);v = sum(vr);obj = sum(objr);%keyboard;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -