[Insight-users] PointSetToImageRegistrationMethod

Alon Mozes amozes77 at yahoo.com
Sun Dec 28 00:57:59 EST 2008


Hello,
 
I have been trying to register a pre-defined shape to a CT scan of a patient with that shape also in the scan.  My approach has been to create an .STL model of that shape, read it in as a series of points, and use that as the fixedPointSet and the CT as the movingImage in the PointSetToImageRegistrationMethod.  I am also using the VersorRigid3DTransform and VersorRigid3DTransformOptimizer as part of the registration (based on examples I'd seen).  The value passed in to the method is a fixed value for each point representing the intensity of the shape in the scan.  The params pointer contains the initial transform (a 3D offset) based on the user picking a point in 3D.  I display the shape point set overlaid on the contoured CT: before any transformation, with the initial transformation, and with the final transformation.  The initial transform puts the point set in approximately the right place, but the resulting transform does not line the point
 set up well with the contoured shape from the CT scan.  The registration often causes it to wander a bit, converging after 100 or so iterations.  I'm wondering:
 
1)  Is this the best approach for registering what I need?  Maybe intensity based comparisons are not ideal.  Perhaps I should try registering the point set to the contoured CT using some distance metric instead of intensity (like a more traditional surface match?)
 
2) The optimizer->GetValue result once the optimizer is finished is always about -0.5.  My understanding is that this is equivalent to an RMS error, but then this value makes no sense.  What does this value really mean?
 
3) The CT has negative intensity values.  Does this affect the registration? Are all positive intensities assumed?
 
Any help is greatly appreciated.
Thanks,
Alon
 
Here's my registration method:
 


More information about the Insight-users mailing list