Difference between revisions of "2013 Project Week Breakout Session:Slicer4Python"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
  [[2013_Summer_Project_Week#Agenda|Back to Summer project week Agenda]]
 
  [[2013_Summer_Project_Week#Agenda|Back to Summer project week Agenda]]
  
==Goals==
+
=Goals=
  
Demonstrate the development of a python scripted slicer module:
+
Demonstrate the development of a python scripted slicer module.  Also provide "A Guide to Python in Slicer for the Casual Power User".  This walkthrough of the features of slicer should give you an idea how to make a custom module that helps organize and automate your processing.  This can be useful for your own research or you can create helper modules that simplify the work for users who are exploring an algorithm or working with a large set of studies.
* Creating module from template with ModuleWizard
+
 
* Configuring slicer to use the module
+
=Topics=
* Basic Development Cycle
+
==Creating module from template with ModuleWizard==
** Edit / Reload the code
+
== Configuring slicer to use the module==
** Develop self-tests
+
== Basic Development Cycle==
** Refine functionality
+
=== Edit / Reload the code===
** Document
+
== Develop self-tests ==
* Package as extension
+
== Refine functionality ==
* The hard parts
+
== Document ==
** building the GUI
+
= Package as extension =
** finding the right slicer class/calls to implement what you want
+
= The hard parts =
** debugging
+
== building the GUI ==
** optimizing performance
+
== finding the right slicer class/calls to implement what you want ==
* Special Topics
+
== debugging ==
** The slicer architecture
+
== optimizing performance ==
*** the qSlicerApplication
+
= Special Topics =
*** the vtkSlicerApplicationLogic
+
== The slicer architecture ==
*** the vtkMRMLScene
+
=== the qSlicerApplication ===
*** slicer.modules
+
=== the vtkSlicerApplicationLogic===
*** slicer.util
+
=== the vtkMRMLScene===
** Manipulating the slicer session via python
+
=== slicer.modules===
** Working with python modules that are not bundled with slicer's binary distribution
+
=== slicer.util===
 +
== Manipulating the slicer session via python ==
 +
== Working with python modules that are not bundled with slicer's binary distribution ==

Revision as of 14:48, 12 June 2013

Home < 2013 Project Week Breakout Session:Slicer4Python
Back to Summer project week Agenda

Goals

Demonstrate the development of a python scripted slicer module. Also provide "A Guide to Python in Slicer for the Casual Power User". This walkthrough of the features of slicer should give you an idea how to make a custom module that helps organize and automate your processing. This can be useful for your own research or you can create helper modules that simplify the work for users who are exploring an algorithm or working with a large set of studies.

Topics

Creating module from template with ModuleWizard

Configuring slicer to use the module

Basic Development Cycle

Edit / Reload the code

Develop self-tests

Refine functionality

Document

Package as extension

The hard parts

building the GUI

finding the right slicer class/calls to implement what you want

debugging

optimizing performance

Special Topics

The slicer architecture

the qSlicerApplication

the vtkSlicerApplicationLogic

the vtkMRMLScene

slicer.modules

slicer.util

Manipulating the slicer session via python

Working with python modules that are not bundled with slicer's binary distribution