2013 Summer Project Week:Sample Data

From NAMIC Wiki
Jump to: navigation, search
Home < 2013 Summer Project Week:Sample Data

Key Investigators

  • Isomics: Steve Pieper
  • GE: Jim Miller
  • Kitware: Jean-Christophe Fillion-Robin
  • Noware: Bill Lorensen


Develop a plan so that modules (and extensions) can define sample data.

Approach, Plan

  • Build from ExternalData as currently used in CTest
    • Use URLs and hashes to identify the data
    • Support local caching to minimize downloads
    • Integrate into SampleData module GUI
  • Also consider related topic of CLI modules defining self-tests
    • refer to sample data, parameters, and baseline results
    • integrate these automatically into ctest and the SelfTests module


  • Reviewed and discussed the current CMake/CTest implementation of hash-based data access
    • Cannot reuse CMake implementation
    • Some features like git hooks not really needed
    • Ideally re-use the cache and naming conventions as much as possible
  • Reviewed ideas for adding testing and sample data tags to XML
    • Good idea and technically feasible, but can be independent of the sample data issue
  • The plan for now
    • Add an application-level (qSlicerApplication) container for Sample Data descriptions (name, URL, md5)
    • Scripted/Loadable modules can register their sample data resources
    • CLI factory can be augmented in the future to populate this container based on CLI tags
    • Add application functionality to manage cache to minimize re-download

Delivery Mechanism

This work will be delivered to the NA-MIC Kit as a Slicer module, ultimately integrated into the slicer core