Difference between revisions of "AHM2012-Slicer-Overview-and-Migration"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
  [[AHM_2012#Agenda|Back to AHM Schedule]]
 
  [[AHM_2012#Agenda|Back 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.
 
This session is for all developers planning to migrate existing slicer3 modules to slicer4 or start a new project from scratch in slicer4.
 +
 +
 
==Overview and Architecture==
 
==Overview and Architecture==
 
* Steve (10 minutes)
 
* Steve (10 minutes)

Revision as of 14:16, 17 December 2011

Home < AHM2012-Slicer-Overview-and-Migration
Back 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.


Overview and Architecture

  • Steve (10 minutes)
    • 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

Module Creation and Migration

  • Steve (5 minutes) Module Wizard
  • Jim (10 minutes)
    • 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
    • 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