Farsight ITKv4 Migration Guide

From FarsightWiki
(Difference between revisions)
Jump to: navigation, search
(ITK)
(ITK)
Line 21: Line 21:
 
Note: If you turn on a group, it will always build all the modules in that group regardless of if you have that module checked or not.
 
Note: If you turn on a group, it will always build all the modules in that group regardless of if you have that module checked or not.
  
Follow the old [[ FARSIGHT_HowToBuild#Build_ITK | ITK build guidelines ]] and also turn on the following
+
Follow the old [[ FARSIGHT_HowToBuild#Build_ITK | ITK build guidelines ]] except noted below and also turn on the following
  
 
* ITKGroup_*
 
* ITKGroup_*
 
* ITK_USE_64_BITS_IDS
 
* ITK_USE_64_BITS_IDS
 +
 +
'''Do NOT turn on ITK_USE_SYSTEM_VXL as documented in the old FARSIGHT_HowToBuild guide'''
  
 
CMakeList files may need to be edited to use ${ITK_LIBRARIES} instead of ITKCommon, ITKIO, ITKBasicFilter.... etc, otherwise you will get errors like "Cannot open file: ITKCommon.lib"
 
CMakeList files may need to be edited to use ${ITK_LIBRARIES} instead of ITKCommon, ITKIO, ITKBasicFilter.... etc, otherwise you will get errors like "Cannot open file: ITKCommon.lib"

Revision as of 17:54, 11 June 2011

This page mostly documents the changes from the FARSIGHT_HowToBuild guide with a discrete build to work with ITKv4 and provides tips and hints on how to modify the existing codebase to work with the new/modified ITK classes. The SuperBuild is not known to work yet with ITKv4, so if you need ITKv4, this is the only way to do it.

Contents

Build requirements

VXL

Revision 32353 or later:

svn checkout --revision 32352 https://vxl.svn.sourceforge.net/svnroot/vxl/trunk/

ITK

v4.0a7 or later:

git clone git://itk.org/ITK.git
cd ITK
git checkout f4e5ba8fb7d238b6980802cd56fd0d9bdbdbb6ac

CMake Changes

ITK

ITK now has modules. Modules can be individually or group-wise turned on and off. It is recommended to just turn on all the modules since most of ITK's functions are templated and thus are not built until they are actually used in your program. Note: If you turn on a group, it will always build all the modules in that group regardless of if you have that module checked or not.

Follow the old ITK build guidelines except noted below and also turn on the following

  • ITKGroup_*
  • ITK_USE_64_BITS_IDS

Do NOT turn on ITK_USE_SYSTEM_VXL as documented in the old FARSIGHT_HowToBuild guide

CMakeList files may need to be edited to use ${ITK_LIBRARIES} instead of ITKCommon, ITKIO, ITKBasicFilter.... etc, otherwise you will get errors like "Cannot open file: ITKCommon.lib"

Code changes

Changes to ITK since v3.20 should be located in one of three places:

http://ij.itk.org/itkfaq/index.php?action=search&tagging_id=2
http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Migration_Users_Guide
<ITKv4 src folder>\ITK\Documentation\Migration

In addition, it maybe helpful to check the ITKv4 API:

http://www.itk.org/Doxygen/html/index.html

If you cannot find the change documentation, please write to the ITK Developer's List

Personal tools