0001 function [K] = make_sift_kernel_from_var(var,mode,kernel_func) 0002 0003 if nargin < 2 0004 mode = 1; 0005 end; 0006 if nargin < 3 0007 kernel_func = @hist_intersection; 0008 end; 0009 0010 for ii=1:length(var) 0011 L = 2; 0012 Ktmp = make_pyramid_kernel(var(ii).mincenter,var(ii).Finfo,var(ii).npoints,L,kernel_func,mode); 0013 if ii==1 0014 K = Ktmp; 0015 kern_ind = 1:size(Ktmp,3); 0016 else 0017 K(:,:,end+1:end+size(Ktmp,3)) = Ktmp; 0018 kern_ind = [(kern_ind(end)+1):(kern_ind(end)+size(Ktmp,3))]; 0019 end; 0020 end; 0021 0022 for ii=1:size(K,3) 0023 K(:,:,ii) = K(:,:,ii)/trace(K(:,:,ii)); 0024 end;