Difference between revisions of "Documentation/Nightly/Extensions/PercutaneousApproachAnalysis"

From Slicer Wiki
Jump to: navigation, search
m (Text replacement - "\[http:\/\/www\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) ([^]]+)]" to "$2")
 
(37 intermediate revisions by one other user not shown)
Line 10: Line 10:
 
This work is supported by Shiga University of Medical Science (SUMS) in Japan, NA-MIC, NCIGT, and Slicer Community.
 
This work is supported by Shiga University of Medical Science (SUMS) in Japan, NA-MIC, NCIGT, and Slicer Community.
 
This work is also supported in part by the National Institute of Health (R01CA111288, P01CA067165, P41RR019703, P41EB015898, R01CA124377, R01CA138586, R42CA137886), and was presented in CARS 2014 meeting[[Media:CARS2014 Murakami.pdf]].<br>
 
This work is also supported in part by the National Institute of Health (R01CA111288, P01CA067165, P41RR019703, P41EB015898, R01CA124377, R01CA138586, R42CA137886), and was presented in CARS 2014 meeting[[Media:CARS2014 Murakami.pdf]].<br>
Author: Koichiro Murakami (SUMS, SPL), Atsushi Yamada (SUMS), Laurent Chauvin (SPL), Junichi Tokuda (SPL)<br>
+
Authors: Koichiro Murakami (SUMS, SPL), Atsushi Yamada (SUMS), Laurent Chauvin (SPL), Junichi Tokuda (SPL)<br>
 
Contributors: Soichiro Tani (SUMS), Shigeyuki Naka (SUMS), Tohru Tani (SUMS)<br>
 
Contributors: 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>
Line 27: Line 27:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 +
{|
 +
|[[File:Paa2014-2.png|360x240px]]
 +
|[[File:Paa2014-4.png|360x240px]]
 +
|[[File:Paa2014-5.png|360x240px]]
 +
|}
  
[[File:synthetic.png|360x240px]][[File:accessibility clinical.png|540x210px]]<br>
+
The PercutaneousApproachAnalysis module is a Slicer4 module designed to visualize bundles of needle path candidates and color map on a region in skin to avoid blood vessels, bones and specific anatomies and specify skin entry points on the path candidates.
The Percutaneous Approach Analysis is used to calculate and visualize the accessibility of liver tumor with a percutaneous approach. The software uses the “ray-tracing” method in which the target tumor serves as a light source to identify the area of the skin that allows direct approach to the target tumor with a straight needle. This software takes the Body Surface model, Obstacle model, and a fiducial point in the liver model as inputs. The software also examines each line that connects the fiducial point and the center of each polygon cell on the Body Surface model and check if the line intersects the Obstacle model. If it does not intersect, the cell is identified as an accessible area. The polygon is colored based on the accessibility to visualize the results in 3D. For quantitative analysis, the software calculates the ratio of the total accessible area to the total area of the Body Surface model as the accessibility score (AS) for the specified fiducial point in the liver. Additionally, the software calculates and visualizes the distance between the target tumor and each polygon of the accessible area on the Body Surface 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.
 +
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.        
 +
For quantitative analysis, the software calculates the ratio of the total accessible area to the total area of the Body Surface model as the accessibility score (AS) for the specified fiducial point in the liver. Additionally, the software calculates and visualizes the distance between the target tumor and each polygon of the accessible area on the Body Surface model.
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Use cases}}
 
{{documentation/{{documentation/version}}/module-section|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.
  
''' - An example using a clinical model -'''
+
<!-- ---------------------------- -->
 +
{{documentation/{{documentation/version}}/module-section|Parameters and Outcomes}}
  
1. Model preparation <br>
+
'''Parameters'''<br>
Preparing required 2 models as BodySurface and Obstacle<br>
+
*Target Point: A fiducial point as a target of a needle insertion
[[File:140422-0004.jpg|360x234px]]<br>
+
*Obstacle Model: A model which you think as an obstacle of the needle insertion
 +
*Skin Model: A model which represents a region for the candidate of the skin entry points
  
2. Put fiducial<br>
+
'''Outcomes'''
Putting a fiducial point at target position<br>
+
*Accessibility Score: The number calculated by accessibility area and total area on the selected Skin Model
[[File:140422-0006.jpg|360x234px]]<br>
+
*Color Mapped Skin: The visualization data represents the accessibility score
 +
*All Path: The visualization data represents the candidate of the straight paths
 +
*The Longest Path: The maximum distance between the Target Point and the surface of Skin Model 
 +
*The Shortest Path: The minimum distance between the Target Point and the surface of Skin Model 
 +
*Path Candidate: All path candidate
 +
*Skin Entry Point: Skin entry point on the selected path
  
3. Input and Run<br>
+
<!-- ---------------------------- -->
Selecting an appropriate object on each parameter pull-down window and push ‘Apply’ button<br>
+
{{documentation/{{documentation/version}}/module-section|Tutorials }}
If you input ‘Minimum Distance Point’ in Output field, the nearest point from the target will be displayed on the Body Surface model.<br>
+
{|
[[File:140422-0008.jpg|360x234px]]<br>
+
|[[File:paa2014-1.png|460x640px]]
 +
|}
  
4. Output field<br>
+
*This PercutaneousApproach Analysis module could be used for the percutaneous path planning. After the analysis on this module, you can select the candidate paths from the skin to the target to avoid obstacles such as blood vessels, bones and specific anatomies and obtain the skin entry point. By using the obtained target and the skin entry points, the needle model could be placed on the module outcome by using [[Documentation/Nightly/Extensions/PortPlacement|PortPlacement module]]
Accessibility score and Minimum Distance are displayed in the result field.<br>
 
[[File:panelmurakami.png|360x76px]]<br>
 
  
5. Scalar map<br>
+
'''Tutorial steps'''<br>
A color map showing approachable and inapproachable area is available.<br>
+
1. Download Tutorial Data Set: [[Media:PAAModuleTutorialData.zip‎]]. <br>
To visualize it, a ‘visible’ check-box should be turned on in Scalar parameter of Models module.<br>
+
2. Open "WorkBasedOnAbdominal_Atlas_2008.mrml" scene file. <br>
[[File:140422-0010.jpg|360x234px]]<br>
+
3. Select "PercutaneousApproachAnalysis" module.<br>
 +
4. Set "F" as Target Point.<br>
 +
5. Set "Create new MarkupsFiducial" as Output Fiducial List.<br>
 +
6. Set "Model_135_right_external_oblique_muscle.vtk" as Skin Model.<br>
 +
7. Set "Model_2_bone.vtk" as Obstacle Model.<br>
 +
8. Click "Start Analysis" button. <br>
 +
9. Click "The shortest Path (Blue)" check box.<br>
 +
10. Click "Path Candidate (Red)" check box. <br>
 +
11. Move "Path Candidate (No.)"slider bar and make sure you can obtain each path candidate visually. <br>
 +
12. Set "22318" to "Path Candidate (No.)" number box manually. The number represents The shortest Path number. <br>
 +
13. Move "Point Candidate on the Path" slider to 600 and make sure the crossing point between the path and skin model was very close to the red color map. <br>
 +
14. Increment "Path Candidate (No.)" from 22318 to 22328 manually and make sure the path was going away from the red color map.<br>
 +
15. Change "Color Mapped Skin Opacity" to 100.<br>
 +
16. Move "Point Candidate on the Path" slider to 133 and make sure the crossing point between the path and skin model became a skin entry point.<br>
 +
17. Click "Create Point on the Path" button. You can obtain the skin entry point. <br>
 +
15. Select "PortPlacement" module. <br>
 +
16. Set "MarkupsFiducilal" as Markups node of surgical ports and click "Set Port Markup Node" button.<br>
 +
17. Select "Visible" column.<br>
 +
18. Set "F" as Surgical Target Fiducial and Click "Aim Tools at Target".<br>
 +
19. Set "Tool radius" to 1.50.<br>
 +
20. You can see the probe and the probe was far from the red color map on the skin.<br>
  
 +
<!-- ---------------------------- -->
 +
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
  
<!-- ---------------------------- -->
+
<br>
{{documentation/{{documentation/version}}/module-section|Tutorials }}
+
'''Parameters panel'''
Typical use case is provided as tutorial slides.
+
{|
 +
|[[File:paa2014-9.png|460x640px]]
 +
|}
 +
* 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.
 +
** Start Analysis button starts calculating path candidates from the skin model to the target point to avoid the obstacle model.
  
<!-- ---------------------------- -->
+
<br>
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
+
'''Outcomes panel'''
'''Panels'''<br>
+
{|
[[File:panelfull.jpg|300x413px]]<br>
+
|[[File:paa2014-10.png|460x640px]]
 +
|}
 +
* Outcomes panel
 +
** Color Mapped Skin check button visualizes a color map showing approachable and inapproachable areas on the skin model.
 +
** Accessibility score is displayed in the result field.
 +
** 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. 
  
'''Parameters'''<br>
+
<br>
*Target Point: Input an annotation fiducial point as a target of percutaneous approach.
+
'''Cleaning Outcomes panel'''
*Obstacle Model: Input one Volume Model which you think as a barrier of needle insertion.
+
{|
*Skin Model: Input one Volume Model on which the accessibile area should be measured as an inserting site.
+
|[[File:paa2014-11.png|460x640px]]
'''Output/Results'''
+
|}
*Accessibility Score: This box shows Accessibility Score which is calculated by accessibility area and total area on the selected Skin Model. 
+
* Cleaning Outcomes panel
*Minimum Distance: The shortest distance between the Target Point and the surface of Skin Model.
+
** Delete the Created Paths button erases the all models created by this module.
*Minimum Distance Point: Input this when you want to know the nearest point on the Skin Model from the Target Point.
+
** Delete the Created Transforms button erases the transforms created by this module except the marker transforms.
  
 
<!--
 
<!--
Line 92: Line 157:
 
[3] Ido K, Isoda N, Sugano K. (2001) Microwave coagulation therapy for liver cancer: laparoscopic microwave coagulation. J Gastroenterol 36(3): 145-52<br>
 
[3] Ido K, Isoda N, Sugano K. (2001) Microwave coagulation therapy for liver cancer: laparoscopic microwave coagulation. J Gastroenterol 36(3): 145-52<br>
 
[4] Khlebnikov R, Kainz B, Muehl J, Schmalstieg D. (2011) Crepscular Rays for Tumor Accessibility Planning. IEEE Trans Vis Comput Graph 17(12): 2163-72<br>
 
[4] Khlebnikov R, Kainz B, Muehl J, Schmalstieg D. (2011) Crepscular Rays for Tumor Accessibility Planning. IEEE Trans Vis Comput Graph 17(12): 2163-72<br>
[5] [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PortPlacement PortPlacement module (used in examples)]<br>
+
[5] [[Documentation/Nightly/Extensions/PortPlacement|PortPlacement module (used in tutorial)]]<br>
 
[6] [http://www.na-mic.org/publications/item/view/1266 SPL Abdominal Atlas (used in examples)]<br>
 
[6] [http://www.na-mic.org/publications/item/view/1266 SPL Abdominal Atlas (used in examples)]<br>
 +
[7] [https://github.com/SNRLab/PercutaneousApproachAnalysis Github source code repository (https://github.com/SNRLab/PercutaneousApproachAnalysis)]<br>
 +
[8] [http://www.na-mic.org/Wiki/index.php/2014_Project_Week:PercutaneousApproachAnalysis Percutaneous Approach Analysis project in 2014 Winter Project Week]<br>
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->

Latest revision as of 02:23, 27 November 2019

Home < Documentation < Nightly < Extensions < PercutaneousApproachAnalysis


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


Introduction and Acknowledgements

This work is supported by Shiga University of Medical Science (SUMS) in Japan, NA-MIC, NCIGT, and Slicer Community. This work is also supported in part by the National Institute of Health (R01CA111288, P01CA067165, P41RR019703, P41EB015898, R01CA124377, R01CA138586, R42CA137886), and was presented in CARS 2014 meetingMedia:CARS2014 Murakami.pdf.
Authors: Koichiro Murakami (SUMS, SPL), Atsushi Yamada (SUMS), Laurent Chauvin (SPL), Junichi Tokuda (SPL)
Contributors: Soichiro Tani (SUMS), Shigeyuki Naka (SUMS), Tohru Tani (SUMS)
Contact: Atsushi Yamada <email>ayamada@belle.shiga-med.ac.jp</email>
License: Slicer License

Shiga University of Medical Science (SUMS) in Japan  
Surgical Planning Laboratory  
NA-MIC  
NCIGT  

Module Description

Paa2014-2.png Paa2014-4.png Paa2014-5.png

The PercutaneousApproachAnalysis module is a Slicer4 module designed to visualize bundles of needle path candidates and color map on a region in skin 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. For quantitative analysis, the software calculates the ratio of the total accessible area to the total area of the Body Surface model as the accessibility score (AS) for the specified fiducial point in the liver. Additionally, the software calculates and visualizes the distance between the target tumor and each polygon of the accessible area on the Body Surface model.

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.

Parameters and Outcomes

Parameters

  • Target Point: A fiducial point as a target of a needle insertion
  • Obstacle Model: A model which you think as an obstacle of the needle insertion
  • Skin Model: A model which represents a region for the candidate of the skin entry points

Outcomes

  • Accessibility Score: The number calculated by accessibility area and total area on the selected Skin Model
  • Color Mapped Skin: The visualization data represents the accessibility score
  • All Path: The visualization data represents the candidate of the straight paths
  • The Longest Path: The maximum distance between the Target Point and the surface of Skin Model
  • The Shortest Path: The minimum distance between the Target Point and the surface of Skin Model
  • Path Candidate: All path candidate
  • Skin Entry Point: Skin entry point on the selected path

Tutorials

Paa2014-1.png
  • This PercutaneousApproach Analysis module could be used for the percutaneous path planning. After the analysis on this module, you can select the candidate paths from the skin to the target to avoid obstacles such as blood vessels, bones and specific anatomies and obtain the skin entry point. By using the obtained target and the skin entry points, the needle model could be placed on the module outcome by using PortPlacement module.

Tutorial steps
1. Download Tutorial Data Set: Media:PAAModuleTutorialData.zip‎.
2. Open "WorkBasedOnAbdominal_Atlas_2008.mrml" scene file.
3. Select "PercutaneousApproachAnalysis" module.
4. Set "F" as Target Point.
5. Set "Create new MarkupsFiducial" as Output Fiducial List.
6. Set "Model_135_right_external_oblique_muscle.vtk" as Skin Model.
7. Set "Model_2_bone.vtk" as Obstacle Model.
8. Click "Start Analysis" button.
9. Click "The shortest Path (Blue)" check box.
10. Click "Path Candidate (Red)" check box.
11. Move "Path Candidate (No.)"slider bar and make sure you can obtain each path candidate visually.
12. Set "22318" to "Path Candidate (No.)" number box manually. The number represents The shortest Path number.
13. Move "Point Candidate on the Path" slider to 600 and make sure the crossing point between the path and skin model was very close to the red color map.
14. Increment "Path Candidate (No.)" from 22318 to 22328 manually and make sure the path was going away from the red color map.
15. Change "Color Mapped Skin Opacity" to 100.
16. Move "Point Candidate on the Path" slider to 133 and make sure the crossing point between the path and skin model became a skin entry point.
17. Click "Create Point on the Path" button. You can obtain the skin entry point.
15. Select "PortPlacement" module.
16. Set "MarkupsFiducilal" as Markups node of surgical ports and click "Set Port Markup Node" button.
17. Select "Visible" column.
18. Set "F" as Surgical Target Fiducial and Click "Aim Tools at Target".
19. Set "Tool radius" to 1.50.
20. You can see the probe and the probe was far from the red color map on the skin.

Panels and their use


Parameters panel

Paa2014-9.png
  • 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.
    • Start Analysis button starts calculating path candidates from the skin model to the target point to avoid the obstacle model.


Outcomes panel

Paa2014-10.png
  • Outcomes panel
    • Color Mapped Skin check button visualizes a color map showing approachable and inapproachable areas on the skin model.
    • Accessibility score is displayed in the result field.
    • 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.


Cleaning Outcomes panel

Paa2014-11.png
  • Cleaning Outcomes panel
    • Delete the Created Paths button erases the all models created by this module.
    • Delete the Created Transforms button erases the transforms created by this module except the marker transforms.


Similar Modules

N/A

References

[1] Rossi S, Di Stasi M, Buscarini E, Cavanna L, Quaretti P, Squassante E, Garbagnati F, Buscarini L. (1995) Percutaneous radiofrequency interstitial thermal ablation in the treatment of small hepatocellular carcinoma. Cancer J Sci Am 1(1): 73-81
[2] Silverman SG, Tuncali K, Adams DF, van Sonnenberg E, Zou KH, Kacher DF, Morrison PR, Jolesz FA. (2000) MR Imaging-guided Percutaneous Cryotherapy of Liver Tumors: Initial Experience. Radiology 217: 657-64
[3] Ido K, Isoda N, Sugano K. (2001) Microwave coagulation therapy for liver cancer: laparoscopic microwave coagulation. J Gastroenterol 36(3): 145-52
[4] Khlebnikov R, Kainz B, Muehl J, Schmalstieg D. (2011) Crepscular Rays for Tumor Accessibility Planning. IEEE Trans Vis Comput Graph 17(12): 2163-72
[5] PortPlacement module (used in tutorial)
[6] SPL Abdominal Atlas (used in examples)
[7] Github source code repository (https://github.com/SNRLab/PercutaneousApproachAnalysis)
[8] Percutaneous Approach Analysis project in 2014 Winter Project Week

PAAlogo-small.png

Information for Developers