N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction
logo

Please use this identifier to cite or link to this publication: http://hdl.handle.net/10380/3053
Several algorithms exist for correcting the nonuniform intensity in magnetic resonance images caused by field inhomogeneities. These algorithms constitute important preprocessing steps for subsequent image analysis tasks. One such algorithm, known as parametric bias field correction (PABIC), has already been implemented in ITK. Another popular algorithm is the nonuniform intensity normalization (N3) approach. A particularly salient advantage of this algorithm is that it does not require a prior tissue model for its application. In addition, the source code for N3 is publicly available at the McConnell Brain Imaging Centre (Montreal Neurological Institute, McGill University) which includes source code and the coordinating set of perl scripts. This submission describes an implementation of the N3 algorithm for the Insight Toolkit given as a single class, viz. itk::N3MRIBiasFieldCorrectionImageFilter. We tried to maintain minimal difference between the publicly available MNI N3 implementation and our ITK im- plementation. The only intentional variation is the substitution of an earlier contribution, i.e. the class itk::BSplineScatteredDataPointSetToImageFilter, for the originally proposed least-squares approach for B-spline fitting used to model the bias field. In addition, we include a more extensive modification to the original N3 algorithm found in the class itk::N4MRIBiasFieldCorrectionImageFilter. The latter algorithm employs a multi-resolution approach, similar to FFD image registration strategies, and has a slightly modified iterative update scheme.
Code
plus Automatic Testing Results by Insight-Journal Dashboard on Fri Jan 22 22:26:54 2010 for revision #9
starstarstarstarstar expertise: 5 sensitivity: 5
plus Automatic Testing Results by Insight-Journal Dashboard on Tue Oct 27 14:44:12 2009 for revision #6
starstarstarstarstar expertise: 5 sensitivity: 5
plus Automatic Testing Results by Insight-Journal Dashboard on Tue Oct 20 11:18:04 2009 for revision #5
starstarstarstarstar expertise: 5 sensitivity: 5
plus Automatic Testing Results by Insight-Journal Dashboard on Fri Jul 17 07:23:06 2009 for revision #4
starstarstarstarstar expertise: 5 sensitivity: 5

Reviews
minus Good contribution by Dženan Zukić on 2011-05-30 09:14:31 for revision #11
starstarstarstarstar expertise: 3 sensitivity: 5
yellow
Summary:

A valuable contribution, which spares us from implementing the N3 method. It has basic documentation and a very complex example, but it lacks a simplest example.

Open Science:

Source code provided, as well as some images.

Reproducibility:

It compiles after ITK was configured to use reivew code. The complex example runs noticeably faster than the code I used:



typedef itk::N4MRIBiasFieldCorrectionImageFilter<RealImageType, CharImageType> CorrecterType;


CorrecterType::Pointer correcter=CorrecterType::New();


correcter->SetInput(reader->GetOutput());


correcter->Update();




Open source Contributions:

Code is usable, but the examples provided are long, and a straightforward use of the filter takes much longer than the provided examples.

Quality of the data :

I did not check the included data, I used my own data.

Interest:

Everyone who uses MR images.


Comment by Elissierdeon Olivier: yellow


Comment by Elissierdeon Olivier: yellow


Comment by Elissierdeon Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Lbbellquin Holland: yellow


Comment by Lbbellquin Holland: yellow


Comment by Lbbellquin Holland: yellow


Comment by Lheeralalkris Olivier: yellow


Comment by Lheeralalkris Olivier: yellow


Comment by Lheeralalkris Olivier: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tsmccathedema Ken: yellow


Comment by Tsmccathedema Ken: yellow


Comment by Tsmccathedema Ken: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Bridesmaidbride Ken: yellow


Comment by Bridesmaidbride Ken: yellow


Comment by Bridesmaidbride Ken: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Pshopgolf Olivier: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Lheeralalkris Olivier: yellow


Comment by Ingtroglinsterl Vigorda: yellow


Comment by Ingtroglinsterl Vigorda: yellow


Comment by Ingtroglinsterl Vigorda: yellow


Comment by Rankeurensuan Ken: yellow


Comment by Rankeurensuan Ken: yellow


Comment by Rankeurensuan Ken: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Ntveronesbrid Ken: yellow


Comment by Ntveronesbrid Ken: yellow


Comment by Ntveronesbrid Ken: yellow


Comment by Mwangmajor Holland: yellow


Comment by Mwangmajor Holland: yellow


Comment by Mwangmajor Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Rsalbarrantravi Olivier: yellow


Comment by Conecoyn Vigorda: yellow


Comment by Conecoyn Vigorda: yellow


Comment by Conecoyn Vigorda: yellow


Comment by Lari7usa Vigorda: yellow


Comment by Lari7usa Vigorda: yellow


Comment by Lari7usa Vigorda: yellow


Comment by Hlinksshopping Olivier: yellow


Comment by : yellow


Comment by : yellow


Comment by : yellow


Comment by Eveningdiscount Ken: yellow


Comment by Eveningdiscount Ken: yellow


Comment by Eveningdiscount Ken: yellow


Comment by Eunicerosa Vigorda: yellow


Comment by Eunicerosa Vigorda: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Aollwaymyrt Vigorda: yellow


Comment by Dolanguiraorlan Holland: yellow


Comment by Dolanguiraorlan Holland: yellow


Comment by Dolanguiraorlan Holland: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Sdubersterodo Olivier: yellow


Comment by Mwangmajor Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Uejesusrodg Holland: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Tbootsbuy Vigorda: yellow


Comment by Elissierdeon Olivier: yellow


Comment by Elissierdeon Olivier: yellow

plus Very nice contribution for open source community by Andriy Fedorov on 2009-06-17 16:05:40 for revision #3
starstarstarstarstar expertise: 2 sensitivity: 5
plus Cannot Compile the program by Sylvain Bouix on 2009-05-21 15:29:36 for revision #1
starstarstarstarstar expertise: 2 sensitivity: 5
Add a new review
Quick Comments
Comment by Amir Khojaste yellow
hello guys, I'm at my first steps to learn c++, I really appreciate your help if you could tell me how I can run this code? it has some errors, can i have the executable file of this project? thanks a lot. I would be so grateful if you also could email me at a.khojaste@queensu.ca
regards


Resources
backyellow
Download All
Download Paper , View Paper
Download Source code
Github

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

Information more
backyellow
Categories: Filtering, IO
Keywords: MRI, bias field, inhomogeneity, ninjas
Toolkits: ITK
Export citation:

Share
backyellow
Share

Linked Publications more
backyellow
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.
Reader/Writer for Analyze Object Maps for ITK Reader/Writer for Analyze Object Maps for ITK
by Hawley J., Johnson H.

View license
Loading license...

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