ITK/Release 4/Migration Plan/Phases: Difference between revisions
From KitwarePublic
< ITK | Release 4 | Migration Plan
Jump to navigationJump to search
(Created page with '= 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 C…') |
Daviddoria (talk | contribs) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
* Phase-II: Basic Clean Up | * Phase-II: Basic Clean Up | ||
* Phase-III: Update CMake Flags | * Phase-III: Update CMake Flags | ||
= Phase-I: Sequestering Reference Applications = | = Phase-I: Sequestering Reference Applications = | ||
Line 16: | Line 15: | ||
* Insight Applications | * Insight Applications | ||
* Slicer3 clone | * Slicer3 clone | ||
* ITK-SNAP | * ITK-SNAP clone | ||
* Brains 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. | Configure them all to submit Nightly builds to the TKv4 External Builds section of the ITK Dashboard. | ||
Line 24: | Line 25: | ||
From now on, classes that break these tests, must provide Migration Form (**) before they make it into Master. | From now on, classes that break these tests, must provide Migration Form (**) before they make it into Master. | ||
= Phase-II: Basic Clean Up = | = Phase-II: Basic Clean Up = | ||
Line 50: | Line 50: | ||
** ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON | ** ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON | ||
** ITK_USE_TRANSFORM_IO_FACTORIES: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 |
Latest revision as of 16:00, 9 December 2011
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