Farsight ITKv4 Migration Guide

From FarsightWiki
Revision as of 05:20, 22 August 2011 by Gramak (Talk | contribs)
Jump to: navigation, search

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

ITK

Windows 7:

If you want ITK in say C:\Lab\

In Git Bash shell (Start -> Git Bash in search box)

cd /c/Lab

To checkout v4.0a7:

git clone git://itk.org/ITK.git
cd ITK
git checkout v4.0a09
git submodule update

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.

Turn on the following:

  • ITKGroup_* or ITK_BUILD_ALL_MODULES
  • ITK_USE_64BITS_IDS
  • ITK_USE_REVIEW

Turn off the following

  • BUILD_SHARED_LIBS
  • BUILD_TESTING
  • BUILD_EXAMPLES
  • BUILD_DOXYGEN

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