[IGSTK-Developers] tracker classes state machines

Ziv Yaniv zivy at isis.imac.georgetown.edu
Tue Sep 11 13:58:57 EDT 2007


Hi Andinet and Luis,

I have just spent an hour and a half trying to debug the pivot 
calibration code, only to realize that the problem stems from the misuse 
of state machines in the tracker classes. All of the classes have 
incomplete transition tables.

The problem arose when I tried to check if a tracker is in tracking 
state. The pivot calibration class receives a tracker which is expected 
to be in tracking state. To validate this the tracker's 
ReqeuestUpdateStatus() method is called with the assumption that a 
TrackerUpdateStatusErrorEvent would be generated if it wasn't in 
tracking state. In practice nothing happens because the state machine 
table is not fully populated, so when you invoke the 
RequestUpdateStatus() method no event is generated if you aren't in 
tracking state.

As you guys are refactoring the trackers, please fully populate the 
transition tables.

I will hold off on submitting the pivot calibration class, as its 
testing code will consistently fail (as expected).

                 many thanks
                      Ziv

-- 
Ziv Yaniv, PhD., Research Assistant Professor
Imaging Science and Information Systems (ISIS) Center
Department of Radiology
Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603
Washington, DC, 20007,

Phone: +1-202-687-7286
Fax: +1-202-784-3479
email: zivy at isis.imac.georgetown.edu
web: http://isiswiki.georgetown.edu/zivy/




More information about the IGSTK-Developers mailing list