[ITK] [ITK-dev] Potential BSpline registration problems with ITKv4

Ghayoor, Ali ali-ghayoor at uiowa.edu
Thu Apr 17 13:22:25 EDT 2014


Hello all,

I did a double check on the command line parameters and the code changes in v3 and v4 implementations. Basically same metric and optimizer is used for both implementations, and their parameters are set the same.
Metric —> MattesMutualInformationImageToImageMetric(v4)
Optimizer —> LBFGSBOptimizer(v4)

Also, in ITKv4 based implementation, one level registration (with shrink factor 1 and smoothing sigma 0) is used that is the closest circumstance to what happens in ITKv3.
Only notice that two implementations use different BSpline transform types too.

In v3 implementation, a BSplineDeformableTransformType is used that is initialized by a BSplineDeformableTransformInitializer, and its bulk transform is initialized by the input initial transform.

However, v4 implementation utilizes a BSplineTransformType that its parameters (origin, physicalDomain, meshSize and direction) are set directly. Also, the input initial transform is set directly to the registration filter as the moving initial transform.

Moreover, I repeated my experiments on the “BRAINSFitTest_BSplineOnlyRescaleHeadMasks” test that does just one stage BSpline registration. (Previous test was performing two linear stages before the BSpline stage).

This test was passed successfully in ITKv3 in very short times:

ITKv3: release type -> passed in 13 seconds
ITKv3: debug type -> passed in 102 seconds

Also, it was passed successfully in ITKv4 when 4 cores were used and was failed by timeout when just 1 core was used:

ITKv4: release type -> passed in 17 minutes (when 4 cores are used)
ITKv4: release type -> failed by timeout (>30 mins) (when 1 core is used)


Thank you,
Ali



From: Nicholas Tustison <ntustison at gmail.com<mailto:ntustison at gmail.com>>
Date: Thursday, April 17, 2014 at 8:07 AM
To: "Johnson, Hans J" <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>>
Cc: Ali Ghayoor <ali-ghayoor at uiowa.edu<mailto:ali-ghayoor at uiowa.edu>>, ITK <insight-developers at itk.org<mailto:insight-developers at itk.org>>
Subject: Re: [ITK-dev] [ITK] Potential BSpline registration problems with ITKv4

Very interesting find, Ali.  Thanks.  Please keep us
informed of what you find.  It would be nice if a fix
could help us improve the general timing issues that
we’ve discussed previously with ITKv4.



On Apr 17, 2014, at 9:00 AM, Johnson, Hans J <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>> wrote:

There was not supposed to be.  The intention was to do the minimal number of changes to allow the same results to occur in ITKv4 instead of ITKv3.  No new features or changes were specified.

Ali did this work, so he will need to double check, but upon quick review it looks like a simple refactoring from one framework to the other.

Hans


From: Nick Tustison <ntustison at gmail.com<mailto:ntustison at gmail.com>>
Date: Thursday, April 17, 2014 at 7:54 AM
To: Hans Johnson <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>>
Cc: ITK <insight-developers at itk.org<mailto:insight-developers at itk.org>>
Subject: Re: [ITK-dev] [ITK] Potential BSpline registration problems with ITKv4

Hans,

Are there any implementation differences between the two testing
programs, e.g. different metric class versions?

Thanks,
Nick

On Apr 17, 2014, at 8:24 AM, Bradley Lowekamp <blowekamp at mail.nih.gov<mailto:blowekamp at mail.nih.gov>> wrote:

Hans,



I have see a single per-pixel dynamic memory/malloc cause a 10X performance penalty.  Also I have found apple Instruments easy for diagnosing this bottle neck. This is one possibility among many.

Good luck tracking down the issue.

Brad

On Apr 16, 2014, at 9:10 PM, Johnson, Hans J <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>> wrote:

FYI

Ali Ghayoor did the following experiments on "BRAINSFitTest_BSplineScaleRotationRescaleHeadMasks" test.

1) In one of my old build directories, I ran the "BRAINSFitTest_BSplineScaleRotationRescaleHeadMasks" test in BRIANSFitv3 (that uses ITKv3 registration framework). The test was passed successfully in both release and debug types, and it took:

22 second in release
88 second in debug

2) I built NAMICExternalProject on my system in release type and ran the above BSpline test in BRAINSTools. The test was passed successfully again, but the run time in ITKv4 is tremendously longer than the time that test takes in ITKv3. The test took:

18 minutes using 4 cores
22 minutes using 1 core (In this case the environmental variable "NSLOTS" is set to 1).

==================================
Basically trying to replicate in ITKv4 the same registration processes of ITKv3.

Hans


________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________
_______________________________________________
Powered by www.kitware.com<http://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.php

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
_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community

_______________________________________________
Powered by www.kitware.com<http://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.php

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



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140417/f82d91e6/attachment-0002.html>
-------------- next part --------------
_______________________________________________
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.php

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 Community mailing list