Difference between revisions of "2013 Summer Project Week:Sample Data"

From NAMIC Wiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 16: Line 16:
  
 
<h3>Objective</h3>
 
<h3>Objective</h3>
Develop a plan so that modules can define sample data.
+
Develop a plan so that modules (and extensions) can define sample data.
 
</div>
 
</div>
  
Line 36: Line 36:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
* .
+
* 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
  
 
'''To do''':
 
  
 
</div>
 
</div>

Latest revision as of 14:18, 21 June 2013

Home < 2013 Summer Project Week:Sample Data

Key Investigators

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

Objective

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


Progress

  • 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


References