TubeTK/Python Development: Difference between revisions
From KitwarePublic
< TubeTK
Jump to navigationJump to search
Jamie.snape (talk | contribs) m (moved TubeTK/Developer/Python to TubeTK/Development/Python) |
Jamie.snape (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 22: | Line 22: | ||
** Create Slicer-independent python script, and call it from a small python script? Ex. [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation:Python#PythonScript.py PythonScript.py] | ** Create Slicer-independent python script, and call it from a small python script? Ex. [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation:Python#PythonScript.py PythonScript.py] | ||
[[Category:TubeTK]] | [[Category:TubeTK|Python Development]] |
Latest revision as of 18:43, 26 July 2013
Motivation
- Allow users to easily create and/or customize TubeTK functionality
- Ex: Create your own heuristic for automatic seed point generation for use by TubeTK's centerline extraction segmentation algorithm
- Allow fast programming/prototyping using TubeTK
Options
TubeTK
- Wrap all of TubeTK into python
- Source the user's python scripts from TubeTK's C++ code
TubeTK in Slicer
- 3D Slicer's python page
- Command-line (XML) python modules:
- Specify user interface and a single "execute" function (called when the Apply button is clicked)
- Can access Slicer's global objects, MRML tree, and other command-line modules (even if they are not python modules)
- Unfortunately, not interactive or dynamic
- Scripted python modules:
- Can be interactive and dynamic (ex. PythonGADScriptedModuleGUI, as explained on the last slides of the Slicer Python breakout session in Salt Lake City, Winter Project Week 2009 by Luca Antiga)
- Heavily dependent on Slicer
- Ideally, would want most functionality within python scripts that can be run with or without Slicer
- Create Slicer-independent python script, and call it from a small python script? Ex. PythonScript.py