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

Fauze Polpeta fauze.polpeta at gmail.com
Fri Nov 18 12:05:50 EST 2011


Same problem here. Please, someone has any new feedback regarding this subject.

Best Regards

Fauze

On Thu, Nov 3, 2011 at 1:02 AM, Tiago Brizolara da Rosa
<yarroo at yahoo.com> wrote:
> 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
>
>
>
> _____________________________________
> 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
>
>



-- 
Fauze V. Polpeta


More information about the Insight-users mailing list