Difference between revisions of "Documentation/Nightly/Modules/PercutaneousPathDesigner"

From Slicer Wiki
Jump to: navigation, search
 
(28 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}
 
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-introduction-row}}
This work is supported by NA-MIC, NCIGT, and the Slicer Community.
+
This work is supported by NA-MIC, NCIGT, Slicer Community, and Shiga University of Medical Science in Japan.
 
<!-- This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].<br> -->
 
<!-- This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].<br> -->
  
 
Author: Atsushi Yamada, Shiga University of Medical Science (SUMS), Japan<br>
 
Author: Atsushi Yamada, Shiga University of Medical Science (SUMS), Japan<br>
Contributors: Junichi Tokuda (Brigham and Women's Hospital), Koichiro Murakami (SUMS), Shigeyuki Naka (SUMS), Tohru Tani (SUMS)<br>
+
Contributors: Junichi Tokuda (Brigham and Women's Hospital), Koichiro Murakami (SUMS), Soichiro Tani (SUMS), Shigeyuki Naka (SUMS), Tohru Tani (SUMS)<br>
 
Contact: Atsushi Yamada, <email>ayamada@belle.shiga-med.ac.jp</email><br>
 
Contact: Atsushi Yamada, <email>ayamada@belle.shiga-med.ac.jp</email><br>
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-introduction-row}}
Line 28: Line 28:
 
|[[File:PercutaneousPathDesignerView2.png|360x240px]]
 
|[[File:PercutaneousPathDesignerView2.png|360x240px]]
 
|[[File:PercutaneousPathDesignerView3.png|360x240px]]
 
|[[File:PercutaneousPathDesignerView3.png|360x240px]]
|[[File:percutaneousPathDesigner1.png|360x240px]]
+
|}
 +
{|
 +
|[[File:PercutaneousPathDesignerView4.png|360x240px]]
 +
|[[File:PercutaneousPathDesignerView8.png|360x240px]]
 +
|[[File:PercutaneousPathDesignerView9.png|360x240px]]
 
|}
 
|}
  
PercutaneousPathDesigner is a Slicer4 module designed to display bundles of needle path candidates to avoid blood vessels, bones and specific anatomies and create the path from the bundle.
+
The PercutaneousPathDesigner module is a Slicer4 module designed to visualize bundles of needle path candidates to avoid blood vessels, bones and specific anatomies and specify skin entry points on the path candidates.
The bundles of path candidates is calculated based on a target point, a skin model and an obstacle model.
+
The bundles of path candidates and the skin entry point on each path in the bundles are calculated based on a target point, a skin model and an obstacle model.
After the calculation, you can obtain possible trajectories to avoid the obstacles as bundles of path candidates.
+
This bundle expression might help you grasp safety paths easily.   
This bundle expression may help you grasp safety paths easily.   
+
It is also possible to evaluate the each path on the bundles based on the length and the trajectory comparing with the longest and the shortest paths.  
Furthermore, it is possible to evaluate the each path on the bundles based on the length and the trajectory comparing with the longest path and the shortest path.  
+
The location of the skin entry point on each path could be modified by extending and shrinking the path.  
The location of the skin entry point of each path can be modified by extending and shrinking the path.
+
The skin entry point on each path could be output as a MarkupFiducial List.  
The target point and the skin entry point you modified on the selected path could be output as a MarkupsFiducial List.
+
After getting the outcomes, you can clean up the models and transform matrixes generated from this module.         
You can clean up the models generated from this module.         
 
 
<!--
 
<!--
 
Here comes a description what the module is good for. Explain briefly how it works and point to the [[documentation/{{documentation/version}}/Modules/{{documentation/modulename}}#References|references]] giving more details on the algorithm.
 
Here comes a description what the module is good for. Explain briefly how it works and point to the [[documentation/{{documentation/version}}/Modules/{{documentation/modulename}}#References|references]] giving more details on the algorithm.
Line 49: Line 52:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
PercutaneousPathDesigner is a useful tool for planning needle insertion.
+
The PercutaneousPathDesigner module is a useful tool for planning needle and probe paths.
Percutaneous thermal ablations including radio frequency, microwave and cryotherapy requires needle trajectories to avoid blood vessels, bones and specific anatomies to reach probes to target around tumors.
+
Percutaneous thermal ablations including radio frequency, microwave and cryotherapy require such probe trajectories to avoid blood vessels, bones and specific anatomies to reach the probes to target tumors.
Needle biopsy also requires safety path to gather multiple tissue.
+
Needle biopsy also requires safety paths to gather multiple tissue.
For these cases, this module can help to obtain the path candidates based on the target point, a segmented model of the avoidable region and another segmented model which represents skin entry surface.  
+
For these cases, this module can help to obtain the path candidates based on the target point, a segmented obstacle model to avoid and another segmented model which represents skin entry surface.  
 
    
 
    
  
Line 62: Line 65:
 
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
 
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
 
{|
 
{|
|[[Image:PercutaneousPathDesignerPanel1.png|thumb|400px|{{documentation/modulename}} Parameters panel ]]
+
|[[Image:PercutaneousPathDesignerPanel4.png|thumb|400px|{{documentation/modulename}} Parameters panel ]]
 
|}
 
|}
  
 
* Parameters panel
 
* Parameters panel
** Target Point requires MarkupsFiducial List created in Markups Module which has only one markup.
+
** Target Point requires a MarkupsFiducial List created in Markups Module which has one target markup.
** Output Fiducial List requires MarkupsFiducial List created in Markups Module which has no markups.  
+
** Output Fiducial List requires a MarkupsFiducial List created in Markups Module which has no markups.  
** Skin Model requires a model which represents a skin, that is, a surface on the needle tips.
+
** Skin Model requires a model which represents a skin, that is a surface consists of the candidates of the needle entry points.
*** Opacity Slider can change the opacity parameter of the Skin Model selected.
+
*** Opacity Slider can change the opacity parameter for the Skin Model selected.
** Obstacle Model requires a model which represents obstacles needle paths should avoid.
+
** Obstacle Model requires a model which represents the obstacle needle paths should avoid.
 
*** Opacity Slider can change the opacity parameter for the Obstacle Model selected.  
 
*** Opacity Slider can change the opacity parameter for the Obstacle Model selected.  
** Path Analysis Start button starts creating path candidates from target point to the skin model to avoid the obstacle model.
+
** Create Paths button starts calculating path candidates from target point to the skin model to avoid the obstacle model.
  
 
{|
 
{|
Line 79: Line 82:
  
 
* Outcomes panel
 
* Outcomes panel
** All Paths (Yellow) check button displays all path candidates shown as the yellow bundles of lines.   
+
** All Paths (Yellow) check button visualizes all path candidates shown as the yellow bundles of lines.   
 
*** Opacity Slider can change the opacity parameter for the yellow bundles.  
 
*** Opacity Slider can change the opacity parameter for the yellow bundles.  
 
** The Longest Path (Green) check button displays the longest path as the green line.  
 
** The Longest Path (Green) check button displays the longest path as the green line.  
 
** The Shortest Path (Blue) check button displays the shortest path as the blue line.  
 
** The Shortest Path (Blue) check button displays the shortest path as the blue line.  
 
** The Path Candidate (Red) check button displays the one of the yellow bundles as the red line.
 
** The Path Candidate (Red) check button displays the one of the yellow bundles as the red line.
*** Path Candidate (No.) Slider can select the line from the yellow bundles.
+
*** Path Candidate (No.) Slider can select a red line from the yellow bundles.
 
*** Point Candidate on the Path Slider can extend and shrink the selected red line from the skin entry point.
 
*** Point Candidate on the Path Slider can extend and shrink the selected red line from the skin entry point.
*** Point on the Path button writes the target and the tip position Markups to the Output Fiducial List you set in the Parameters panel.   
+
*** Create Point on the Path button adds the entry position to the Output Fiducial List you set in the Parameters panel.   
  
 
{|
 
{|
|[[Image:PercutaneousPathDesignerPanel3.png|thumb|400px|{{documentation/modulename}} Configurations panel ]]
+
|[[Image:PercutaneousPathDesignerPanel5.png|thumb|400px|{{documentation/modulename}} Configurations panel ]]
 
|}
 
|}
  
 
* Configurations panel
 
* Configurations panel
 
** Delete Paths button erases the all models created by this module.
 
** Delete Paths button erases the all models created by this module.
 +
** Delete Transforms button erases the transforms created by this module except the marker transforms.
  
 
<!--
 
<!--
Line 105: Line 109:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|References}}
 
{{documentation/{{documentation/version}}/module-section|References}}
[http://www.na-mic.org/Wiki/index.php/2014_Project_Week:PercutaneousApproachAnalysis Percutaneous Approach Analysis project in 2014 Winter Project Week ]
+
*[http://www.na-mic.org/Wiki/index.php/2014_Project_Week:PercutaneousApproachAnalysis Percutaneous Approach Analysis project in 2014 Winter Project Week ]
 +
*[https://github.com/ayamada0614/PercutaneousPathDesigner Source code repository]
 +
*[http://www.na-mic.org/publications/item/view/1266 SPL Abdomina Atlas (Used in examples)]
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->

Latest revision as of 04:04, 11 August 2014

Home < Documentation < Nightly < Modules < PercutaneousPathDesigner


For the latest Slicer documentation, visit the read-the-docs.


Introduction and Acknowledgements

This work is supported by NA-MIC, NCIGT, Slicer Community, and Shiga University of Medical Science in Japan.

Author: Atsushi Yamada, Shiga University of Medical Science (SUMS), Japan
Contributors: Junichi Tokuda (Brigham and Women's Hospital), Koichiro Murakami (SUMS), Soichiro Tani (SUMS), Shigeyuki Naka (SUMS), Tohru Tani (SUMS)
Contact: Atsushi Yamada, <email>ayamada@belle.shiga-med.ac.jp</email>

Shiga University of Medical Science, Japan  
NA-MIC  
NCIGT  

Module Description

PercutaneousPathDesignerView1.png PercutaneousPathDesignerView2.png PercutaneousPathDesignerView3.png
PercutaneousPathDesignerView4.png PercutaneousPathDesignerView8.png PercutaneousPathDesignerView9.png

The PercutaneousPathDesigner module is a Slicer4 module designed to visualize bundles of needle path candidates to avoid blood vessels, bones and specific anatomies and specify skin entry points on the path candidates. The bundles of path candidates and the skin entry point on each path in the bundles are calculated based on a target point, a skin model and an obstacle model. This bundle expression might help you grasp safety paths easily. It is also possible to evaluate the each path on the bundles based on the length and the trajectory comparing with the longest and the shortest paths. The location of the skin entry point on each path could be modified by extending and shrinking the path. The skin entry point on each path could be output as a MarkupFiducial List. After getting the outcomes, you can clean up the models and transform matrixes generated from this module.

Use Cases

The PercutaneousPathDesigner module is a useful tool for planning needle and probe paths. Percutaneous thermal ablations including radio frequency, microwave and cryotherapy require such probe trajectories to avoid blood vessels, bones and specific anatomies to reach the probes to target tumors. Needle biopsy also requires safety paths to gather multiple tissue. For these cases, this module can help to obtain the path candidates based on the target point, a segmented obstacle model to avoid and another segmented model which represents skin entry surface.


Tutorials

N/A

Panels and their use

PercutaneousPathDesigner Parameters panel
  • Parameters panel
    • Target Point requires a MarkupsFiducial List created in Markups Module which has one target markup.
    • Output Fiducial List requires a MarkupsFiducial List created in Markups Module which has no markups.
    • Skin Model requires a model which represents a skin, that is a surface consists of the candidates of the needle entry points.
      • Opacity Slider can change the opacity parameter for the Skin Model selected.
    • Obstacle Model requires a model which represents the obstacle needle paths should avoid.
      • Opacity Slider can change the opacity parameter for the Obstacle Model selected.
    • Create Paths button starts calculating path candidates from target point to the skin model to avoid the obstacle model.
PercutaneousPathDesigner Outcomes panel
  • Outcomes panel
    • All Paths (Yellow) check button visualizes all path candidates shown as the yellow bundles of lines.
      • Opacity Slider can change the opacity parameter for the yellow bundles.
    • The Longest Path (Green) check button displays the longest path as the green line.
    • The Shortest Path (Blue) check button displays the shortest path as the blue line.
    • The Path Candidate (Red) check button displays the one of the yellow bundles as the red line.
      • Path Candidate (No.) Slider can select a red line from the yellow bundles.
      • Point Candidate on the Path Slider can extend and shrink the selected red line from the skin entry point.
      • Create Point on the Path button adds the entry position to the Output Fiducial List you set in the Parameters panel.
PercutaneousPathDesigner Configurations panel
  • Configurations panel
    • Delete Paths button erases the all models created by this module.
    • Delete Transforms button erases the transforms created by this module except the marker transforms.


Similar Modules

N/A

References

Information for Developers