NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware...

14
NA-MIC National Alliance for Medical Image Computing http://na-mic.org Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07

description

National Alliance for Medical Image Computing NA-MIC Kit Infrastructure Software process –CMake and CPack –CDash and CTest –Data management –High-performance computing Future work (NA-MIC Renewal)

Transcript of NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware...

Page 1: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

NA-MICNational Alliance for Medical Image Computing http://na-mic.org

Non-Interactive Tools

Stephen Aylward, Kitware 2010.01.07

Page 2: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Non-interactive tools

• Schizophrenia• Neurodevelopment• Austism• MRI, PET, MR Perf• Shape Analysis• TBI, HD• RadOnc,

Neurosurgery

• 3,224 commits• 914,446 lines of code• 68 developers• GPU, GRID• Modularity• Qt, KWWidgets• C++, Python, TCL• Mac, Windows, Linux

Software Process

Page 3: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

NA-MIC Kit Infrastructure

• Software process– CMake and CPack– CDash and CTest– Data management– High-performance computing

• Future work (NA-MIC Renewal)

Page 4: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Software processChallenges:

1. Provide effective resources for developers…and users2. Uphold community standards (quality, style, doc.)3. Minimize burden on developers…and users

Page 5: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

CMake and CPack• Summary

– Cross-platform build control from a single configuration file– Release Candidate 2.9– 1200 downloads per day– Users: KDE, Blizzard (WoW), Nvidia

• Features added– Library support: Qt, R– Superbuild: single run to download and configure multiple

libraries and executables

• Use cases– 3DSlicer, Teem, CLI Modules, MRML, 3DSlicer Qt

Page 6: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

CDash and CTest• Summary

– Regression testing on multiple platforms (OS, CPU, Compilers)– Popular: 100 projects freely hosted on cdash.org– Robust: Over 1,000 submissions to ITK’s dashboard fest

• Features added– CDash: new statistics, compression of historical data– CTest: parallel tests (ctest –j 8)

• Use cases– Over 100 tests added to Slicer in the past

few weeks– Coverage, Win7, Snow Leopard, …

Page 7: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Data management• PubDB (MIDAS / Insight Journal)• The Extensible Neuroimaging Archive Toolkit (XNAT)

– Management and exploration of neuroimaging and related data.– Secure database backend– Rich web-based user

interface– XNAT 1.4 RC3– XNAT Desktop (XND)

Page 8: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

XNAT• Features Added

– More robust QC modeling– REST and LDAP support.– Improved memory footprint and

efficiency.– Refactored Search UI in the

listing engine.– Prebuilt XNAT images using

VMWare and Virtualbox– xnatfs provides WebDav access

to XNAT instances

• Use cases– FetchMI, XNAT Desktop

Page 9: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

High-performance computing• GPU volume rendering• BatchMake

– Scripting multiple Slicer modules for grid computing

• Grid Wizard Enterprise (GWE)– Application scheduler that can run multiple (thousands)

modules simultaneously on clusters / grids.

Page 10: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

GWEFeatures added• Interactive experiments' results browser.

– Next generation: Record set explorer• 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.

Use Cases• Parameter space explorations, GWE MiniRetreats, Project Week

Page 11: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Future workMUCH, including:

1. Integrated project tracking– Goal: generate a comprehensive timeline of a project.– Integrate SVN, CMake, CTest, CDash, Wiki, and BugTracker

• E.g., Commit a code change:– wiki page is created for developer to describe the change,– related bug report is annotated, – subsequent dashboard changes are recorded, – all are linked from a central timeline

Page 12: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Future work (cont.)2. Centralized Test Management via CDash / MIDAS

integration– CDash operates as a master for Dashboard slaves

• Dashboard slaves set their availability and resources• CDash server allocates tests and testing data to the slaves

– Ensures testing of important configurations– More efficient use of available resources– Allocations can change nightly to cover complex combinations

CDash

Page 13: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Future work (cont.)3. IPython for interactive 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 = extensions to python for interactive distributed

computing• Threaded, grid, and distributed computing• Reduced setup and learning curve• Broad support

Page 14: NA-MIC National Alliance for Medical Image Computing  Non-Interactive Tools Stephen Aylward, Kitware 2010.01.07.

National Alliance for Medical Image Computing http://na-mic.org

Software processChallenges:

1. Provide effective resources for developers…and users2. Uphold community standards (quality, style, doc.)3. Minimize burden on developers…and users