[IGSTK-Developers] Registration error computation

David Gobbi dgobbi at atamai.com
Wed Dec 7 12:20:48 EST 2005


Hi Stephen,

Supporting deformable transforms is something that I've been thinking 
about, too.  The main igstkTransform has to remain a rigid transform for 
the sake of simplicity and safety, but there's no reason why we couldn't 
have a separate igstkRegistrationTransform heirarchy with several 
different transform types.

About the TRE, we can't store the TRE value itself with a rigid 
transform because it varies too much as a function of position.  For 
landmark registration (taken directly from a figure in West's 
Neurosurgery paper) it can vary from 1mm in the sweet spot to 20mm on 
the opposite side of the head.  Saying the min error is 1mm and the max 
is 20mm isn't meaningful:  what we need, for rigid transforms and maybe 
for deformable transforms as well, is a way to compute the TRE 
associated with a particular target coordinate.

For a deformation mesh, would it be reasonable to have an error value 
associated with each of the nodes, so that the error can be calculated 
as a function of position?

 - David

Stephen R. Aylward wrote:

> What amount having more than one error quantity.   Perhaps 
> ExpectedErrorValue and MaxErrorvalue member variables in the 
> igstkTransform?
>
> I suggest this because, as I recall and please correct me if I am 
> wrong, the work by West (TRE) assumes a rigid (or affine?) 
> transform.   We need to plan for future deformable registration 
> methods.   All can be reduced to a TRE value, but the distribution of 
> that value changes as a function of the transform.  So, reporting 
> expected and maximum values gives the critical numbers needed for 
> patient safety.
>
> Stephen
>
> Andinet Enquobahrie wrote:
>
>> Hi Folks,
>>
>> I would like to get your opinion on how to integrate a registration 
>> error computation scheme into igstk.   The goal is to determine the 
>> accuracy of a target registration using transform parameters computed 
>> by "igstkLandmarkRegistration". From West et al. paper,  target 
>> registration error  (TRE) is a function of  landmark registration 
>> error and the location of the target with respect to the landmarks 
>> (distance from the target to the three principal axis of the landmark 
>> configuration).   Integration of this computation into igstk is a bit 
>> tricky since it is  "target" and "target location" specific.
>>
>> To implement this computation in igstk, I see the need for the following
>>
>> 1) A member variable  to store landmark configuration information in 
>> "igstkTransform"  (This could probably be just a three by three 
>> matrix to encode the principal axis of the landmarks configuration)
>> 2) Set/Get methods in "igstkTransform" for  this new member variable.
>> 3) ComputeTargetRegistrationError()  method to compute the error. 
>> This method will use the location of the target and landmark 
>> configuration information to compute the registration error. The 
>> computed registration error could be stored in the "ErrorValue" 
>> igstkTransform member variable. However, I am not sure which class 
>> this method would perfectly fit in . Either in Tracker class where 
>> target transformation is reported to the spatial object or  in 
>> spatialobject class itself or in a new helper class...
>>
>> Any thoughts?
>>
>> Thank you
>>
>> -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