image processing : computing the axis of a long bone
3 views (last 30 days)
Show older comments
Hey everyone .. i hope someone can point me to a solution, i am trying to find the angle between two long bones - known as the Q-angle ( have to process about 6000 x-ray images )
what i want to do is to draw a center line trough the first bone, and a center line through the second bone and then calculate the angle between those two lines. Please how can i approach the problem ?
any help will be appreciated, thanks
0 Comments
Accepted Answer
Matt J
on 8 Dec 2012
Edited: Matt J
on 8 Dec 2012
Roger Stafford recommends this formula for finding the angle between 2 vectors a and b
angle = atan2(norm(cross(a,b)),dot(a,b))*180/pi;
There are some long threads on it in the Newsgroup arguing that it behaves better numerically than other formulas.
2 Comments
Matt J
on 8 Dec 2012
Yes, that seems plausible to me. You could use EDGE to find the edge points in conjunction with find(...,'first/last') or max/min to get the edge points on opposing sides of the bone. You might, however, need to fit a line to more than 2 mid-line points to get a good fit to that line.
A similar direction might be to use bwmorph(...,'skel',inf) to get the skeleton of the bones.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!