Difference between revisions of "AHM2012-Slicer-Overview-and-Migration"
From NAMIC Wiki
Line 21: | Line 21: | ||
* Steve (5 minutes) [http://www.slicer.org/slicerWiki/index.php/Documentation/4.0/Developers/ModuleWizard Module Wizard] | * Steve (5 minutes) [http://www.slicer.org/slicerWiki/index.php/Documentation/4.0/Developers/ModuleWizard Module Wizard] | ||
* Jim (10 minutes) | * Jim (10 minutes) | ||
− | ** CLI Modules | + | ** [Media:Slicer4 CLI.ppt|CLI Modules] |
** Creating a CLI from existing C++ code | ** Creating a CLI from existing C++ code | ||
** Migrating CLI Modules to ITK version 4 | ** Migrating CLI Modules to ITK version 4 |
Revision as of 23:40, 7 January 2012
Home < AHM2012-Slicer-Overview-and-MigrationBack to AHM Schedule
Tuesday, January 10, 2012 8 to 10am This session is for all developers planning to migrate existing slicer3 modules to slicer4 or start a new project from scratch in slicer4.
Contents
Overview and Architecture
- Steve (10 minutes) Introduction
- Capabilities
- Release Schedule
- Goals
- Ongoing Slicer4 projects and collaborations (NAC, NCIGT, CTK, Supplements...)
- Jc (10 minutes)
- Modularization Object Specialization
- Qt Widgets <- CTK Widgets <- MRML Widgets <- Slicer Widgets
- vtkObject <- MRMLLogic <- Module Logic
- Displayable Managers
- Views and Layouts
- Modularization Object Specialization
Module Creation and Migration
- Steve (5 minutes) Module Wizard
- Jim (10 minutes)
- [Media:Slicer4 CLI.ppt|CLI Modules]
- Creating a CLI from existing C++ code
- Migrating CLI Modules to ITK version 4
- J2: Loadable Modules (20 minutes)
- Structure of a Loadable Module
- Specialization of Module Classes
- Integration with Designer
- Steve: Scripted Modules and Python Console (20 minutes)
- What is accessible via python
- Using the console (See J2's excellent demo video)
- Writing a Scripted Module
- PythonQt interface
- Logic with vtk/vtkITK/CLI Modules
- Accessing MRML Data via numpy
- Refining the code and UI with slicerrc
- Limitations of python
- Demian: Whole Brain Tractography (10 minutes)
- Python wizard example
- Discussion of interactions among modules
- How to build on the dMRI module
Testing Infrastructure
- Benjamin (20 minutes)
- Writing and Running Module Tests
- Creating GUI Tests
- What your modules/widgets need to do in order to support automated UI testing
Documentation
- Jc (10 minutes)
- How to write end user documentation for your module
- Source code naming and documentation style
- CMake documentaiton
Extensions
- Jc (20 minutes)
- Writing an s4ext file
- Testing your extension
- How users will access your extension