ITK/Release 4/Migration Plan/Release Notes: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 9: Line 9:
This release is simply a Git tag that is equivalent to the stable release of ITK 3.2
This release is simply a Git tag that is equivalent to the stable release of ITK 3.2


= ITKv4 Alpha-01 =
= ITKv4 Alphas =
 
== ITKv4 Alpha-01 ==


The main changes made in this release are
The main changes made in this release are


== Removal support for Deprecated Compilers ==
=== Removal support for Deprecated Compilers ===


Code that was intended to provide support for several outdated compilers was removed. The compilers that are no longer supported in ITKv4 are
Code that was intended to provide support for several outdated compilers was removed. The compilers that are no longer supported in ITKv4 are
Line 27: Line 29:
Note: The minimum version of the Sun CC complier that is supported is '''Version 12''' as described in http://public.kitware.com/Bug/view.php?id=11076
Note: The minimum version of the Sun CC complier that is supported is '''Version 12''' as described in http://public.kitware.com/Bug/view.php?id=11076


== Statistics Framework Updated ==
=== Statistics Framework Updated ===


The original statistics framework was removed and replaced with the one that was refactored in 2007.  
The original statistics framework was removed and replaced with the one that was refactored in 2007.  
Line 39: Line 41:
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide | Migration Users Guide ]]
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide | Migration Users Guide ]]


== Consolidated Morphology ==
=== Consolidated Morphology ===


The Consolidated Morphology classes that were in the ITK/Code/Review directory were moved into the standard ITK directories.
The Consolidated Morphology classes that were in the ITK/Code/Review directory were moved into the standard ITK directories.
Line 51: Line 53:




== Multi-Threaded Image Registration Metrics Updated ==
=== Multi-Threaded Image Registration Metrics Updated ===


The multi-threaded image registration metrics that were in the Review directory were moved into the standard ITK directories.  
The multi-threaded image registration metrics that were in the Review directory were moved into the standard ITK directories.  
Line 72: Line 74:
will now use the number of threads that you assign them. This will be, by default, equal to the number of cores in your computer.
will now use the number of threads that you assign them. This will be, by default, equal to the number of cores in your computer.


== Centered Pixel Consistency Enforced ==
=== Centered Pixel Consistency Enforced ===


* The changes that were made to enforce the consistency of pixel coordinates computation are now permanent.  
* The changes that were made to enforce the consistency of pixel coordinates computation are now permanent.  
* The code intended for backward compatibility (with the state in which ITK was computing coordinates inconsistently) has been removed.
* The code intended for backward compatibility (with the state in which ITK was computing coordinates inconsistently) has been removed.


== Remove all Deprecated code ==
=== Remove all Deprecated code ===


* Source code that was labeled as '''deprecated''' was removed.
* Source code that was labeled as '''deprecated''' was removed.


== Some CMake Options Removed ==
=== Some CMake Options Removed ===


The following CMake configuration options were removed
The following CMake configuration options were removed
Line 92: Line 94:
* ITK_USE_DEPRECATED_FAST_MARCHING
* ITK_USE_DEPRECATED_FAST_MARCHING


= ITKv4 Alpha-02 =
== ITKv4 Alpha-02 ==


== Adopted Uncrusty ==
=== Adopted Uncrusty ===


The source code was processed using [http://uncrustify.sourceforge.net/ Uncrustify] in order to reformat the coding style according to the following proposal  
The source code was processed using [http://uncrustify.sourceforge.net/ Uncrustify] in order to reformat the coding style according to the following proposal  
Line 101: Line 103:




== Updated openjpeg ==
=== Updated openjpeg ===


The openjpeg library in the '''ITK/Utilities''' directory was updated to the openjpeg-v2 version of July 2010.
The openjpeg library in the '''ITK/Utilities''' directory was updated to the openjpeg-v2 version of July 2010.


== Updated jpeg ==
=== Updated jpeg ===


* The jpeg library in the '''ITK/Utilities/itkjpeg''' directory was updated to the jpeg version 8b.  
* The jpeg library in the '''ITK/Utilities/itkjpeg''' directory was updated to the jpeg version 8b.  
Line 114: Line 116:
* http://www.ijg.org/
* http://www.ijg.org/


== Updated to GDCM 2.0 ==
=== Updated to GDCM 2.0 ===


* GDCM, the library that provides DICOM support in ITK was updated to GDCM 2.0.16
* GDCM, the library that provides DICOM support in ITK was updated to GDCM 2.0.16
Line 120: Line 122:
** http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=GDCM_Release_2.0#GDCM_2.0.16_.282010.2F08.2F18.29
** http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=GDCM_Release_2.0#GDCM_2.0.16_.282010.2F08.2F18.29


== Added JPEG2000ImageIO ==
=== Added JPEG2000ImageIO ===


An ImageIO class specialized on managing JPEG2000 files was added from the Insight Journal paper
An ImageIO class specialized on managing JPEG2000 files was added from the Insight Journal paper
Line 128: Line 130:
* http://www.insight-journal.org/browse/publication/741
* http://www.insight-journal.org/browse/publication/741


== Changed the License to Apache 2.0 ==
=== Changed the License to Apache 2.0 ===


* The license was changed from BSD to Apache 2.0
* The license was changed from BSD to Apache 2.0


== Removed Patented Code ==
=== Removed Patented Code ===


* In order to abide by the terms of the Apache 2.0 license, patented source code was removed.
* In order to abide by the terms of the Apache 2.0 license, patented source code was removed.


== Moved QuadEdgeMesh out of Review ==
=== Moved QuadEdgeMesh out of Review ===


* The QuadEdgeMesh and associated filters were moved out of the Review directory
* The QuadEdgeMesh and associated filters were moved out of the Review directory


== CMake ==
=== CMake ===


* FLAGS: The flag that controlled TEMPLATE METAPROGRAMMING for LOOP UNROLLING was removed
* FLAGS: The flag that controlled TEMPLATE METAPROGRAMMING for LOOP UNROLLING was removed
* Changed all CMakeLists.txt files to use lowercase commands
* Changed all CMakeLists.txt files to use lowercase commands


== Statistics Framework ==
=== Statistics Framework ===


* MeasurementVectorTraits from the statistics package by migrating the GetLength and SetLength functions to NumericTraits.
* MeasurementVectorTraits from the statistics package by migrating the GetLength and SetLength functions to NumericTraits.


= ITKv4 Alpha-03 =
== ITKv4 Alpha-03 ==


* VNL was updated in the Utilities directory.
* VNL was updated in the Utilities directory.


= ITKv4 Alpha-04 =
== ITKv4 Alpha-04 ==


* Fixed the problem that prevented Windows 64 bits machines to manage image larger than 4 Gb.
* Fixed the problem that prevented Windows 64 bits machines to manage image larger than 4 Gb.


= ITKv4 Alpha-05 =
== ITKv4 Alpha-05 ==


* Introduced Real Time Stamps
* Introduced Real Time Stamps
Line 173: Line 175:


* June 15 2011
* June 15 2011
== Modularization ==
== LevelSet Refactoring ==
== DICOM Updates ==
== Image Registration Refactoring ==
== FEM Refactoring ==
== Simple ITK ==
== GPU Support ==

Revision as of 20:35, 21 May 2011

Release Notes

This page captures release notes for the intermediate releases of ITKv4

ITK 3-20 Git

This release is simply a Git tag that is equivalent to the stable release of ITK 3.2

ITKv4 Alphas

ITKv4 Alpha-01

The main changes made in this release are

Removal support for Deprecated Compilers

Code that was intended to provide support for several outdated compilers was removed. The compilers that are no longer supported in ITKv4 are

  • Borland 5.5
  • Visual Studio 6.0
  • Visual Studio 7.0
  • SGI CC compilers
  • Sun CC 5.6
  • Metrowerks


Note: The minimum version of the Sun CC complier that is supported is Version 12 as described in http://public.kitware.com/Bug/view.php?id=11076

Statistics Framework Updated

The original statistics framework was removed and replaced with the one that was refactored in 2007.

Details on the refactoring process are available at

Refactoring Statistics Framework 2007

and a guide on how to migrate to the new framework is available at

Migration Users Guide

Consolidated Morphology

The Consolidated Morphology classes that were in the ITK/Code/Review directory were moved into the standard ITK directories.

These classes were contributed in the Insight Journal paper


Multi-Threaded Image Registration Metrics Updated

The multi-threaded image registration metrics that were in the Review directory were moved into the standard ITK directories.

Details about the features of these metrics are available at

 http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization

and has been described in the Insight Journal paper

 "Optimizing ITK’s Registration Methods for Multi-processor, Shared-Memory Systems"
 http://hdl.handle.net/1926/566
 http://www.insight-journal.org/browse/publication/172

With this change, the metric

  • Mean Squares
  • Mattes Mutual Information

will now use the number of threads that you assign them. This will be, by default, equal to the number of cores in your computer.

Centered Pixel Consistency Enforced

  • The changes that were made to enforce the consistency of pixel coordinates computation are now permanent.
  • The code intended for backward compatibility (with the state in which ITK was computing coordinates inconsistently) has been removed.

Remove all Deprecated code

  • Source code that was labeled as deprecated was removed.

Some CMake Options Removed

The following CMake configuration options were removed

  • ITK_USE_REVIEW_STATISTICS
  • ITK_USE_OPTIMIZED_REGISTRATION_METHODS
  • ITK_USE_CONSOLIDATED_MORPHOLOGY
  • ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION
  • ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY
  • ITK_USE_DEPRECATED_FAST_MARCHING

ITKv4 Alpha-02

Adopted Uncrusty

The source code was processed using Uncrustify in order to reformat the coding style according to the following proposal

http://www.itk.org/Wiki/ITKv4_StyleChangeProposal


Updated openjpeg

The openjpeg library in the ITK/Utilities directory was updated to the openjpeg-v2 version of July 2010.

Updated jpeg

  • The jpeg library in the ITK/Utilities/itkjpeg directory was updated to the jpeg version 8b.
    • ITK 3.x use to ship a patch 6b (released in 1998) to provide both lossy jpeg and lossless jpeg.
    • This library (jpeg 6b) is now within the utilities of gdcm itself.
  • This update allows ITK to use system installed ijg and take advantages of the latest updates of this lib.

Updated to GDCM 2.0

Added JPEG2000ImageIO

An ImageIO class specialized on managing JPEG2000 files was added from the Insight Journal paper

Changed the License to Apache 2.0

  • The license was changed from BSD to Apache 2.0

Removed Patented Code

  • In order to abide by the terms of the Apache 2.0 license, patented source code was removed.

Moved QuadEdgeMesh out of Review

  • The QuadEdgeMesh and associated filters were moved out of the Review directory

CMake

  • FLAGS: The flag that controlled TEMPLATE METAPROGRAMMING for LOOP UNROLLING was removed
  • Changed all CMakeLists.txt files to use lowercase commands

Statistics Framework

  • MeasurementVectorTraits from the statistics package by migrating the GetLength and SetLength functions to NumericTraits.

ITKv4 Alpha-03

  • VNL was updated in the Utilities directory.

ITKv4 Alpha-04

  • Fixed the problem that prevented Windows 64 bits machines to manage image larger than 4 Gb.

ITKv4 Alpha-05

  • Introduced Real Time Stamps
  • Introduced GPU support infrastructure

ITKv4 Alpha-06

  • Modularization

ITKv4 Alpha-07

  • Suppressed Warnings from Third Party libraries

ITKv4 Beta

  • June 15 2011

Modularization

LevelSet Refactoring

DICOM Updates

Image Registration Refactoring

FEM Refactoring

Simple ITK

GPU Support