[Insight-developers] ITK4 modular @ elastix
M.Staring at lumc.nl
M.Staring at lumc.nl
Wed Mar 30 11:20:10 EDT 2011
Hi all,
I managed to build a smaller project linking against all IO modules. A clean build did the trick for elastix as well. Thanks Nick!
It looks like a bug to me that ITK_BUILD_ALL_MODULES does not make all IO's link and that I have to set them all manually (quite a number of clicks). Or should I not expect that for that setting?
The only remaining issue now is Q4 below: the itksys-4.0.dll is still not found. It resides in the binary tree of the ITK, but I would expect it to be included in my executable, like it used to be in ITK3. The difference seems to be that itksys used to be a lib and now is a dll. When comparing the sources:
ITK\git\src\Modules\ThirdParty\KWSys\src\CMakeLists.txt
has the line
set(KWSYS_BUILD_SHARED 1)
So always shared in ITK4.
In ITK3:
ITK\3.20.0\InsightToolkit-3.20.0\Utilities\kwsys\CMakeLists.txt
has the line
SET(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
So it equals the overall ITK setting in ITK3.
Was there a reason to change this behavior in ITK4 or can it be restored to equal the overall ITK setting?
Thanks for the feedback,
Marius
From: Nicholas Tustison [mailto:ntustison at gmail.com]
Sent: woensdag 30 maart 2011 14:16
To: Staring, M. (LKEB)
Cc: insight-developers at itk.org
Subject: Re: [Insight-developers] ITK4 modular @ elastix
That's too bad. Hopefully somebody else will be able to chime in to help out.
On Mar 30, 2011, at 8:11 AM, <M.Staring at lumc.nl<mailto:M.Staring at lumc.nl>> <M.Staring at lumc.nl<mailto:M.Staring at lumc.nl>> wrote:
Hi Nick,
I did as you advised and recompiled ITK and then elastix (I saw it relinking and the binary increased in size), but no luck.
I will try it with a simpler project, to see if I can get that working first.
Thanks,
Marius
From: Nicholas Tustison [mailto:ntustison at gmail.com]
Sent: woensdag 30 maart 2011 12:27
To: Staring, M. (LKEB)
Cc: ITK Developers
Subject: Re: [Insight-developers] ITK4 modular @ elastix
Hi Marius,
We had the same first problem in migrating ANTs. The thing that fixed it
was explicitly turning on all the IO modules in the CMake advanced options.
I thought they were all turned on with the single "ITK_BUILD_ALL_MODULES"
option but it didn't work for me.
Nick
On Mar 30, 2011, at 4:37 AM, <M.Staring at lumc.nl<mailto:M.Staring at lumc.nl>> <M.Staring at lumc.nl<mailto:M.Staring at lumc.nl>> wrote:
Hi Bill,
Thanks for your response. Unfortunately, it does not work for me. For example, the mhd and bmp file format are not recognized anymore:
Description: Could not create IO object for file fixed.mhd
Tried to create one of the following:
You probably failed to set a file suffix, or
set the suffix to an unsupported type.
And additionally, the itksys-4.0.dll is still not found (Q4 below).
Any thoughts?
Marius
From: Bill Lorensen [mailto:bill.lorensen at gmail.com]
Sent: dinsdag 29 maart 2011 18:13
To: Staring, M. (LKEB)
Cc: insight-developers at itk.org<mailto:insight-developers at itk.org>
Subject: Re: [Insight-developers] ITK4 modular @ elastix
You should use ${ITK_LIBRARIES}. In fact all apps should have been using this right along rather that individual libs.
On Tue, Mar 29, 2011 at 11:52 AM, <M.Staring at lumc.nl<mailto:M.Staring at lumc.nl>> wrote:
Hi ITK modular developers,
I have some questions about linking to the new modular ITK4 libraries.
We have a separate branch of our software elastix where we try to keep up with the changes in ITK4. Up till now that was not too difficult, so thanks for that!
Since the transition to modular ITK the names of the target link libs changed. For example
TARGET_LINK_LIBRARIES( elastix ITKCommon ITKBasicFilters )
does not work anymore.
I figured out that e.g. ITKCommon now is called ITK-Common (and it may not be exactly the same thing). For ITKBasicFilters there is no ITK-BasicFilters, so what I did was parse through the ITK Modules tree and pick what we need in elastix, looking in the itk-module.cmake files.
1) Does someone have a list of what libraries in ITK3 map to what libraries in ITK4 ?
2) Would it be a good idea to define libs with the same names as in ITK3 that encompass the correct ITK4 submodules ?
I also noticed that while with ITK3 we could use ITKIO to link against all IO's available, in ITK4 we have to do it one by one.
3) Is it possible to create an ITK-IO super lib in ITK4 that groups all IO libs, so that we can link against all IO's at once ?
A last thing: when running elastix we now get the error that the itksys-4.0.dll is missing from my system. It used to come automatically with I think ITKCommon, and I see in ITK/Modules/Core/Common that it DEPENDS on ITK-KWSys.
4) Do I have to do something extra now to link this lib into elastix, or should it come with ITK-Common-4.0.lib ?
(in other words: do we need to change something, or does something need to be changed in ITK4?)
kwsys used to be hidden from the user.
I appreciate all the efforts that are made with the new ITK4. I'm also not in a hurry to getting this fixed. Just trying to understand what is changing for our software, and making sure these issues are noticed.
With kind regards,
Marius
Marius Staring, PhD
Division of Image Processing (LKEB)
Department of Radiology
Leiden University Medical Center
PO Box 9600, 2300 RC Leiden, The Netherlands
phone: +31 (0)71 526 1106<tel:%2B31%20%280%2971%20526%201106>, fax: +31 (0)71 526 6801<tel:%2B31%20%280%2971%20526%206801> m.staring at lumc.nl<mailto:m.staring at lumc.nl>
_______________________________________________
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.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<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.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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110330/3b2d3988/attachment.htm>
More information about the Insight-developers
mailing list