Non-rigid Groupwise Registration using B-Spline Deformation Model

Please use this identifier to cite or link to this publication:
In this work,
we extend a previously demonstrated entropy based groupwise registration method
to include a non-rigid deformation model based on B-splines.
We describe an open source implementation of the groupwise registration algorithm
using the Insight Toolkit ITK.
We provide the source code, parameters, input and
output data that we used for validation.

We describe an efficient implementation of the algorithm
by using a stochastic optimization scheme embedded in a multi-resolution setting.
The objective function is optimized using gradient descent algorithm combined
with line search for the step size.
The derivative of the objective function is evaluated efficiently by computing Jacobian of
B-spline deformation field locally.

We demonstrate the algorithm in application to different imaging modalities
including proton density, FA, T1 and T2 MR images.
We validate the algorithm on synthetic datasets varying from 2 to 30 images
by recovering randomly applied affine and B-spline transforms.
minus 3 Files (44Mb)
plus Automatic Testing Results by Insight-Journal Dashboard on Mon Aug 20 23:28:23 2007 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5

minus Interesting entry by Tomas Kazmar on 01-30-2008 for revision #5
starstarstarstarstar expertise: 3 sensitivity: 5
This entry deals with groupwise registration, that is a registration of multiple images at once without explicit reference frame.

Groupwise registration can be efficiently extended by B-spline deformable transform.

The authors provide output of the algorithm, that is test images before and after registration along with mean and standard deviation images. Sharper mean images and zero standard deviation images are interpreted as successful alignment.

Open Science:
Source code as well as input images are provided in the entry. Images used in the paper are not included, although one can expect these are selected from the input images as a result of the included tests. All the details needed to understand the algorithm are contained in the paper.

Downloaded, compile and run the tests was a matter of minutes. I did not verify if the results are the same as the tests with 3D volumes are more time expensive than I presumed.

Use of Open Source Software:

Only the Insight toolkit is used.

Open Source Contributions:
Provided source code is clearly described in the appendix to the article and accompanied by numerous tests.

Code Quality:
Source code is properly commented, cleanly divided into separate classes. It is possible to use it without any problem with current ITK, as far as I can tell the code does not involve any non-portable mechanism.

Applicability to other problems:
There are many problems that can benefit from a deformable groupwise registration, specifically where there is a need to bring a set of images into alignment without choosing a pivot/reference frame coordinate system.

Suggestions for future work:
Test the algorithm not only with volume data with synthetic deformations but also test alignment of 2D image sets and non-synthetic deformations.

Requests for additional information from authors:
Script that produces the output images used in the paper should be added.

Additional Comments:
Although B-splines transform used is have been optimized still the speed is not quick,
it takes over a minute to align two exactly identical 480x480 images(?).

I encountered a bug worth patching, GroupwiseRegistration executable causes memory
corruption when registration->GetLastTransformParameters() is called after resetting the
length of parameters array registration->SetTransformParametersLength(int), this call
should be moved to line 1123, after using the old transform parameters.

Comment by Miguel Munoz: Info yellow
We demonstrate the method in application to a set of 50 MRI brain scans and compare the results to a pairwise approach using segmentation labels to evaluate the quality of alignment. Our results indicate that increasing the complexity of the deformation model improves registration accuracy significantly, especially at cortical regions. bitcoin casino

Comment by Hongjun Jia: Can you share the revised version of 2D images? yellow
Hi, Frank. I tried to revise this code to deal with the registration of 2D brain MR images. But it seems not that easy and straightforward to do so as to change the dimension from 3 to 2. Can you share your revised code and the parameters file so that I can have a try? Thank you very much. You can email me to Thank you.

Comment by Frank Iannarilli: 2D registration and parameters file yellow
I've used the code without much problem on 2D images (affine-only). To use for 2D problems, the ComputeOutput function needed some minor tailoring (I can provide the modified code).

The parameters.txt file contains documenting comments that are somewhat misleading. I have revised the comments to be more explanatory (and can provide).
plus Moe Reviews by Marwan Mattar on 09-11-2007 for revision #2
starstarstarstarstar expertise: 3 sensitivity: 5
Add a new review
Quick Comments
Comment by Christian Suca velando yellow
Hello Mr. Serdar Balci my name is Christian and I am so interested in your implementation I read about B-spline deformation but I try to use in 2D-3D registration process using a ray casting. So I would like to extend your work and I would like to talk about this more with you if it is possible.

Regardss Mr. Serdar Balci.
Comment by Wang Jiang yellow
hi,I've tried to complile and run this program with vs2008 and ITK ,but i encountered some problems:
1) when i tried to match the affine data created by CreateImagesetAffine,i've got an exception as follows:
itk::ERROR: MultiThreader<00f62ae0>:Exception occurred during SingleMethodExcute.
itk::ERROR: UnivariateEntropyMultiImageMetric.txx :238
itk::ERROR: UnivariateEntropyMultiImageMetric<00f62910>: too many samples mapped outside the moving buffer.

2)while after i run the ComputeoutPuts.exe,debug error occured:
this application has requested the runtime to terminate it in an unusual way .please contact the support team for more informaiton.

besides,after i choose to terminate this ,i find if i chose to use B-spline to do registration,only affine file and outputimage can be found,the output files related with the b-spline-grid can not be found.I need your help urgently...expecting your answer and help....thank you for all your help...

Download All

Statistics more
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating: starstarstarstarstar
Paper Quality: plus minus

Information more
Categories: Deformable registration, Generic Programming, Groupwise registration, Image pyramids, Parallelization, SMP, Programming, Registration, Registration metrics, Registration optimizers, Transforms
Keywords: groupwise registration, non-rigid registration
Toolkits: ITK, CMake
Export citation:


Linked Publications more
Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy
by Vercauteren T., Pennec X., Perchant A., Ayache N.
An ITK-Based Framework for 2D-3D Registration with Multiple Fixed Images An ITK-Based Framework for 2D-3D Registration with Multiple Fixed Images
by Bertelsen A., Borro D.

View license
Loading license...

Send a message to the author
ISSN 2327-770X
Powered by Midas