Difference between revisions of "2011 Winter Project Week: Python and Slicer4"

From NAMIC Wiki
Jump to: navigation, search
(Created page with '__NOTOC__ <gallery> Image:PW-SLC2011.png|Projects List </gallery> ==Key Investigators== * Jc, Danielle - Kitware * Jim - GE * Steve - Isomi…')
 
Line 10: Line 10:
  
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
<div style="width: 27%; float: left; padding-right: 3%;">
+
<div style="width: 17%; float: left; padding-right: 3%;">
  
 
<h3>Objective</h3>
 
<h3>Objective</h3>
Line 17: Line 17:
 
</div>
 
</div>
  
<div style="width: 27%; float: left; padding-right: 3%;">
+
<div style="width: 37%; float: left; padding-right: 3%;">
  
 
<h3>Approach, Plan</h3>
 
<h3>Approach, Plan</h3>
Line 25: Line 25:
 
** Endoscopy
 
** Endoscopy
 
* Consider general architecture for creating module GUIs (scripted widgets)
 
* Consider general architecture for creating module GUIs (scripted widgets)
** allow adaptive re-use of widgets in different modules
+
** allow adaptive re-use of widgets in different modules such as:
 
*** embed subset of painting tools inside interactive segmenters
 
*** embed subset of painting tools inside interactive segmenters
 
*** embed small model maker interface in segmentation tools
 
*** embed small model maker interface in segmentation tools

Revision as of 13:20, 13 December 2010

Home < 2011 Winter Project Week: Python and Slicer4

Key Investigators

  • Jc, Danielle - Kitware
  • Jim - GE
  • Steve - Isomics

Objective

Develop scripting patterns for implementing workflows in slicer4 to port slicer3 functionality and streamline implementation of new functionality.

Approach, Plan

  • Review initial experiences with PythonQt in slicer4
    • Editor and SWidgets
    • TubeTK-based Interactive PDF Segmenter
    • Endoscopy
  • Consider general architecture for creating module GUIs (scripted widgets)
    • allow adaptive re-use of widgets in different modules such as:
      • embed subset of painting tools inside interactive segmenters
      • embed small model maker interface in segmentation tools
      • embed some annotation (e.g. fiducial) for landmarking in registration
      • embed CLI interfaces in workflow wizards
    • define inheritance for PythonQt implementations to provide consistency across module GUI implementaitons
  • Consider use cases for (scripted) slicer modules - can one implementation pattern cover all use cases?
    • embed GUI in slicer interface (parent is slicer module panel)
    • run as part of a workflow (parent is one step of workflow)
    • run GUI stand-alone (module's widget is top level window)
    • run without GUI (parameters passed on command line CLI-style)

Progress

Slicer4 developer beta supports PythonQt scripted modules.