[Insight-developers] N4 in ITK

Nicholas Tustison ntustison at gmail.com
Fri Dec 10 11:22:03 EST 2010


Hi Luis,

Thanks.  With Richard's changes, the code should be in really good shape.  Regarding what files to include, unless anybody else objects, I was just planning on putting in 

itkBSplineControlPointImageFilter.h, .txx
itkN4MRIBiasFieldCorrectionImageFilter.h, .txx

the itkN3* files were an early incarnation of the work trying to mimic the actual N3 developed at MNI.  It was during that development that I thought a couple changes to the original algorithm would improve things thus yielding N4.  

While I don't worry about the proper credit, it would be a really nice exercise in using the gerrit system.  I'll start working on that.

Thanks,
Nick 


On Dec 10, 2010, at 10:52 AM, Luis Ibanez wrote:

> Hi Nick,
> 
> Moving the source code into Review seems to be the way to go.
> 
> Just to double check:
> 
> We are talking about:
> 
> http://www.insight-journal.org/browse/publication/640
> 
> and the files that should be moved are:
> 
> itkBSplineControlPointImageFilter.h
> itkBSplineControlPointImageFilter.txx
> itkN3MRIBiasFieldCorrectionImageFilter.h
> itkN3MRIBiasFieldCorrectionImageFilterTest.cxx
> itkN3MRIBiasFieldCorrectionImageFilter.txx
> itkN4MRIBiasFieldCorrectionImageFilter.h
> itkN4MRIBiasFieldCorrectionImageFilter.txx
> 
> 
> Is that right ?
> 
> 
> Given that you are the author, you should have the honor
> of moving the code into ITK, and get the credit for it.
> 
> Now that we have git we can better differentiate between
> authors and committers.
> 
> 
> Would you mind preparing a branch (with
> its tests) and submitting it to Gerrit ?
> 
> 
> The data may have to go in a separate commit.
> 
> 
>     Thanks
> 
> 
>           Luis
> 
> 
> --------------------------------------------
> On Wed, Dec 8, 2010 at 2:28 PM, Nicholas Tustison <ntustison at gmail.com> wrote:
>> Hi Kent,
>> 
>> I suspect that on most systems the behavior should be identical.  The issues addressed by Richard's suggestions were used to correct improper use of the filter pipelining.  In fact, some were related to the following question you raised last year on the list:
>> 
>> http://www.itk.org/pipermail/insight-users/2009-July/031689.html
>> 
>> Hopefully with these changes we can actually minimize the amount of bug fixes that have to be made once it does get put into ITK and gets tested on many more systems.
>> 
>> Thanks for your help with all this and thanks to Richard for the corrective suggestions,
>> Nick
>> 
>> 
>> On Dec 8, 2010, at 2:20 PM, kent williams wrote:
>> 
>>> I just downloaded the IJ article again, and copied in the
>>> itkN4MRIBiasFieldCorrectionImageFilter.(txx,h) into our BRAINS3 tree.
>>> Looking at a diff, I don't see huge changes, so I'll have to take your word
>>> for it that you've improved it.
>>> 
>>> I'm not close enough to the code to know how 'ITK-ready' it is. I do know
>>> that we do use it at Iowa as part of our 'standard workup' for brain images.
>>> 
>>> I do know that you do include tests and some reasonably compact test images.
>>> If there's concensus to move the N4 class into ITK, it could go in pretty
>>> easily.
>>> 
>>> 
>>> On 12/8/10 11:56 AM, "Nicholas Tustison" <ntustison at gmail.com> wrote:
>>> 
>>>> Hi Kent,
>>>> 
>>>> The N4 contribution has been updated on the IJ with Richard's suggestions.
>>>> Everything seems to run properly on my two mac machines and all the IJ tests
>>>> continue to pass but, since I can't test other platforms, please let me know
>>>> if you run into any difficulties the next time you sync.
>>>> 
>>>> Thanks,
>>>> Nick
>>>> 
>>>> 
>>>> On Dec 7, 2010, at 11:39 AM, Hans Johnson wrote:
>>>> 
>>>>> Nick,
>>>>> 
>>>>> I'd support putting the general ITK process objects that have wider usage
>>>>> into ITK, and putting the application that is used into Slicer3.  Let the
>>>>> ITK community maintain the core algorithmic pieces, and the Slicer community
>>>>> maintain the end user application interfaces.
>>>>> 
>>>>> Hans
>>>>> 
>>>>> --
>>>>> Hans J. Johnson, Ph.D.
>>>>> Hans-johnson at uiowa.edu
>>>>> 
>>>>> 278 GH
>>>>> The University of Iowa
>>>>> Iowa City, IA 52241
>>>>> (319) 353 8587
>>>>> 
>>>>> 
>>>>>> From: Nicholas Tustison <ntustison at gmail.com>
>>>>>> Date: Tue, 7 Dec 2010 10:40:06 -0500
>>>>>> To: Kent Williams <norman-k-williams at uiowa.edu>
>>>>>> Cc: ITK <insight-developers at itk.org>, Luis Ibanez <luis.ibanez at kitware.com>
>>>>>> Subject: Re: [Insight-developers] N4 in ITK
>>>>>> 
>>>>>> Hi Kent,
>>>>>> 
>>>>>> That's what I had figured that you all were heavy users/testers like we are
>>>>>> at
>>>>>> Penn.  In addition, Andriy interfaces with the slicer community regarding
>>>>>> N4.
>>>>>> And as far as I know, nobody has ran into any issues until recently when
>>>>>> Richard had problems with his set up.  What would be nice (and I say this
>>>>>> because I'm completely lazy) is to simply pass ownership to the ITK
>>>>>> community
>>>>>> where these issues would be better addressed via the Dashboard versus me
>>>>>> making changes to N4 through the IJ and hoping that I don't break anybody
>>>>>> else's set-up with the changes.
>>>>>> 
>>>>>> Nick
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Dec 7, 2010, at 10:20 AM, kent williams wrote:
>>>>>> 
>>>>>>> We try and keep in sync in the BRAINS3 project and have a regular dashboard
>>>>>>> build. We also have several tests we run.
>>>>>>> 
>>>>>>> 
>>>>>>> On 12/7/10 8:13 AM, "Nicholas Tustison" <ntustison at gmail.com> wrote:
>>>>>>> 
>>>>>>>> Hi Luis,
>>>>>>>> 
>>>>>>>> Richard Beare ran into a couple issues running N4 recently on a couple of
>>>>>>>> his
>>>>>>>> systems which I hadn't encountered.  He worked out a solution which I plan
>>>>>>>> to
>>>>>>>> propagate back to the IJ as a revision soon.  However, considering the
>>>>>>>> number
>>>>>>>> of people that actually use the code and the fact that addressing these
>>>>>>>> issues
>>>>>>>> would be better done in a versioning/review system where I can actually
>>>>>>>> see
>>>>>>>> the results from these subtle code changes on different systems on the
>>>>>>>> dashboard, is there a mechanism that would allow for inclusion of new code
>>>>>>>> into itkv4 even amidst all the *chaos that is the current itkv4
>>>>>>>> development
>>>>>>>> process?  However, I certainly don't want to seem like I'm trying to force
>>>>>>>> in
>>>>>>>> my own code into the repository.
>>>>>>>> 
>>>>>>>> Nick
>>>>>>>> 
>>>>>>>> *(I use the term "chaos" only for rhetorical effect and I actually
>>>>>>>> appreciate
>>>>>>>> all the work that's been done to make it as smooth as it has been.)
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Powered by www.kitware.com
>>>>>>>> 
>>>>>>>> Visit other Kitware open-source projects at
>>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>> 
>>>>>>>> Kitware offers ITK Training Courses, for more information visit:
>>>>>>>> http://kitware.com/products/protraining.html
>>>>>>>> 
>>>>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>>>> 
>>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>>> http://www.itk.org/mailman/listinfo/insight-developers
>>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Powered by www.kitware.com
>>>>>> 
>>>>>> Visit other Kitware open-source projects at
>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>> 
>>>>>> Kitware offers ITK Training Courses, for more information visit:
>>>>>> http://kitware.com/products/protraining.html
>>>>>> 
>>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>> 
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://www.itk.org/mailman/listinfo/insight-developers
>>>>> 
>>>> 
>>> 
>> 
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.html
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>> 



More information about the Insight-developers mailing list