[Insight-users] Request for help with rigid 3D rotation and
translation image registration. (no attachment this time)
Luis Ibanez
luis.ibanez at kitware.com
Fri Jul 8 11:57:26 EDT 2005
Hi Greg,
You may be using a too advanced example for what you need to do.
If you only need to solve for a rigid transform it is likely that
an example such as
Insight/Examples/ImageRegistration8.cxx
may have all the elements that you need, except for the need of
replacing the metric for one suitable for Multi-Modality images,
such as Mutual Information.
We will be happy to take a look at your registration problem,
we are currently downloading Brains2 and building it according
to the instructions in your Wiki page.
Could you please let us know what types of images you are using ?
Thanks
Luis
--------------------------------------
Greg Harris wrote:
> Dear fellow ITK users,
>
> This is my request for help with rigid 3D rotation and translation
> image registration of the human brain.
>
> Largely as a result of the ITK manual, section 8.4, including the
> statement, "It has been extensively shown that metrics based on
> the evaluation of mutual information is the best way to overcome
> the difficulties of multi-modality registration," I have been laboring
> for some months trying to make this happen in our brains2
> project setting.
>
> My present best effort, that began by imitating the SimpleApp
> framework, can be seen in detail in the brains2 CVS source tree,
> where brains2/src/iplProg/MutualRegistration contains C++
> source and a test data set in 3D and a plan for testing called
> PrincipalDebugTesting.tcl.
>
> The files MIMRegistrator.{h,txx} are where we put together the
> registration modules,
>
> #include "itkMultiResolutionImageRegistrationMethod.h"
> #include "itkVersorRigid3DTransform.h"
> #include "itkMattesMutualInformationImageToImageMetric.h"
> #include "itkLinearInterpolateImageFunction.h"
> #include "itkVersorRigid3DTransformOptimizer.h"
> #include "itkRecursiveMultiResolutionPyramidImageFilter.h"
>
> This illustrates our particular taste in what combination to attempt.
>
> The result has been frustrating. I don't get the exact fit I want even
> when giving it the target transformation as an initial condition; while
> the fit is only slightly off when the difference is translation-only,
> the cases of a rotation-only difference and a rotation-and-translation
> difference seem to find the rotation but not even close as to translation.
>
> This application needs to convert between 3D AffineTransforms and
> the 6-parameter VersorRigid3D. Is it possible that converting by
> Get-ing and Set-ing the Center, Matrix, and Translation is not the
> approved way to convert between transforms, as done in my file
> CrossOverAffineSystem.txx? Could that be distorting my translational
> information in proportion to the magnitude of the rotation? If so,
> could you explain what is needed to get Affine and VersorRigid3D
> transforms to play together?
>
> I know 3D rigid registration comes up on this discussion list repeatedly.
> Is there someone knowledgeable who can look over the
> code? If you want to run the test cases, you will need to download
> brains2 from psychiatry.uiowa.edu (it's free):
> http://www.psychiatry.uiowa.edu/wiki/index.php?title=BRAINS_GETTING_STARTED#BRAINS_Registration
>
> will point you to how to get read-only CVS access to the brains2 projects.
>
> With thanks in advance,
>
> Greg Harris
> Iowa Psychiatry Brain Imaging Lab
> The University of Iowa
> Iowa City, IA 52242 USA
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list