ITK/Release Schedule: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) |
||
Line 44: | Line 44: | ||
Revision as of 14:09, 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.14 Schedule
Release Number | Start Date | End Date |
---|---|---|
Moving code from ITK Review Directory to final destination | March 15 2009 | May 24 2009 |
Reviewing Insight Journal (IJ) | March 15 2009 | May 15 2009 |
Selecting IJ papers | April 1 2009 | May 15 2009 |
Bug triage | April 1 2009 | April 7 2009 |
Moving IJ code into ITK Review Directory | April 1 2009 | May 24 2009 |
Feature freeze, fixing tests, code coverage | May 25 2009 | May 29 2009 |
CVS Tagging | May 30 2009 | May 30, 2009 |
Testing tarballs | May 30 2009 | May 30 2009 |
Posting tarballs | May 31 2009 | May 31 2009 |
Insight Journal Papers to move to Review
Current suggested list:
Part A
- These two papers provide similar functionalities:
- A Novel Information-Theoretic Point-Set Measure Based on the Jensen-Havrda-Charvat-Tsallis Divergence(related to paper 317)
- Automatic Junction Detection for Tubular Structures
- Combining labeled images with ITK
- Lorensen has started on this one.
- Computational Geometry Computation and KNN Segmentation in ITK
- Digital Topology
- Lots of comments from Gaetan. He has already addressed many issues with the code. Be sure to use his updated code.
- Sadely, I found some quite important problems while working on this code, like some non thread safe methods. Richard has started some similar work which may be less problematic. Glehmann 20:09, 25 April 2009 (UTC)
- Direct Fourier Tomographic Reconstruction Image-To-Image Filter
- Wes Turner has downloaded this and is preparing it for addition to review.
- Exporting Contours to DICOM-RT Structure Set
- Fast BlockMatching Registration with Entropy-based Similarity
- Fast Marching Minimal Path Extraction in ITK
- Flux driven medial curve extraction
- Generating a Deformation Field from a Transform
- Needs copyright clarification
- This class has already been moved to review in July 2008 (cvs log)
- Go-Go Gabor Gadgetry
- Lorensen has already downloaded this and is preparing for addition to Review
- Graph Cuts, Caveat Utilitor, and Euler's Bridges of Konigsberg(Verify Patent Status)(Siemens Patent)
- Gridding Graphic Graticules
- Lorensen has already downloaded this and is preparing for addition to Review
- Add a combination of these two helper classes:
- ITK Implementation Of The Minimum Error Image Thresholding Algorithm
- ITK Order K Distance Transform
- Image registration using the Morphon algorithm: an ITK implementation
Part B
- ImageNetworkReader: an ITK Class for Loading Images Across a Network
- Implementation of a 3D thinning algorithm
- Implementation of weighted Dijkstra’s shortest-path algorithm for n-D images
- Implementing the Automatic Generation of 3D Statistical Shape Models with ITK
- Improvements to the itk::KernelTransform and Subclasses(almost a bug fix)
- Incorporating Metric Flows and Sparse Jacobian Transformations in ITK
- Information-Theoretic Directly Manipulated Free-Form Deformation Labeled Point-Set Registration(Postpone for next release to allow for modification).(related to paper 304)
- Label object representation and manipulation with ITK (65 classes). Provides most of the features of A Label Geometry Image Filter for Multiple Object Measurement, but there are still a few ones not covered.
- Level Set Segmentation: Active Contours without edge (10~20 classes)(combine with paper 323) (Karthik)(Alex & Arnaud have newer code)
- Live-Wire-ing the Insight Toolkit with Intelligent Scissors (1~2 classes)
- LookAt Transform Initializer and Oblique Section Image Filter (1 class)
- Meeting Andy Warhol Somewhere Over the Rainbow: RGB Colormapping and ITK (1~2)(**)(Michel Audette)
- Microscopy Image Analysis: Blob Segmentation using Geodesic Active Contours (Check if it can be merged with the Lesion Sizing Toolkit).(Wes Turner)
- Non-negative matrix factorization framework for dimensionality reduction and unsupervised clustering(3 classes) (Wes Turner)
- Non-rigid Groupwise Registration using B-Spline Deformation Model
- Phase Correlation Method for ITK(~10 classes) (Wes Turner)
- Polar Transforms for ITK(1 class)
- Reader/Writer for Analyze Object Maps for ITK(4 classes)
- Run-Length Matrices For Texture Analysis
- Stochastic Fractal Dimension Image(~2 classes) (Michel Audette/Luis Ibanez)(DONE)
- itkEllipseBoundaryToImageFilter(1 class)(Michel Audette)
- level set segmentation using coupled active surfaces(Relates to paper 322) (Karthik)(Alex and Arnaud have newer code)
- Some extra image logical operations
Release 3.16 Schedule
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
- Label object representation and manipulation with ITK (65 classes). Provides most of the features of 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
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
- http://www.insight-journal.org/browse/publication/640
- http://hdl.handle.net/10380/3053 N4ITK: "Nick's N3 ITK Implementation For MRI Bias Field Correction"
- http://www.insight-journal.org/browse/publication/698
- http://hdl.handle.net/10380/3129 "An Optimized N-Dimensional Hough Filter for Detecting Spherical Image Objects"
- http://www.insight-journal.org/browse/publication/321
- http://hdl.handle.net/1926/1531 "Microscopy Image Analysis: Blob Segmentation using Geodesic Active Contours"
- http://www.insight-journal.org/browse/publication/145
- http://hdl.handle.net/1926/494 "Improvements to the itk::KernelTransform and Subclasses"
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.