Difference between revisions of "Modules:Endoscopy-Documentation-3.6"

From Slicer Wiki
Jump to: navigation, search
(Created page with 'Return to Slicer 3.6 Documentation __NOTOC__ ===Endoscopy Module=== Endoscopy {| |[[Image:Endoscopy-slicer3.6.png|thumb|500px|Example Endoscopy Session fo…')
 
Line 28: Line 28:
 
===Use Cases, Examples===
 
===Use Cases, Examples===
  
* CropVolume allows to extract a parallelepiped-shaped subvolume, located arbitrarily within a larger 3D volume. The module allows to control the spacing of the resulting volume, and gives control over the interpolation mode.
+
Can be used to generate animated sequences for investigating the insides of structures.
* The module is particularly useful in cases when the amount of computation or its complexity can be reduced by limiting the processing to the region of interest.
 
* The subvolume produced by the module is located precisely in the space of the original image.
 
  
 
===Tutorials===
 
===Tutorials===
CropVolume (at the time, ExtractSubvolumeROI) is used in the following tutorial: [http://wiki.na-mic.org/Wiki/index.php/AHM_2010_Tutorial_Contest_-_CoronaryArteriesCenterlinesVMTK Centerline Extraction of Coronary Arteries in 3D Slicer using VMTK based Tools] (winner of the SLC AHM 2010 tutorial contest). Follow the link for the tutorial slides and test data.
+
None available yet.
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
{|
 
|
 
  
* '''Input/initialization parameters panel:'''
+
In the Module GUI:
** '''Input volume''' defines the input image from which you need to crop a subvolume
+
* Create a [[Modules:Fiducials-Documentation-3.6|Fiducial List]] of control points defining the path you wish to animate.
** '''ROI''' is a Region of Interest (see [[Modules:ROIModule-Documentation-3.6|the ROI module documentation]]), which can be defined outside CropVolume, or by creating new MRMLROINode from the selector menu. The ROI can be adjusted using the widget handles in 3D view panel.
+
* Select the [[Slicer3:Multiple_Cameras|Camera]] you wish to animate.
** '''ROI visibility''' allows to turn the visibility of the 3D widget on or off in the 3D view panel.
+
* Click the Apply button to generate a path and bring up the Flythrough dialog box.
** '''Output volume''' is the volume node where the result of ROI extraction will be stored. Note, that the output volume cannot be identical to the input volume. The module will give you an error if this is the case.
 
** '''Input spacing scaling constant''' is the coefficient used to determine the spacing of the output volume. The output spacing is defined by multiplying the input spacing in each dimension by the user-specified coefficient. For example, if the input spacing is 1x1x1.4, and the scaling coefficient is 0.5, the output volume will have spacing 0.5x0.5x0.7, effectively doubling the resolution of the output image.
 
** '''Isotropic voxel size''' if this checkbox is selected, the output image will have isotropic spacing, with the voxel size of the output image in each dimension equal to the ''smallest'' voxel dimension of the input image multiplied by the scaling constant.
 
** '''Interpolation type''' allows to select between Nearest Neighbor, Linear or Cubic interpolators. For subvolumes being extracted from a label volume, you should use Nearest Neighbor interpolator. Otherwise Cubic is the preferred choice. Linear interpolator requires less computation, which may be important for very large ROIs.
 
** '''Do ROI resample''' initiates the subvolume extraction based on the inputs and parameters.
 
  
* '''Viewing panel:''' Size and location of the ROI can be modified using one of the two methods. First, this can be done in 3D View by moving the colored handles of the ROI widget. Second, the ROI can be adjusted in the slice views. ''Right mouse button click'' adjusts the bounds of the ROI. ''Left mouse button click'' moves the center of ROI to be the point where the click was made.
+
In the Flythrough dialog:
 +
* You can manually scroll though the path with the Frame slider.
 +
* The Play/Pause button toggles animated flythrough.
 +
* The Frame Skip slider speeds up the animation by skipping points on the path.
 +
* The Frame Delay slider slows down the animation by adding more time between frames.
 +
* The View Angle provides is used to approximate the optics of an endoscopy system.
 +
* The Close button dismisses the Flythough panel and stops the animation."
  
* The input volume and input ROI are both allowed to be under linear transform. This allows to extract a parallelepiped shaped ROI, which is arbitrarily oriented within the input volume using these steps:
+
The path is exported as a model (yellow line).
  
# Create a new Transform in the MRML Tree ([[Modules:Data-Documentation-3.6|Data module]]), or in the [[Modules:Transforms-Documentation-3.6|Transforms module]]
+
The current location along the path is exported as a [[Modules:Transforms-Documentation-3.6|Transform]] so you can attach other transformable nodes under it (like models or fiducials).
# Drag the input ROI node under the created transform in the MRML tree ([[Modules:Data-Documentation-3.6|Data module]])
 
# Adjust the rotation of the ROI from the [[Modules:Transforms-Documentation-3.6|Transforms module]]
 
# Return to CropVolume, use the ROI from above to extract the subvolume
 
 
 
Upon completion of the resampling operation, the input volume is set as the Background image volume, and the extracted resampled ROI is set as the Foreground image.
 
 
 
|
 
{|
 
|
 
[[Image:ExtractSubvolumeROI_input_spacing.jpg|thumb|200px|Input image]]
 
 
 
|[[Image:ExtractSubvolumeROI_output_spacing.jpg|thumb|200px|Cropped subvolume with scaling constant 0.5 -- note the difference in the image spacing]]
 
|}
 
 
 
{|
 
|[[Image:ExtractSubvolumeROI_controls.jpg|thumb|250px|CropVolume control panel]]
 
 
 
|[[Image:ExtractSubvolumeROI_resize.jpg|thumb|200px|Intersection of the ROI with the slice is shown in semi-transparent blue]]
 
|}
 
 
 
|}
 
  
 
== Development ==
 
== Development ==
Line 80: Line 56:
 
===Notes from the Developer===
 
===Notes from the Developer===
  
This module wraps the functionality of VTK class [http://www.vtk.org/doc/nightly/html/classvtkImageReslice.html vtkImageReslice]
+
This is implemented as a python script that uses Tkinter instead of KWWidgets, so the style does not match the rest of slicer's GUI.
  
 
===Dependencies===
 
===Dependencies===
  
[[Modules:ROIModule-Documentation-3.6|ROI Module]] and [[Modules:Volumes-Documentation-3.6|Volumes Module]].
+
Python.
  
 
===Tests===
 
===Tests===
Line 100: Line 76:
 
===Source code & documentation===
 
===Source code & documentation===
  
Source code can accessed [http://viewvc.slicer.org/viewcvs.cgi/trunk/Modules/CropVolume here]
+
Source code can accessed [http://viewvc.slicer.org/viewcvs.cgi/trunk/Modules/Endoscopy here]
  
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/ Links] to documentation generated by doxygen.
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/ Links] to documentation generated by doxygen.
Line 108: Line 84:
 
===Acknowledgment===
 
===Acknowledgment===
  
Supported by Brain Science Foundation.
+
Supported by PAR-07-249: R01CA131718 NA-MIC Virtual Colonoscopy (See [http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:NA-MIC_virtual_colonoscopy]) NA-MIC, NAC, BIRN, NCIGT, and the Slicer Community. See http://www.slicer.org for details.  Module implemented by Steve Pieper."
 +
 
  
 
===References===
 
===References===
 +
 +
This module is patterned after the version in slicer2 developed by Delphine Nain.
 +
 +
 +
[http://en.scientificcommons.org/52716978 An Interactive Virtual Endoscopy Tool (2001)]
 +
 +
[http://www.bme.gatech.edu/groups/minerva/publications/papers/delfin_ms_thesis.pdf An Interactive Virtual Endoscopy Tool with Automatic Path Generation] (MIT Masters Thesis) by Delphine Nain

Revision as of 20:18, 16 April 2010

Home < Modules:Endoscopy-Documentation-3.6

Return to Slicer 3.6 Documentation

Endoscopy Module

Endoscopy


Example Endoscopy Session for virtual colonoscopy (CT colonography).

General Information

Module Type & Category

Type: Interactive, Python Scripted

Category: Endoscopy

Authors, Collaborators & Contact

  • Steve Pieper, Isomics
  • Ron Kikinis, BWH
  • Contact: Steve Pieper, pieper at bwh

Module Description

Allows interactive flythrough animation based on fiducial list.

Usage

Use Cases, Examples

Can be used to generate animated sequences for investigating the insides of structures.

Tutorials

None available yet.

Quick Tour of Features and Use

In the Module GUI:

  • Create a Fiducial List of control points defining the path you wish to animate.
  • Select the Camera you wish to animate.
  • Click the Apply button to generate a path and bring up the Flythrough dialog box.

In the Flythrough dialog:

  • You can manually scroll though the path with the Frame slider.
  • The Play/Pause button toggles animated flythrough.
  • The Frame Skip slider speeds up the animation by skipping points on the path.
  • The Frame Delay slider slows down the animation by adding more time between frames.
  • The View Angle provides is used to approximate the optics of an endoscopy system.
  • The Close button dismisses the Flythough panel and stops the animation."

The path is exported as a model (yellow line).

The current location along the path is exported as a Transform so you can attach other transformable nodes under it (like models or fiducials).

Development

Notes from the Developer

This is implemented as a python script that uses Tkinter instead of KWWidgets, so the style does not match the rest of slicer's GUI.

Dependencies

Python.

Tests

Not available at this time.

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

Source code can accessed here

Links to documentation generated by doxygen.

More Information

Acknowledgment

Supported by PAR-07-249: R01CA131718 NA-MIC Virtual Colonoscopy (See [1]) NA-MIC, NAC, BIRN, NCIGT, and the Slicer Community. See http://www.slicer.org for details. Module implemented by Steve Pieper."


References

This module is patterned after the version in slicer2 developed by Delphine Nain.


An Interactive Virtual Endoscopy Tool (2001)

An Interactive Virtual Endoscopy Tool with Automatic Path Generation (MIT Masters Thesis) by Delphine Nain