[Insight-users] pointset to image registration in 3D

Tiago Brizolara da Rosa yarroo at yahoo.com
Wed Nov 2 23:02:36 EDT 2011


Hi, Dean and ITK users,

I'm facing your exact setup.
But I tried to make the registration via ICP (extracting the surface of the patient as a Mesh and using its points as a PointSet), as in the IterativeClosestPoint2 example. Unfortunately, I didn't succeed: it looks like the Levenberg-Marquadt optimizer reaches a local minimum - I get a bad registration. I attached an image.
It would be really nice if we had tips from another users' experience!
Another threads where things around this subject were discussed:
http://www.itk.org/pipermail/insight-users/2009-January/028534.html
http://www.itk.org/pipermail/insight-users/2005-July/014226.html
Thanks to everyone in advance,

Tiago


________________________________
De: Dean Inglis <inglis.dl at gmail.com>
Para: Insight-users at itk.org
Enviadas: Quarta-feira, 2 de Novembro de 2011 17:52
Assunto: [Insight-users] pointset to image registration in 3D


the problem background: 
given:
1) a set of n ( n ~= 200) 3D cartesian coordinates (x,y,z) obtained by touch sensor probing 
the surface of a human face (the subject) - fixed point space
2) a 3D CT scan of the subject's head - moving image space

required:
the transformation that maps coordinates from fixed point space
to moving image space so that the tip of an instrument/probe can be
visualized in real time within a volume rendering of the image

a cost image has been generated by scaling the gradient magnitude
of image  a binary segmentation of the subject's head such that large
gradient mag values lie on the skin surface.  I am thinking of changing this
to some use a laplacian filter or medial axis transform of some kind that 
would assign a unique value to the surface interface in the image space. 

itk classes;
itkPointSet - fill by reading in a text file of points, a constant value is associated with each point of the point set 
itkImageFileReader - read in the cost image
itkMeanReciprocalSquareDifferencePointSetToImageMetric - the registration metric
itkLinearInterpolateImageFunction - the  registration interpolator
itkVersorRigid3DTransform - the  registration transform
itkVersorRegid3DTransformOptimizer - the  registration optimizer
itkPointSetToImageRegistrationMethod - the registration method

I created two auxiliary classes (attached):
1) itkPointSetMomentsCalculator - given a point set, calculates center of mass assuming each point has a unit 
   point mass, calculates the principle axes in physical coordinates.  class is based on itkImageMomentsCalculator
2) itkCustomTransformInitializer - given a fixed point set and a moving image, initializes an internal 
  itkVersorRigid3DTransform with its SetCenter, SetTranslation, SetMatrix methods based on the calculations
  performed using an internal itkPointSetMomentsCalculator and itkImageMomentsCalculator.  The registration
pipeline's transform can be initialized by for example: 
registration_transform->SetCenter( initializer->GetTransform()->GetCenter() ) 
and so on

Can someone explain how I should set up the transformations  internally within the initializer class so that
the registration objective can be fulfilled?  There are next to no examples or substantial documentation on
using pointset to image registration in a 3D context.

best regards,
Dean




_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20111102/3d51f8c8/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ICP_outcome.png
Type: image/png
Size: 16222 bytes
Desc: not available
URL: <http://www.itk.org/pipermail/insight-users/attachments/20111102/3d51f8c8/attachment-0001.png>


More information about the Insight-users mailing list