Difference between revisions of "AHM2012-Slicer-Overview-and-Migration"
From NAMIC Wiki
m (Text replacement - "[http://www.na-mic.org/Wiki/images/" to "[https://na-mic.org/w/images/") |
|||
(22 intermediate revisions by 6 users not shown) | |||
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) [[AHM2012-Slicer-Introduction|Introduction]] |
** Capabilities | ** Capabilities | ||
** Release Schedule | ** Release Schedule | ||
** Goals | ** Goals | ||
** Ongoing Slicer4 projects and collaborations (NAC, NCIGT, CTK, Supplements...) | ** Ongoing Slicer4 projects and collaborations (NAC, NCIGT, CTK, Supplements...) | ||
− | * Jc (10 minutes) | + | * Jc (10 minutes) [[AHM2012-Slicer-Architecture|Architecture]] |
** Modularization Object Specialization | ** Modularization Object Specialization | ||
*** Qt Widgets <- CTK Widgets <- MRML Widgets <- Slicer Widgets | *** Qt Widgets <- CTK Widgets <- MRML Widgets <- Slicer Widgets | ||
Line 14: | Line 17: | ||
** Displayable Managers | ** Displayable Managers | ||
** Views and Layouts | ** Views and Layouts | ||
+ | |||
== Module Creation and Migration == | == Module Creation and Migration == | ||
− | * Steve (5 minutes) Module Wizard | + | * Steve (5 minutes) [https://www.slicer.org/wiki/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 | ||
− | * J2: Loadable Modules (20 minutes) | + | * J2: Loadable Modules [[File:LoadableModules.pptx]] (20 minutes) |
** Structure of a Loadable Module | ** Structure of a Loadable Module | ||
** Specialization of Module Classes | ** Specialization of Module Classes | ||
** Integration with Designer | ** Integration with Designer | ||
− | * Steve: Scripted Modules and Python Console (20 minutes) | + | * Steve: [[AHM2012-Slicer-Python|Scripted Modules and Python Console]] (20 minutes) |
** What is accessible via python | ** What is accessible via python | ||
− | ** Using the console | + | ** Using the console (See [http://vimeo.com/33236047 J2's excellent demo video]) |
** Writing a Scripted Module | ** Writing a Scripted Module | ||
*** PythonQt interface | *** PythonQt interface | ||
Line 33: | Line 37: | ||
** Refining the code and UI with slicerrc | ** Refining the code and UI with slicerrc | ||
** Limitations of python | ** Limitations of python | ||
− | * Demian: Whole Brain Tractography (10 minutes) | + | * Demian: [[Whole-Brain-Tractography-Wizard|Whole Brain Tractography]] (10 minutes) |
** Python wizard example | ** Python wizard example | ||
** Discussion of interactions among modules | ** Discussion of interactions among modules | ||
Line 39: | Line 43: | ||
== Testing Infrastructure == | == Testing Infrastructure == | ||
− | * Benjamin (20 minutes) | + | * Benjamin (20 minutes), [https://na-mic.org/w/images/e/ed/AHM-2012-SlicerTesting.pdf PDF] |
− | ** | + | ** What is QtTesting/How it work. |
− | ** | + | ** Tests for each widgets |
− | ** What | + | ** Limits : RenderWindow and GUI Testing |
+ | ** Slicer integration [http://www.na-mic.org/Wiki/index.php/File:DemoTuto2Slicer.mpeg Demo] | ||
+ | ** What's next ? | ||
+ | |||
== Documentation == | == Documentation == | ||
− | * Jc (10 minutes) | + | * Jc (10 minutes) [[AHM2012-Slicer-Documentation|Documentation]] |
** How to write end user documentation for your module | ** How to write end user documentation for your module | ||
** Source code naming and documentation style | ** Source code naming and documentation style | ||
** CMake documentaiton | ** CMake documentaiton | ||
+ | |||
== Extensions == | == Extensions == | ||
− | * Jc (20 minutes) | + | * Jc (20 minutes) [[AHM2012-Slicer-Extension|Extension]] |
** Writing an s4ext file | ** Writing an s4ext file | ||
** Testing your extension | ** Testing your extension | ||
** How users will access your extension | ** How users will access your extension |
Latest revision as of 18:27, 10 July 2017
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) Architecture
- 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)
- CLI Modules
- Creating a CLI from existing C++ code
- Migrating CLI Modules to ITK version 4
- J2: Loadable Modules File:LoadableModules.pptx (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), PDF
- What is QtTesting/How it work.
- Tests for each widgets
- Limits : RenderWindow and GUI Testing
- Slicer integration Demo
- What's next ?
Documentation
- Jc (10 minutes) Documentation
- How to write end user documentation for your module
- Source code naming and documentation style
- CMake documentaiton
Extensions
- Jc (20 minutes) Extension
- Writing an s4ext file
- Testing your extension
- How users will access your extension