Hi Taylor,
thank you very much for reporting this problem. The tooltip feature is
relatively new and untested so far. I added a bug (15715,
http://bugs.mitk.org/show_bug.cgi?id=15715) to our bug tracker. We will
test and integrate your suggestion as soon as possible, you can trace
the bug to see the progress and also make comments if you have further
ideas.
Greets,
Alfred
Am 12.07.2013 22:19, schrieb Taylor Braun-Jones:
Hello mitk-users,
I am trying to understand the computation of the tool tip position and
orientation that is done in mitk::InternalTrackingTool::GetPosition()
and mitk::InternalTrackingTool::SetPosition(). Currently these methods
have:
void mitk::InternalTrackingTool::GetPosition(mitk::Point3D& position)
const
{
// ...
vnl_vector<float> pos_vnl =
(m_ToolTipRotation.rotate(m_Position.Get_vnl_vector()))+
m_ToolTip.Get_vnl_vector();
// ...
}
void mitk::InternalTrackingTool::GetOrientation(mitk::Quaternion&
orientation) const
{
// ...
orientation = m_ToolTipRotation * m_Orientation;
// ...
}
But on paper I show that it should be:
void mitk::MyTrackingTool::GetPosition(mitk::Point3D& position) const
{
// ...
// Compute the position of tool tip in the coordinate frame of the
// tracking device: Rotate the position of the tip into the tracking
// device coordinate frame then add to the position of the tracking
// sensor
vnl_vector<float> pos_vnl = m_Position.Get_vnl_vector() +
m_Orientation.rotate( m_ToolTip.Get_vnl_vector() ) ;
// ..
}
void mitk::MyTrackingTool::GetOrientation(mitk::Quaternion&
orientation) const
{
// ...
// Compute the orientation of the tool tip in the coordinate frame of
// the tracking device.
//
// * m_Orientation is the orientation of the tracking sensor in
the tracking device coordinate frame
// * m_ToolTipRotation is the orientation of the tool tip
relative to the tracking sensor
orientation = m_Orientation * m_ToolTipRotation;
// ...
}
Empirically testing with our tracking device shows that this is
correct. Of course this assumes that the tip position and tip
orientation are relative to the coordinate frame of the tracking
device sensor. Is this an incorrect assumption for the
mitk::InternalTrackingTool class?
Thanks,
Taylor
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users