Difference between revisions of "Modules:PythonExplodeVolumeTransform-Documentation-3.4"

From Slicer Wiki
Jump to: navigation, search
(New page: Return to Slicer 3.4 Documentation __NOTOC__ ===Module Name=== MyModule {| |thumb|280px|Caption 1 |[[Image:screenshotBlank.png|thumb|2...)
 
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
+
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
 +
 
 +
[[Announcements:Slicer3.4#Highlights|Gallery of New Features]]
 
__NOTOC__
 
__NOTOC__
 
===Module Name===
 
===Module Name===
MyModule
+
Python Explode Volume Transform
  
 
{|
 
{|
|[[Image:screenshotBlank.png|thumb|280px|Caption 1]]
+
|[[Image:ExplodeVolumeTransform1.png|thumb|320px|Figure 1: Volume loaded with RAS orientation (orientation "From file")]]
|[[Image:screenshotBlank.png|thumb|280px|Caption 2]]
+
|[[Image:ExplodeVolumeTransform2.png|thumb|320px|Figure 2: Same volume loaded with IJK orientation]]
|[[Image:screenshotBlank.png|thumb|280px|Caption 3]]
+
|}
 +
{|
 +
|[[Image:ExplodeVolumeTransform3.png|thumb|320px|Figure 3: Exploded RAS volume: ijkToRAS transform + IJK volume (see MRML tree widget on the left)]]
 +
|[[Image:ExplodeVolumeTransform4.png|thumb|320px|Figure 4: The volume loaded with IJK orientation (from Figure 2) moved under the output transform assumes RAS orientation]]
 
|}
 
|}
  
Line 13: Line 18:
 
===Module Type & Category===
 
===Module Type & Category===
  
Type: Interactive or CLI
+
Type: CLI
  
Category: Base or (Filtering, Registration, ''etc.'')
+
Category: Python Modules
  
 
===Authors, Collaborators & Contact===
 
===Authors, Collaborators & Contact===
* Author1: Affiliation & logo, if desired
+
* Luca Antiga: Mario Negri Institute
* Contributor1: Affiliation & logo, if desired
+
* Daniel Blezek: Mayo Clinic
* Contributor2: Affiliation & logo, if desired
+
* Contact: Luca Antiga, antiga@marionegri.it
* Contact: name, email
 
  
 
===Module Description===
 
===Module Description===
Overview of what the module does goes here.
+
This Python module takes a volume in input, extracts its IJKToRAS transform by matrix manipulation, where IJK is the local (VTK-compatible) coordinate system, and generates an IJK-oriented volume in the MRML scene as a child of a IJKToRAS transform node.
  
 
== Usage ==
 
== Usage ==
Line 30: Line 34:
 
===Examples, Use Cases & Tutorials===
 
===Examples, Use Cases & Tutorials===
  
* Note use cases for which this module is especially appropriate, and/or link to examples.
+
* The module is appropriate when a CLI module can only handle non-oriented images (i.e. images oriented as the XYZ axes), like pure-VTK modules.
* Link to examples of the module's use
+
* The typical use is as follows: run a volume through this filter, use the output volume as input for the non-orientation-aware CLI module and place the output of this latter module under the IJKToRAS transform generated by the present module by using the MRML tree widget.
* Link to any existing tutorials
+
* Use case: you have data generated from a RAS-agnostic program (e.g. fiber tracts generated in Matlab) and you want to place them in your RAS oriented scene in Slicer. What you do is then to load the MR b0 volume with orientation "From file", explode its ijkToRAS Transform, load the fiber tracts and place them under the exploded transform in the MRML tree (note that you may have to invert the transform beforehand if what you move under the transform is a polydata, as in this case). You can then (optionally) right-click on the fiber tract nodes and choose "Harden transforms" in order to have the transform applied to the fiber points. At this point you can save them in RAS.
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
 
List all the panels in your interface, their features, what they mean, and how to use them. For instance:
 
List all the panels in your interface, their features, what they mean, and how to use them. For instance:
  
* '''Input panel:'''
+
* '''Explode Volume Transform Parameters:'''
* '''Parameters panel:'''
+
** "Keep origin in volume": Toggle the inclusion of the origin in the extracted transform rather than in the output volume. The default is to include the origin in the transform, which produces an output volume node with the origin in 0,0,0 (same as if the node was saved and then loaded with the orientation set to IJK).
* '''Output panel:'''
+
 
* '''Viewing panel:'''
+
* '''IO:'''
 +
** ''Input Volume'': the input volume
 +
** ''Output Volume'': the output volume, the input volume aligned with the XYZ axes (IJK orientation), set as the child of the corresponding IJKToRAS transform.
  
 
== Development ==
 
== Development ==
Line 46: Line 52:
 
===Dependencies===
 
===Dependencies===
  
Other modules or packages that are required for this module's use.
+
Python
  
 
===Known bugs===
 
===Known bugs===
Line 60: Line 66:
 
===Source code & documentation===
 
===Source code & documentation===
  
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.
+
Follow this [http://viewvc.slicer.org/viewcvs.cgi/trunk/Modules/Python/ link] to the module.
 
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.
 
  
 +
[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/ Links] to documentation generated by doxygen.
  
 
== More Information ==  
 
== More Information ==  
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here.
 
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
 

Latest revision as of 22:24, 15 January 2010

Home < Modules:PythonExplodeVolumeTransform-Documentation-3.4

Return to Slicer 3.4 Documentation

Gallery of New Features

Module Name

Python Explode Volume Transform

Figure 1: Volume loaded with RAS orientation (orientation "From file")
Figure 2: Same volume loaded with IJK orientation
Figure 3: Exploded RAS volume: ijkToRAS transform + IJK volume (see MRML tree widget on the left)
Figure 4: The volume loaded with IJK orientation (from Figure 2) moved under the output transform assumes RAS orientation

General Information

Module Type & Category

Type: CLI

Category: Python Modules

Authors, Collaborators & Contact

  • Luca Antiga: Mario Negri Institute
  • Daniel Blezek: Mayo Clinic
  • Contact: Luca Antiga, antiga@marionegri.it

Module Description

This Python module takes a volume in input, extracts its IJKToRAS transform by matrix manipulation, where IJK is the local (VTK-compatible) coordinate system, and generates an IJK-oriented volume in the MRML scene as a child of a IJKToRAS transform node.

Usage

Examples, Use Cases & Tutorials

  • The module is appropriate when a CLI module can only handle non-oriented images (i.e. images oriented as the XYZ axes), like pure-VTK modules.
  • The typical use is as follows: run a volume through this filter, use the output volume as input for the non-orientation-aware CLI module and place the output of this latter module under the IJKToRAS transform generated by the present module by using the MRML tree widget.
  • Use case: you have data generated from a RAS-agnostic program (e.g. fiber tracts generated in Matlab) and you want to place them in your RAS oriented scene in Slicer. What you do is then to load the MR b0 volume with orientation "From file", explode its ijkToRAS Transform, load the fiber tracts and place them under the exploded transform in the MRML tree (note that you may have to invert the transform beforehand if what you move under the transform is a polydata, as in this case). You can then (optionally) right-click on the fiber tract nodes and choose "Harden transforms" in order to have the transform applied to the fiber points. At this point you can save them in RAS.

Quick Tour of Features and Use

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

  • Explode Volume Transform Parameters:
    • "Keep origin in volume": Toggle the inclusion of the origin in the extracted transform rather than in the output volume. The default is to include the origin in the transform, which produces an output volume node with the origin in 0,0,0 (same as if the node was saved and then loaded with the orientation set to IJK).
  • IO:
    • Input Volume: the input volume
    • Output Volume: the output volume, the input volume aligned with the XYZ axes (IJK orientation), set as the child of the corresponding IJKToRAS transform.

Development

Dependencies

Python

Known bugs

Follow this link to the Slicer3 bug tracker.


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Follow this link to the module.

Links to documentation generated by doxygen.

More Information

Acknowledgment

References