I apologize, the sparse field simply converts points to initial ball tensors, the refined is the ball voting and calc_vote_stick is the actual stick voting.

Your code is help me a lot to understand TV.While I'm reading the book you referenced --Topics in Computer Vision,I'm confused by a question: it mentioned an equation 5.4,is about to say "the first order voting field for a unit stick voter aligned with the z-axis": SFO(d, θ) = DF(s,κ,σ)[−cos2θ)
−sin(2θ)]
,but how does ti reflected in your code?
Could you help me?

In read_dot_edge_file.m file the edge input is converted to tensor value using the following codes. My question is what is the theory behind this. CAN ANYBODY HELP???

h = max(buf(:,1));
w = max(buf(:,2));
T = zeros(h,w,2,2);
for i=1:n
x = cos(buf(i,3)*pi/180 + 90*pi/180);
y = sin(buf(i,3)*pi/180 + 90*pi/180);
T(h+1-buf(i,1),buf(i,2),1,1) = x^2;
T(h+1-buf(i,1),buf(i,2),1,2) = x*y;
T(h+1-buf(i,1),buf(i,2),2,1) = x*y;
T(h+1-buf(i,1),buf(i,2),2,2) = y^2;
end

where does the maths that underlies these commands come from?. I typed the following into Wolfram Alpha:
l1*{{cos(t)*cos(t),cos(t)*sin(t)},{cos(t)*sin(t),sin(t)*sin(t)}}+l2*{{sin(t)*sin(t),-cos(t)*sin(t)},{-cos(t)*sin(t),cos(t)*cos(t)}}

and I get different answers for the eigenvalues and eigenvectors.
Any help would be appreciated.
thanks
Chris Walker