[Insight-users] 3d Deformable Registration problem based on DeformableRegistration8
Albert Gubern
bertkrek at gmail.com
Tue May 12 11:21:46 EDT 2009
Hi,
I've modified the example DeformableRegistration8.cxx in order to do a 3D
DeformableRegistration. This example uses MattesMutualInformationMetric,
BSplineDeformableTransform and LBFGSBOptimizer.
I tested the code with a brain phantom generated with Matlab. The original
volume is deformed using Matlab b-spline deformation based on this routine
http://www.mathworks.com/matlabcentral/fileexchange/20057, and I want to use
the deformable registration of ITK to recover the deformation. The next link
shows two checkerboard of one slice, before and after the succesful
registration:
http://img140.imageshack.us/img140/1831/phantomdeformableregist.png. The
original volume is set as the fixed image and the deformed phantom as the
moving.- Mostra el text citat -
The output of the execution is:
Starting Registration
0 -0.579387 0 0
0 -0.581355 0 0
0 -0.584345 0 0
0 -0.584345 6.33911e-05 0
1 -0.603649 6.33911e-05 0
1 -0.603649 6.41689e-05 0
2 -0.624884 6.41689e-05 0
2 -0.624884 7.76054e-05 0
3 -0.638071 7.76054e-05 0
3 -0.638071 6.32524e-05 0
4 -0.655438 6.32524e-05 0
4 -0.655438 7.51525e-05 0
5 -0.677776 7.51525e-05 0
5 -0.677776 6.37494e-05 0
6 -0.696669 6.37494e-05 0
6 -0.696669 5.09743e-05 0
7 -0.713613 5.09743e-05 0
7 -0.713613 5.48518e-05 0
... (60 iterations more)
67 -0.854863 4.01611e-05 0
67 -0.854863 4.01611e-05 0
67 -0.854863 4.01611e-05 0
67 -0.854863 4.01611e-05 0
Probe Tag Starts Stops Time (s)
Registration 1 1 3289.35
Next step was to test the same code with prostate MRI images but the
registration doesn't work. The original volume is a central region of MRI to
focus the registration on the prostate (
http://img145.imageshack.us/img145/200/mrireal.png), and the same
deformation, that was applied to the phantom test, is used to deform the
original prostate. The goal of the registration is the same: recovering the
deformation. The next link is a checkerboard of one slice of the volume to
show that fixed and moving images look different enough (
http://img26.imageshack.us/img26/8905/im011.png).
In this test the program the registration stops too early doing only few
iterations and the InfinityNormOfProjectedGradient is always zero:
Starting Registration
0 -0.742878 0 0
0 -0.722791 0 0
0 -0.721167 0 0
0 -0.721134 0 0
0 -0.733701 0 0
0 -0.733701 0 0
0 -0.742878 0 0
0 -0.742878 0.000122748 0
Probe Tag Starts Stops Time (s)
Registration 1 1 97.3459
I have tested the registration using different values of bins
(32,64,100,etc), % samples (100, 50, ...), using the original
(0.46875,0.46875,0.46875) and the unitary spacing, different number of grids
(from 5 to 50) and the parameters of the LBFGSBOptimizer are the following:
double costFunctionconvergenceFactor = 1.e7;
double projectedGradientTolerance = 1e-6;
int maxNumberOfIterations = 500;
int maxNumberOfEvaluations = 500 ;
int maxNumberOfCorrections = 5;
Among other tests, I've also changed the metric to MeanSquareMetric to know
if mattes mutual information metric is the problem or, separately, the fixed
and moving image have been binarized to reduce the information of each
image. The output has been the same.
All the tests seem to show that the problem is the optimizer, but I don't
know how I can solve it because in some posts in the mailing list I've read
that it is the best optimizer for deformable registration. Should I change
it for another one (Regular or LBFGS)? Any other idea?
Thanks in advance.
Albert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090512/d5eea8e9/attachment.htm>
More information about the Insight-users
mailing list