[IGSTK-Developers] Conclusion on igstkTransform issues - David&Patrick

Patrick Cheng cheng at isis.georgetown.edu
Thu Mar 2 15:37:17 EST 2006


Hi everybody,

This is the conclusion of the discussion between david and me. Welcome 
to comment on it.

=======================================================================

Problem 1. We need both static and dynamic transform. (Registration 
and calibration transforms should be static, and tracker transforms 
should be dynamic)

Solution: Make subclasses of igstk::Transform,
igstk::DynamicTransform and igstk::StaticTransform StaticTransform 
which do not have time stamp. In base class we provide pure virtual 
fuction:
bool IsStatic()/IsDynamic();

   Q? Do we some times have to switch the transform of a object from 
dynamic to static or the other way around?

=======================================================================

Problem 2. We currently don't have a simple transform compose method, 
and we are not taking care of time stamps in the current 
implementation of the transform multiplication.

e.g.
Ta is static transform, Tb is dynamic, and Tc is dynamic.
When we do T = Ta * Tb * Tc
to get the final valid time stamp for T, we should first ignore Ta, 
and pick up the earlier expiration time from Tb and Tc, and minus 
current time, to get the valid time period for the T, and set a right 
time stamp for it.

Solution: Add a simple function or operator such as:
transform = transform1.compose( transform2 )
equals to:
transform = transform1 * transform2

This will avoid the wrong matrix composition, and make code simpler 
and cleaner.
Also this compose() method will calculate the correct time stamp 
automatically according to predefine rules.

=======================================================================

David, I hope you still agree on these points.


-- 
Patrick Cheng
cheng at isis.georgetown.edu

IGSTK - Open Source Software Toolkit for Image Guided Surgery
http://www.igstk.org
http://public.kitware.com/IGSTKWIKI



More information about the IGSTK-Developers mailing list