Difference between revisions of "AHM2010:Non-interactive-tools"

From NAMIC Wiki
Jump to: navigation, search
Line 69: Line 69:
  
 
= Renewal =
 
= Renewal =
 +
 +
== Centralized Testing ==
 +
* CDash operates as a master for CTest slaves
 +
** slaves set their availability and resources
 +
** CDash server allocates tests to the slaves
 +
** Ensures testing of important configurations
 +
** More efficient use of available resources
 +
** Test combinations can change nightly to cover complex combinations
  
 
== Integrated project tracking ==
 
== Integrated project tracking ==

Revision as of 18:20, 2 January 2010

Home < AHM2010:Non-interactive-tools

Back to AHM 2010

CMake / CPack

Summary

  • Release candidate 2.9
  • 1200 downloads per day
  • Users: KDE, Blizzard, NVidia, ...

Features added

  • Library support: Qt, R, ...
  • Superbuild: single run to download and install multiple libraries and executables

Use cases

  • 3DSlicer, Teem, CLI Modules, MRML, ...

Related funding

  • ARL, ITK, LANL, Sandia, ...

CDash / CTest

Summary

  • CDash rewritten
    • Php, Mysql
  • 100 projects freely hosted on cdash.org
  • Over 300 submissions to ITK's dashboard on ITK's 10th birthday

Features added

  • CDash
    • New statistics generated
    • Compression
  • CTest
    • Parallel test (ctest -j)
    • Dependencies

Use cases

  • Over 100 tests added to Slicer
  • Increasing code coverage
  • Nightly testing on linux, Mac, windows

Related funding

  • ARL, ITK, Sandia, LANL, ...

Grid Wizard Engine

Summary

Features added

Use cases

Related funding

BatchMake

Summary

  • Scripted description of a processing pipeline that can be applied to a large collection of images or to a large collection of parameter values.

Features added

Use cases

  • UNC SBIR, see below
  • Registration module testing

Related funding

  • UNC, Phase 2 SBIR with Kitware: High throughput murine image analysis
    • Slicer modules executed on a grid when mouse MRI are uploaded to a MIDAS server
    • DTI analysis, atlas-based segmentation, brain morphormetry

Renewal

Centralized Testing

  • CDash operates as a master for CTest slaves
    • slaves set their availability and resources
    • CDash server allocates tests to the slaves
    • Ensures testing of important configurations
    • More efficient use of available resources
    • Test combinations can change nightly to cover complex combinations

Integrated project tracking

  • SVN, CMake, CPack, CTest, CDash, Wiki, and BugTracker will be extended to report to a central server
  • Generates a comprehensive timeline of a project.
  • Example use cases
    • Commit a code change and a report is sent to the server indicating
      • files changed, by whom, on what date,
      • changes to the dashboard that resulted from the commit,
      • wiki page changes made by that author around that date/time,
      • bug associated with that commit

iPython for distributed computing

  • Python chosen as a favored scripting language for Slicer
    • VTK and Qt are well supported by python
    • ITK v4 will have python as a target language
    • Considered perl (biologists), tcl (comp sci), BatchMake, JavaScript, ...
  • iPython contains extensions to python for threaded, grid, and distributed computing
    • Reduced setup and learning curve
    • Broad support