[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