[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