ITK/Release 4/Migration Plan/Phases
From KitwarePublic
< ITK | Release 4 | Migration Plan(Redirected from ITK Release 4/Migration Plan/Phases)
Jump to navigationJump to search
Overview
We propose a Transition Plan that includes the following six phases
- Phase I: Sequestering Reference Applications
- Phase-II: Basic Clean Up
- Phase-III: Update CMake Flags
Phase-I: Sequestering Reference Applications
Fork, Freeze and Sequester Reference ITK-Exercising Code
- ITK Testing directory
- ITK Examples directory
- Insight Applications
- Slicer3 clone
- ITK-SNAP clone
- Brains clone
- Farsight Toolkit clone
- GoFigure2 clone
Configure them all to submit Nightly builds to the TKv4 External Builds section of the ITK Dashboard.
This will be the reference for Backward Compatibility.
From now on, classes that break these tests, must provide Migration Form (**) before they make it into Master.
Phase-II: Basic Clean Up
- Release ITK 3.20: July 15
- Fork ITK 3.20 into a Git repository
- Remove work-arounds for lack of partial specialization
- Remove conditional code related to deprecated compilers
- VS6, VS7, BCC 5.5, Sun CC, IRIX
- Remove over-sized image data files from
- Testing/Data/Input and Examples/Data
- (any image larger than 100K)
- This is done to avoid the large size of a Git repository with history.
- or remove them All (?) and move them to a downloadable module ?
- Testing/Data/Input and Examples/Data
Phase-III: Update CMake Flags
- Update CMake requirement to 2.8.2
- Move CMake Flags defaults forward:
- Consolidated Morphology ON
- ITK_USE_REVIEW:BOOL=ON
- ITK_USE_REVIEW_STATISTICS:BOOL=ON
- ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=ON,
- ITK_USE_PORTABLE_ROUND:BOOL=ON
- ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON
- ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=ON
- Or remove the flags altogether and remove the code that corresponds to their OFF behavior.
Phase-IV: Update third party libraries
- Update GDCM 1.2 to GDCM 2.0
- Update OpenJpeg to V2
- Add JPEG2000ImageIO (from NAMIC Sandbox)
- Update TIFF
- Update PNG
- Update JPEG
Phase-V: Create Topic Branches
- Fork Git and create topic branch for WrapITK team
- Fork Git and create topic branch for Level Sets team
- Fork Git and create topic branch for Registration team
- Fork Git and create topic branch for SimpleITK team
- Create Emtpy Git Master Repository
- Implement Stringent Testing Infrastucture in Master
Phase-VI: Modularize
- Move Code/Review directory to a separate module.
- Review Kernel classes
- Move Kernel classes into Master
- Define groups for Core Modules
- For i to N: Review Module: Move Module into Master
- Configure CMake acquisition of modules outside Core
- Release ITK 4.0: Beta