An ITK Implementation of Physics-based Non-rigid Registration Method

Please use this identifier to cite or link to this publication:
As part of the ITK v4 project efforts, we have developed ITK filters for physics-based non-rigid registration (PBNRR), which satisfies the following requirements: account for tissue properties in the registration, improve accuracy compared to rigid registration, and reduce execution time using GPU and multi-core accelerators. The implementation has three main components: (1) Feature Point Selection, (2) Block Matching (mapped to both multi-core and GPU processors), and (3) a Robust Finite Element Solver. The use of multi-core and GPU accelerators in ITK v4 provides substantial performance improvements. For example, in average for the non-rigid registration of brain MRIs, the performance of the Block Matching filter is about 12 times faster when 12 hyperthreaded multi-cores are used and about 540 times faster when the Quadro 6000 with 448 threads is used in Dell Workstation.
minus 1 Dataset (53Mb)
minus Automatic Testing Results by Insight-Journal Dashboard on Tue Jan 29 16:34:56 2013 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 3.5
yellow This project had trouble building: 12 errors, 1 warnings
Click here for more details.

Go here to access the main testing dashboard.

minus good job by Zhijun Zhang on 2012-11-07 12:55:36 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 3.5

hi Yixun: 

    I saw two steps in the solver takes a lot of time. 

one is system solution and another is copy inputs to outputs. 

Why these two steps can not be speed up?


I wonder how can ITKV4 do parallel computing better than itk3.x version ? 

I can not find introduction on this. 

Comment by : yellow

Comment by : yellow

Comment by : yellow

Comment by : yellow

Comment by : yellow

Comment by : yellow

Comment by Ndiscountcanada Olivier: yellow

Comment by Ndiscountcanada Olivier: yellow

Comment by Ndiscountcanada Olivier: yellow

Comment by Yixun Liu: yellow
Hi Zhijun,
We use itkFEMLinearSystemWrapperItpack to resolve linear system of equations, which is a sequential solver.
The steps you mentioned can be asselerated by a parallel solver such as PETSc.
However, ITK does not support it now.

Add a new review
Quick Comments
Comment by Altheqa Stone yellow
اسعار الحجر الهاشمى بمصر اسعار الحجر الهاشمى فرز اول وتانى
الحجر الهاشمي الاختيار الأفضل لواجهات المنازل والفلل أفضل صنعة تركيب وأقل سعرًا
أنواع الحجر الهاشمي بمصر مميزات وعيوب كل نوع وما الأفضل لك
تعرف على أسعار الحجر الهاشمي في مصر بأشكاله المختلفة
حجر هاشمي هيصم بأقل تكاليف انتقال فرز أول للديكورات الخارجية والداخلية
حجر هاشمي فرز أول لواجهات الفلل والقصور والعمائر
حجر هاشمى هيصم لواجهات المنازل والعمائر فى مصر 2020
تركيب الحجر الفرعوني لواجهات المنازل والفلل 2020
واجهات الحجر الفرعوني في مصر تركيبها بأقل الأسعار
أفضل شركة لتركيب الحجر البازلت في مصر بأسعار مناسبة واستخدامات متعددة
أنواع الحجر البازلت أسعار تركيب الحجر البازلت في مصر 2020
Comment by David Fuentes yellow
thanks. I found the Fotis comment on the link that you sent.

Is there a GPU version of the block matching algorithm available that is mentioned in the abstract ?
Comment by Yixun Liu yellow
Hi Fuentes,
Please refer to Fotis answer.


The function CreateDeformedImage() warps the moving image according the generated deformation field of the registration filter.

You can download the following patch from the ITK gerrit system : git fetch refs/changes/36/7136/3 && git checkout FETCH_HEAD -b A2D2PBNRR

or from the link :

In the files itkPhysicsBasedNonRigidRegistrationMethod.hxx and itkPhysicsBasedNonRigidRegistrationMethod.h

of this patch you will find the function CreateDeformedImage() that you need.
Comment by David Fuentes yellow
nice work. Does the example code run on GPU as well ?
What version of ITK is this posted source code supposed to work with ?

The method


is not available in ITK 4.3.0 and throwing compiling errors


/workarea/fuentes/github/PBNRR/PBNRR.cxx: In function ‘int main(int, char**)’:
/workarea/fuentes/github/PBNRR/PBNRR.cxx:149: error: ‘class itk::fem::PhysicsBasedNonRigidRegistrationMethod, itk::Image, itk::Image, itk::Mesh >, itk::Image, 3u> >’ has no member named ‘CreateDeformedImage’
/workarea/fuentes/github/PBNRR/PBNRR.cxx:153: error: using ‘typename’ outside of template

Download All
Download Paper , View Paper
Download Source code

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

Information more
Categories: Filtering, Registration
Keywords: Non-rigid Registration, Physical Model, Finite Element, Robust Regression, GPU, Multi-core
Tracking Number: NLM A2D2 201000586P, CCF-1139864, CCF-1136538, CSI-1136536 , John Simon Guggenheim Foundation and the Richard T. Cheng Endowment.
Export citation:


Linked Publications more
Document Object Model based XML Handling in ITK Document Object Model based XML Handling in ITK
by Gong R.H., Yaniv Z.
A Skull-Stripping Filter for ITK A Skull-Stripping Filter for ITK
by Bauer S., Fejes T., Reyes M.

View license
Loading license...

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