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

From Slicer Wiki
Jump to: navigation, search
Line 96: Line 96:
 
"Generate Curve" button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on "Auto update".
 
"Generate Curve" button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on "Auto update".
  
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]]
+
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]
 +
 
 +
 
 +
 
 +
==Generate a curve from fiducial points==
  
  

Revision as of 01:32, 29 July 2016

Home < Documentation < Nightly < Extensions < CurveMaker


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


Introduction and Acknowledgements

Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)
Contact: Junichi Tokuda <email> tokuda@bwh.harvard.edu</email>
License: Slicer license |- |

NA-MIC  
NCIGT  
SPL  

This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 "A New Method For Improved Targeting in Image-Guided Abdominal Interventions" (PI: Nobuhiko Hata), P01-CA67165 "Image Guided Therapy" (PI: Clare M. Tempany)
The module has been developed based on ideas and feedback from the community. We would like to especially thank:

  • Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.
  • Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.
  • Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.
  • Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.
  • Dr. Steve Pieper, Ph.D. Isomics, Inc.

Extension Description

CurveMaker is a simple scripted module to generate a 3D curve from a fiducial list. Curves between fiducial points are interpolated by vtkSplineFilter. The curve is dynamically updated as the fiducial list is modified (moved/added/deleted). The module is useful to draw lines in 3D space, or visualize tracked catheters.

Use Cases

  • Draw lines in 3D.
  • Visualization of catheters.
  • Analysis of needle trajectories for image-guided percutaneous interventions
  • Quantitative analysis of curves, including
    • Length
    • Distance from specific points
    • Curvature
CurveMaker GUI and result of 3D curve.

Panels and their use

  • Parameters
    • Source points: The list of fiducial points on the curve
    • Curve model: The model of the curve.
    • Radius: The radius of the curve model.
    • Interpolation: The method to interpolate the fiducial points.
      • None: The points are connected by a straight line.
      • Cardinal Spline: The default method.
      • Hermite Spline: The same interpolation method as the Documentation/Nightly/Modules/Endoscopy module. Useful for visualizing the trajectory of the virtual endoscope.
    • Ring Mode (Added June 1, 2015): Generate a closed-loop. (NOTE: Ring Mode does not support Hermit Spline. Ring Mode "On" is disabled, when Hermit Spline is selected.)
    • Enable: Start updating the curve model based on the curve. While this check box is on, the curve model is automatically updated whenever the parameters are modified.
  • Measurements
    • Length: The length of the current curve is shown in millimeter.

Tutorials

Installation

The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:

CurveMaker-2.0-3DSlicerScreen.png

Open the Slicer Extensions from the icon on the menu bar:

CurveMaker-2.0-SlicerExtensions.png

Choose "Curve Maker" module from the list of extensions and click "INSTALL" button.

CurveMaker-2.0-SlicerExtensions-Install.png

Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics->Curve Maker)

CurveMaker-2.0-Slicer-ModulesMenu.png

Generate a curve from fiducial points

First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to "Create-and-Place Fiducial", and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See the Markups module page for detail.

CurveMaker-2.0-FiducialPointMode.png CurveMaker-2.0-DefineFiducialPoints.png

If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named "F". In the Curve Maker module, click the "Source Points" pull-down menu and select "F".

CurveMaker-2.0-SelectSourcePoints.png

Also, create a 3D model node for the curve by selecting "Create new Model" from the "Curve model" pull-down menu.

CurveMaker-2.0-CreateNewModel.png

Once the source points and curve models are specified, click "Generate Curve". A curve that connects the fiducial points will appear on the 3D viewer.

CurveMaker-2.0-GenerateCurve.png CurveMaker-2.0-Curve.png

"Generate Curve" button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on "Auto update".

CurveMaker-2.0-AutoUpdate.png CurveMaker-2.0-DragPoint.png


Generate a curve from fiducial points

Similar Extensions

References

Information for Developers

The code is available at Github.


CurveMakerIcon.png