ITK/Release 4 Planning: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
 
(32 intermediate revisions by 10 users not shown)
Line 1: Line 1:
= ITK Version 4 =
= ITK Version 4 =
This work is supported by ARRA funding from the NLM. The [http://visual.nlm.nih.gov/itk/itk2010/agenda.html kick-off meeting] for this project took place from June 28-July 2 2010 in Bethesda. A beta version of the software will be available by the end of March 2011. Bug fixes will continue to be contributed to the ITK version 3 code.  
This work is supported by ARRA funding from the NLM. The [http://visual.nlm.nih.gov/itk/itk2010/agenda.html kick-off meeting] for this project took place from June 28-July 2 2010 in Bethesda. A beta version of the software will be available by the end of March 2011. Bug fixes will continue to be contributed to the ITK version 3 code.  
== Download ==
* [[ITK_Release_4/Download|Download]]
== Release Notes ==
* [[ITK_Release_4/Migration Plan/Release Notes|Release Notes]]
== LICENSE Change ==
Starting with ITKv4-Alpha-01, the ITK toolkit is distributed under the Apache 2.0 License.
More details here:
* [[ITK_Release_4/Licensing|Licensing]]


== Revision Control ==
== Revision Control ==


* Adopt a modern revision control system
* Adopt a modern revision control system
** Move from cvs to [[ITK/Git|git for distributed source code management]]
** Move from cvs to [http://git-scm.com git] for distributed source code management
** [[ITK/Git|ITK Git Instructions]]


== Code Review ==
== Code Review ==


* Adopt a code review system
* Adopt a code review system
** [[ITK/Gerrit|Gerrit]]
** [http://review.source.kitware.com/p/ITK ITK Gerrit]
** [[ITK/Gerrit/Primer|Gerrit primer]]
** Powered by [http://code.google.com/p/gerrit/ Gerrit Code Review]
** powered by [http://code.google.com/p/gerrit/ gerrit]


== Modern C++ ==
== Modern C++ ==
* [[ITK_Release_4/Modern C++|Modern C++]]


* Take advantage of advances in C++
* Take advantage of advances in C++
** Target popular compilers that are compatible with the C++98 and/or C++03 standard (http://en.wikipedia.org/wiki/C%2B%2B03#Language_standard).   
** Target popular compilers that are compatible with the C++98 and/or C++03 standard (http://en.wikipedia.org/wiki/C%2B%2B03#Language_standard).   
** Specifically remove support for Visual Studio prior to 7.1 (e.g., 6 and 7.0),  Borland version 5.5, Sun Studio compilers prior to 5.9, IRIX compilers, MWORKS compilers, and gcc prior to 3.4
** Specifically remove support for Visual Studio prior to 7.1 (e.g., 6 and 7.0),  Borland version 5.5, Sun Studio compilers prior to 5.9, IRIX compilers, MWORKS compilers, cygwin 1.5 (newer versions may work, but are not being targeted), and gcc prior to 3.4


== Wrapping ==
== Wrapping ==
Line 34: Line 51:
* Refactor for [[ITK_Release_4/Modularization|Modularity]]
* Refactor for [[ITK_Release_4/Modularization|Modularity]]
** ITKCore, ITKRegistrationModule, and Optional Modules
** ITKCore, ITKRegistrationModule, and Optional Modules
== Testing Crowdsourcing ==
* [[ITK_Release_4/Testing_Crowdsourcing|Testing Crowdsourcing]]


== Improve Software Process ==
== Improve Software Process ==
Line 42: Line 63:


* Better management for [[ITK_Release_4/Testing Data|Testing Data]]
* Better management for [[ITK_Release_4/Testing Data|Testing Data]]
* Data Collection [[ITK_Release_4/Data Collection|MIDAS]]
=== Distributed Testing (cdash@home) ===
* Testing On Demand [[ITK_Release_4/Testing On Demand|cdash@home]]


=== Testing Framework ===
=== Testing Framework ===
Line 47: Line 73:
* [[ITK_Release_4/UnitTesting|New unit testing framework]] based on [http://code.google.com/p/googletest/ Google Test]
* [[ITK_Release_4/UnitTesting|New unit testing framework]] based on [http://code.google.com/p/googletest/ Google Test]
** Particularly to support module development, testing, and maintenance
** Particularly to support module development, testing, and maintenance
=== Coding Style ===
* [[ITK_Release_4/Coding Style|Coding Style]]


== Revise ==
== Revise ==
Line 70: Line 100:


* [[ITK_Release_4/Enhancing Image Registration Framework|Enhancing Image Registration Framework]]
* [[ITK_Release_4/Enhancing Image Registration Framework|Enhancing Image Registration Framework]]
=== Spatial Objects ===
* [[ITK_Release_4/SpatialObjects | Spatial Object Refactoring project page]]
=== Global Code Review ===
* [[ITK_Release_4/Global_Code_Review | Global Code Review]]


== Accelerate ==
== Accelerate ==
Line 75: Line 113:
=== GPU ===
=== GPU ===


* Add streaming for GPU-based data/methods
 
* [[ITK_Release_4/GPU Acceleration|GPU Acceleration - V4]]
** With support for distributed computing in the future
** With support for distributed computing in the future
* [[GPU_Acceleration_-_V4|GPU Acceleration - V4 (deprecated link)]]
=== Numerical Libraries ===
* [[ITK_Release_4/Refactor Numerical Libraries|Refactor Numerical Libraries]]
== Release schedules ==
* [[ITK Release 4/ReleaseSchedules|Release Schedules]]
= The Team =
[[ITK_Release_4/The Team|The Team]]


= Wish List =
= Wish List =
Line 82: Line 136:
[[ITK_Release_4/Wish List|Wish List]]
[[ITK_Release_4/Wish List|Wish List]]


= Migration Plan =
= Migration Plan (Developers) =


[[ITK_Release_4/Migration Plan|Migration Plan]]
[[ITK_Release_4/Migration Plan|Migration Plan]]
= Migration Guide (for Users) =
[[ITK_Release_4/Users Migration Guide|Users Migration Guide]]
= Software Guide (Update) =
[[ITK_Release_4/Software Guide Update|Software Guide Update]]


= A2D2 Projects =
= A2D2 Projects =
Line 97: Line 159:
* [[ITK_Release_4/Microscopy|Microscopy]]
* [[ITK_Release_4/Microscopy|Microscopy]]
* [[ITK_Release_4/Remote Sensing|Remote Sensing]]
* [[ITK_Release_4/Remote Sensing|Remote Sensing]]
* [[ITK_Release_4/Deconvolution Algorithms|Deconvolution Algorithms]]


= Discussion Points =
= Discussion Points =


[[ITK_Release_4/Discussion Points|Discussion Points]]
[[ITK_Release_4/Discussion Points|Discussion Points]]
= Outreach =
[[ITK_Release_4/Outreach|Outreach]]
= New Code Contribution Process =
[[ITK_Release_4/New_Code_Contribution_Process|New Code Contribution Process]]

Latest revision as of 15:59, 20 January 2012

ITK Version 4

This work is supported by ARRA funding from the NLM. The kick-off meeting for this project took place from June 28-July 2 2010 in Bethesda. A beta version of the software will be available by the end of March 2011. Bug fixes will continue to be contributed to the ITK version 3 code.

Download

Release Notes

LICENSE Change

Starting with ITKv4-Alpha-01, the ITK toolkit is distributed under the Apache 2.0 License.

More details here:

Revision Control

  • Adopt a modern revision control system

Code Review

Modern C++

  • Take advantage of advances in C++
    • Target popular compilers that are compatible with the C++98 and/or C++03 standard (http://en.wikipedia.org/wiki/C%2B%2B03#Language_standard).
    • Specifically remove support for Visual Studio prior to 7.1 (e.g., 6 and 7.0), Borland version 5.5, Sun Studio compilers prior to 5.9, IRIX compilers, MWORKS compilers, cygwin 1.5 (newer versions may work, but are not being targeted), and gcc prior to 3.4

Wrapping

  • Improved ITK Wrapping at the class level (WrapITK)
    • Wrapping
    • Particularly for Python 2.x, Python 3, Java and C#

Simplify

Modularize

  • Refactor for Modularity
    • ITKCore, ITKRegistrationModule, and Optional Modules

Testing Crowdsourcing

Improve Software Process

  • Enhanced project management tools and software processes

Data Management

Distributed Testing (cdash@home)

Testing Framework

Coding Style

Revise

FEM

Level Sets

DICOM

  • Improved DICOM support
    • DICOM
    • Including communications with PACS
    • Support Streaming interface
    • Add filter to support Siemens MOSAIC images
    • Information Object Definition verification

Image Registration Framework

Spatial Objects

Global Code Review

Accelerate

GPU


Numerical Libraries

Release schedules

The Team

The Team

Wish List

Wish List

Migration Plan (Developers)

Migration Plan

Migration Guide (for Users)

Users Migration Guide

Software Guide (Update)

Software Guide Update

A2D2 Projects

A2D2 Projects

New Fields

ITKv4 will provide improved support for

Discussion Points

Discussion Points

Outreach

Outreach

New Code Contribution Process

New Code Contribution Process