[IGSTK-Developers] Continuting the discussion on error handling methods....
David Gobbi
dgobbi at atamai.com
Fri Sep 16 14:30:23 EDT 2005
Hi Andinet,
For landmarks: For image-guided surgery, the user will usually set the
positions of all the landmarks before doing any tracker measurements.
In fact, to save time, I always set the landmarks before I even wheeled
the computer into the OR, so that the only thing the surgeon had to do
was measure the landmark positions with the Polaris. I think the
error-checking should be done when the transformation is calculated, not
when the landmarks are set. This also helps to centralize the error
checking, since you also need to check the RMS residual of the point
fit, as well as minumum number of points when the transform is calculated.
Also: when in the operating room, it often occurs that one of the
doughnut fiducials either falls off or ends up in a position
inaccessible to the tracker. This can easily happen after the fiducial
has been located, but before the tracker has been used to measure its
position. There has to be a way to either delete such fiducials from
the list, or better, to mark them as "ignored" since deleting them from
the list will disrupt the numbering of the fiducials.
Rule #1 of the operating room: you need to be prepared for anything that
might go wrong!
About error checking:
To ease the burden of error checking, I think that we need macros or
some other shortcut to convert state-machine inputs to IGSTK Events and
vice-versa.
For example, we need a concise way to state, in code, the following:
1) when we receive input A while in state B, event C will be generated
and we will end up in state D
2) when object A produces event B, send input C to our state machine
If we had macros for the above, I think that event-based error-handling
code would be easier to write.
- David
Andinet Enquobahrie wrote:
> Dear all
>
> I am putting the final touches on the LandMarkRegistration and
> ImageReader classes implementation for iteration 6. The main loose end
> I need to tighten up is error handling. Although we have brainstormed
> several options for error handling , we haven't yet reached a consensus.
> If you would like to refresh your mind on this topic, please refer to
> the wiki page that David put together.
>
> http://public.kitware.com/IGSTKWIKI/index.php/Error_Handling#Kinds_of_Errors
>
>
> For my specific needs, I am planning to implement event observers for
> recoverable error conditions in landmark registration and image reading.
>
> The recoverable error conditions that I am anticipating are the
> following.
>
> For LandMarkRegistration class
>
> 1) A request for transform computation before "enough" number of
> landmarks are established.
>
> 2) Incorrect order of landmark establishment. I am enforcing a
> specific order of landmark establishment i.e image followed by
> tracker coordinate for landmarks 1,2,3 (We are using 3D Rigid body
> transform) For example, an error condition arises if the application
> sets image coordinates of two landmarks successively without setting
> the tracker coordinate of the first landmark.
>
> For ImageReader classes
>
> 1) An image read request before specifying the image file name.
> 2) Error during image reading operation (may be corrupted image data,
> invalid image format etc..)
>
> This is not an exhaustive list by any means. But I believe these are
> the major ones.
>
> I would like to get your comments/thoughts/suggestions on
>
> - additional major error conditions and
> - my pick of an error handing method
>
> thanks
>
> -Andinet
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>
More information about the IGSTK-Developers
mailing list