Non-rigid Groupwise Registration using B-Spline Deformation Model
Balci S.K., Golland P., Wells W.M.
MIT CSAIL

Please use this identifier to cite or link to this publication: http://hdl.handle.net/1926/568
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.
Data
minus 3 Files (44Mb)
Code
plus Automatic Testing Results by Insight-Journal Dashboard on Mon Aug 20 23:28:23 2007 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5

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

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

Evidence:
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.

Reproducibility:
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 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 headbigbig@gmail.com. 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

Statistics
backyellow
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating: starstarstarstarstar
Views: 5331
Downloads: 3885

Send a message to the author

Information
backyellow
Paper Id: 173
Categories: Deformable registration, Generic Programming, Groupwise registration, Image pyramids, Parallelization, SMP, Programming, Registration, Registration metrics, Registration optimizers, Transforms
Keywords: groupwise registration, non-rigid registration,
Toolkit: ITK, CMake
Revision: 5 (12-29-2007)
Status: Open for public review
View license
Loading license...

Data
backyellow
Full download: .zip
Paper: view, .pdf

Share
backyellow
Facebook Digg delicious StumbleUpon dzone Furl Technorati Reddit

Associated Publications
backyellow
Fast BlockMatching Registration with Entropy-based Similarity

main_flat
main_bottom
Powered by Midas