AHM2010:Non-interactive-tools

From NAMIC Wiki
Jump to: navigation, search
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 1,000 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

  • Interactive experiments' results browser.
  • CSV and generated commands dumps and preview.
  • Support for LSF and Lava cluster DRMs.
  • Ability to override auto-discovered DRMs with configured ones.
  • Ability to override default database installation location.
  • Function to extract experiments' parameters from text files.
  • Operations to delete, pause and resume experiments.
  • Recommended to watch: 5 minutes demo video.
  • Record set explorer

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