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

From Slicer Wiki
Jump to: navigation, search
 
(7 intermediate revisions by 2 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===
 
Python Explode Volume Transform
 
Python Explode Volume Transform
 +
 +
{|
 +
|[[Image:ExplodeVolumeTransform1.png|thumb|320px|Figure 1: Volume loaded with RAS orientation (orientation "From file")]]
 +
|[[Image:ExplodeVolumeTransform2.png|thumb|320px|Figure 2: Same volume loaded with IJK orientation]]
 +
|}
 +
{|
 +
|[[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]]
 +
|}
  
 
== General Information ==
 
== General Information ==
Line 17: Line 28:
  
 
===Module Description===
 
===Module Description===
This Python module takes a volume in input, computes its XYZToRAS transform by matrix manipulation, where XYZ is the local (VTK-compatible) coordinate system, and generate a XYZ-oriented volume in the MRML scene as a child of the XYZToRASTransform.
+
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 24: Line 35:
  
 
* 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 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 XYZToRAS transform generated by the present module by using the MRML tree widget.
+
* 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. 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 point, so you can save them in RAS.
+
* 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:
 +
 +
* '''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:'''
 
* '''IO:'''
 
** ''Input Volume'': the input volume
 
** ''Input Volume'': the input volume
** ''Output Volume'': the output volume, the input volume with its IJKToRAS transform aligned with the XYZ axes, set as the child of the corresponding XYZToRAS transform.
+
** ''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 54: Line 68:
 
Follow this [http://viewvc.slicer.org/viewcvs.cgi/trunk/Modules/Python/ link] to the 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 ==  

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