ITK/Release Schedule: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
Line 48: Line 48:




== Release 3.16 Schedule ==
{| border="1"
|- bgcolor="#abcdef"
! Release Number !! Start Date !! End Date
|-
| Moving code from ITK Review Directory to final destination || June 15 2009 || Aug 7 2009
|-
| Reviewing Insight Journal (IJ) || June 15 2009 || July 31 2009
|-
| Selecting IJ papers || June 15 2009 || July 15 2009
|-
| Bug triage || Aug 1  2009 || Aug 15 2009
|-
| Moving IJ code into ITK Review Directory || June 15 2009 || Aug 7 2009
|-
| Feature freeze, fixing tests, code coverage || Aug 8 2009 || Sept 9 2009
|-
| CVS Tagging || Sept 9 2009 || Sept 9, 2009
|-
| Testing tarballs || Sept 10 2009 || Sept 10 2009
|-
| Posting tarballs || Sept 10 2009 || Sept 10 2009
|}
=== Insight Journal Papers to move to Review ===
* [http://www.insight-journal.org/browse/publication/176 Label object representation and manipulation with ITK] (65 classes). Provides most of the features of [http://insight-journal.org/browse/publication/301 A Label Geometry Image Filter for Multiple Object Measurement], but there are still a few ones not covered.
=== Review Articles to be Moved ===
Current suggested list:
* itkTransformReader
** (and associated factories)
* Multi-threaded Registration
* Consolidated Morphology
** These classes need a code walk through to review Method names, especially internally used names. There are several that do not conform to ITK naming conventions. (e.g. itkBoxUtilities: setConnectivityEarlyBox
* Binary Functor Filters
** AddConstant, DivideByConstant, MultiplyByConstant, SubtractConstantFrom





Revision as of 14:10, 8 October 2009

The next release is 3.18 scheduled for Jan 6 2010.

Release Life Cycle

Last period for adding classes and features

  • New classes will be selected from good reviews from the Insight Journal
  • New features and new methods can be added during this period.

Feature Freeze

  • Increase code coverage
    • address any UNTESTED files
    • address files with code coverage lower than 80%
  • Address Run-time memory issues
    • Purify reports
    • Valgrind reports

CVS Tagging

The repository is tagged by using two tags, one for the reference, and another for the branch.

Posting Tarballs

  • Tarballs are posted to SourceForge
  • Tarballs are linked from the ITK Download













Release 3.18 Schedule

Release Number Start Date End Date
Moving code from ITK Review Directory to final destination Oct 1 2009 Nov 15 2009
Reviewing Insight Journal (IJ) Oct 1 2009 Nov 1 2009
Selecting IJ papers Oct 15 2009 Nov 1 2009
Bug triage Oct 1 2009 Oct 15 2009
Moving IJ code into ITK Review Directory Nov 1 2009 Dec 14 2009
Feature freeze, fixing tests, code coverage Dec 15 2009 Jan 8 2010
CVS Tagging January 8 2010 January 8, 2010
Testing tarballs January 9 2010 January 9 2010
Posting tarballs January 10 2010 January 10 2010

Insight Journal papers to Move for ITK 3.18

Check-list for Moving Code from IJ to Review and from Review

For IJ Articles To Review

  • Responsible developer should add a review before moving into local copy of Review. Please provide authors with feedback regarding changes that were made to conform to ITK style/documentation etc.

For Adding Images to Input or Baseline

  • Images should be SMALL.
    • The source tree is not an image database, but a source code repository.
    • Adding an image larger than 50Kb should be justified by a discussion in the Developers list
    • Make sure that you use the "cvs add -kb" option when adding binary files to the CVS repository.
  • Regression images should not use Analyze format unless the test is for the AnalyzeImageIO and related classes.
  • Images should use non-trivial Metadata.
    • Origin should be different form zeros
    • Spacing should be different from ones, and it should be anisotropic
    • Direction should be different from Identity

For Moving Code From Review

  • At least one independent (other than contributor) should sign off on the API
  • Coverage should be as close to 100% as possible.
    • and never lower than 90%.
    • For example, itkTransformIOBase.cxx is only at 63% coverage. Should be easily fixed by adding a Print() to one of the tests.

For All

  • Check all comments for proper English
  • Should pass KWStyle. IJ articles should be checked with KWStyle before checking into repository.
  • Should pass PrintSelf. IJ articles should pass PrintSelf check before checking into repository.
  • ITK_EXPORT should appear in each class definition. This triggers the PrintSelf checker.
  • Replace itkGetMacro with itkGetConstMacro.
  • Header file should contain Insight Journal citation
    • Using the "handle" link.
  • Use vcl verions of all transcendental functions.
    • For example, itkGaborKernelFunction used sin() and cos() rather than vcl_sin() and vcl_cos().
  • Progress should be present for all filters. Use itk::SimplerFilterWatcher to exercise progress and PrintSelfs.
  • When appropriate, class should handle image directions. Tests should use non-default values for origin, spacing and dimension.
    • GaborImageSource did not provide methods to set/get directions.
  • Regression tests names should when possible have the same name as the test.
  • Exceptions should be descriptive and provide as much information as possible
  • Member data should be private with access if required through Get methods.

Release History