Source code for
vl_demo_kdtree_plot.m
This file is located in the toolbox/demo folder in VLFeat package.
function h = vl_demo_kdtree_plot(kdtree, nodeIndex, xlim, ylim)
% VL_DEMO_KDTREE_PLOT
% Copyright (C) 2007-12 Andrea Vedaldi and Brian Fulkerson.
% All rights reserved.
%
% This file is part of the VLFeat library and is made available under
% the terms of the BSD license (see the COPYING file).
dim = kdtree.nodes.splitDimension(nodeIndex) ;
thresh = kdtree.nodes.splitThreshold(nodeIndex) ;
lowerChild = kdtree.nodes.lowerChild(nodeIndex) ;
upperChild = kdtree.nodes.upperChild(nodeIndex) ;
if dim == 1
xs = [thresh, thresh] ;
ys = ylim ;
ylimLower = ylim ;
ylimUpper = ylim ;
xlimLower = [xlim(1) thresh] ;
xlimUpper = [thresh xlim(2)] ;
else
xs = xlim ;
ys = [thresh, thresh] ;
xlimLower = xlim ;
xlimUpper = xlim ;
ylimLower = [ylim(1) thresh] ;
ylimUpper = [thresh ylim(2)] ;
end
h = line(xs,ys) ;
if lowerChild > 1
h = [h vl_demo_kdtree_plot(kdtree, lowerChild, xlimLower, ylimLower)] ;
end
if upperChild > 1
h = [h vl_demo_kdtree_plot(kdtree, upperChild, xlimUpper, ylimUpper)] ;
end