Documentation/4.4/Developers/Tutorials/UploadTestData

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < 4.4 < Developers < Tutorials < UploadTestData


For the latest Slicer documentation, visit the read-the-docs.


Introduction

Slicer has adopted MIDAS to store testing and algorithm validation dataset. For this purpose, we have created a dedicated NA-MIC MIDAS community

In the NA-MIC community Slicer/Data folder, you will find:

To organize the test data based on Slicer major release, you will find sub folders like:

  • Nightly
  • 4.2
  • 4.3

Test data are expected to be stored in folders like:

  • Data/Application/Nightly/Testing/Baseline
  • Data/Application/Nightly/Testing/Input
  • Data/Modules/<NameOfYourModule>/Nightly/Testing/Baseline
  • Data/Modules/<NameOfYourModule>/Nightly/Testing/Input
  • Data/Application/X.Y/Testing/Baseline
  • Data/Application/X.Y/Testing/Input
  • Data/Modules/<NameOfYourModule>/X.Y/Testing/Baseline
  • Data/Modules/<NameOfYourModule>/X.Y/Testing/Input

where

  • <NameOfYourModule>: name of the folder in the source repository, it should also match the module pages created on the slicer wiki.
  • Input: Used to store testing input data.
  • Baseline: Used to store the baseline images for regression tests.

Upload test data

  1. Create an account on the extension server: http://slicer.kitware.com by clicking on the Register link in the top right corner

  2. Slicer-midas-extensions-server-registration.png

    This image shows the top portion of http://slicer.kitware.com after it has been expanded by clicking the Register button.

  3. Go to NA-MIC community and click on Join community

  4. Send an email on the developer list asking to be added to the DataManager group on NA-MIC community. That will grant you read/write permissions to the Data folder and sub-folders.
  5. Create a sub folder for your Module.
  6. Create a Nightly sub-folder.
  7. Upload data in folders Nightly/Testing/Baseline and Nightly/Testing/Input

FAQ

What happen when Slicer is released ?

Each time a release of Slicer is done, for both the Application and Modules/<NameOfYourModule> folders, the current Nightly is copied into an X.Y folders where X and Y corresponds to the major and minor release number of Slicer.

Should data for extension be organized differently ?

For now, let's keep all of them at the same level. We will have to coordinate with the development of the release script allowing to version the Data tree. See here

It means if you develop an extension named Salad bundling two modules respectively named Tomato and Mozzarella, the following folders would have to be created:

  • Data/Modules/Tomato/Nightly/Testing/Baseline
  • Data/Modules/Tomato/Nightly/Testing/Input
  • Data/Modules/Mozzarella/Nightly/Testing/Baseline
  • Data/Modules/Mozzarella/Nightly/Testing/Input

Consider also monitoring issue #2722: Think about organization of Data/Modules directory on midas to accomodate extension relationship