<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tokuda</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tokuda"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Tokuda"/>
	<updated>2026-04-06T22:52:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=58895</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=58895"/>
		<updated>2018-04-13T14:07:52Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Change Behaviour of the User Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''': Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Length&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
*Distance&lt;br /&gt;
**'''Distance from''': A MarkupsFiducial node that contains target points for distance measurement. The shortest distances between these points and the curve are calculated and shown in the table below.&lt;br /&gt;
**'''Extrapolate curves to measure the distances''': If enabled, the curve is extrapolated to find the closest point on the curve from the target points.&lt;br /&gt;
**'''Show error vectors''': Show vectors from the closet point on the curve to the target points on the table&lt;br /&gt;
*Curvature&lt;br /&gt;
**'''Curvature mode''': Color-map the curvature&lt;br /&gt;
**'''Color range''': Adjust the color range automatically, if &amp;quot;Auto&amp;quot; is selected.&lt;br /&gt;
**'''Color range''': Manually adjust the color range. &lt;br /&gt;
**'''Mean''': Mean curvature.&lt;br /&gt;
**'''Minimum''': Minimum curvature.&lt;br /&gt;
**'''Maximum''': Maximum curvature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]] [[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change Behaviour of the User Interface==&lt;br /&gt;
&lt;br /&gt;
The ranges and steps for configuring the parameters in the GUI (i.e. radius, resolution) are limited. If you want to set the parameters beyond those limits, you can change the ranges from the Python interactor.  &lt;br /&gt;
&lt;br /&gt;
For example, the following code will change the step and minimum value of the curve radius to 0.05 mm and 0.0 mm respectively:&lt;br /&gt;
&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm = slicer.modules.CurveMakerWidget.RadiusSliderWidget&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm.singleStep=0.05&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm.minimum=0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=58894</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=58894"/>
		<updated>2018-04-13T14:06:36Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''': Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Length&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
*Distance&lt;br /&gt;
**'''Distance from''': A MarkupsFiducial node that contains target points for distance measurement. The shortest distances between these points and the curve are calculated and shown in the table below.&lt;br /&gt;
**'''Extrapolate curves to measure the distances''': If enabled, the curve is extrapolated to find the closest point on the curve from the target points.&lt;br /&gt;
**'''Show error vectors''': Show vectors from the closet point on the curve to the target points on the table&lt;br /&gt;
*Curvature&lt;br /&gt;
**'''Curvature mode''': Color-map the curvature&lt;br /&gt;
**'''Color range''': Adjust the color range automatically, if &amp;quot;Auto&amp;quot; is selected.&lt;br /&gt;
**'''Color range''': Manually adjust the color range. &lt;br /&gt;
**'''Mean''': Mean curvature.&lt;br /&gt;
**'''Minimum''': Minimum curvature.&lt;br /&gt;
**'''Maximum''': Maximum curvature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]] [[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change Behaviour of the User Interface==&lt;br /&gt;
&lt;br /&gt;
The ranges and steps for configuring the parameters in the GUI (i.e. radius, resolution) are limited. If you want to set the parameters beyond those limits, you can change the ranges by from the Python interactor.  &lt;br /&gt;
&lt;br /&gt;
For example, the following code will change the step and minimum value of the curve radius to 0.05 mm and 0.0 mm respectively:&lt;br /&gt;
&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm = slicer.modules.CurveMakerWidget.RadiusSliderWidget&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm.singleStep=0.05&lt;br /&gt;
  &amp;gt;&amp;gt;&amp;gt; cm.minimum=0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57660</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57660"/>
		<updated>2018-01-09T19:44:07Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;nema2008&amp;quot; &amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is known that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition &amp;lt;ref&amp;gt;Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical approaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; &amp;gt;Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Constantinides-1997&amp;quot;&amp;gt;Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise measurements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&amp;lt;/ref&amp;gt;. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundred, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method &amp;lt;ref name=&amp;quot;nema2008&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Constantinides-1997&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; /&amp;gt;. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement &amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; /&amp;gt;. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating a pixel-by-pixel difference between two images acquired under exactly the same conditions &amp;lt;ref name=&amp;quot;nema2008&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&amp;lt;/ref&amp;gt;. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with a standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57657</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57657"/>
		<updated>2018-01-09T19:42:33Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;nema2008&amp;quot; &amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is known that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition &amp;lt;ref&amp;gt;Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical approaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; &amp;gt;Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Constantinides-1997&amp;quot;&amp;gt;Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise measurements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&amp;lt;/ref&amp;gt;. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundred, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method &amp;lt;ref name=&amp;quot;nema2008&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Constantinides-1997&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; /&amp;gt;. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement &amp;lt;ref name=&amp;quot;Kellman-2005&amp;quot; /&amp;gt;. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating a pixel-by-pixel difference between two images acquired under exactly the same conditions &amp;lt;ref name=&amp;quot;nema2008&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&amp;lt;/ref&amp;gt;. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with a standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57654</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57654"/>
		<updated>2018-01-09T19:39:02Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;nema2008&amp;quot; &amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is known that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition &amp;lt;ref&amp;gt;Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical approaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise mea- surements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&amp;lt;/ref&amp;gt;. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundred, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method [NEMA-2008, Constantinides-1997, Kellman-2005]. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement [Kellman-2005]. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating a pixel-by-pixel difference between two images acquired under exactly the same conditions &amp;lt;ref name=&amp;quot;nema2008&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&amp;lt;/ref&amp;gt;. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with a standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57651</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57651"/>
		<updated>2018-01-09T19:16:41Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;NEMA2008&amp;quot;&amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is known that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition &amp;lt;ref&amp;gt;Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical approaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise mea- surements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&amp;lt;/ref&amp;gt;. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundred, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method [NEMA-2008, Constantinides-1997, Kellman-2005]. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement [Kellman-2005]. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating a pixel-by-pixel difference between two images acquired under exactly the same conditions &amp;lt;ref &amp;quot;NEMA2008&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&amp;lt;/ref&amp;gt;. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with a standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57648</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57648"/>
		<updated>2018-01-09T19:14:40Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is known that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition &amp;lt;ref&amp;gt;Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical approaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise mea- surements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&amp;lt;/ref&amp;gt;. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundred, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method [NEMA-2008, Constantinides-1997, Kellman-2005]. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement [Kellman-2005]. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating a pixel-by-pixel difference between two images acquired under exactly the same conditions [NEMA-2008]&amp;lt;ref&amp;gt;Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&amp;lt;/ref&amp;gt;. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with a standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57639</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57639"/>
		<updated>2018-01-09T17:00:02Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise &amp;lt;ref&amp;gt; Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&amp;lt;/ref&amp;gt;. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is know that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition [Reeder-2005, Kellman-2005, Constantinides-2004, Dietrich-2007]. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundreds, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method [NEMA-2008, Constantinides-1997, Kellman-2005]. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement [Kellman-2005]. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating pixel-by-pixel difference between two images acquired under exactly the same conditions [NEMA-2008, Murphy-1993, Firbank-1999]. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[Reeder-2005] Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical ap- proaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&lt;br /&gt;
*[Kellman-2005] Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&lt;br /&gt;
*[Constantinides-2004] Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise mea- surements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857 (Erratum in: Magn Reson Med 2004; 52:219).&lt;br /&gt;
*[Dietrich-2007] Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&lt;br /&gt;
*[Murphy-1993] Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&lt;br /&gt;
*[Firbank-1999] Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&lt;br /&gt;
*[Constantinides-1997] Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise measure- ments in magnitude images from NMR phased arrays. [Published erra- tum in: Magn Reson Med. 2004 Jul;52:219]. Magn Reson Med 1997;38: 852-857.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57630</id>
		<title>Documentation/4.8/Modules/MRI SNR Measurement</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.8/Modules/MRI_SNR_Measurement&amp;diff=57630"/>
		<updated>2018-01-09T16:54:00Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is partially supported by NIH P41EB015898 &amp;quot;Image Guided Therapy Center&amp;quot; (PI: Clare Tempany), 1R01CA111288-01A1 &amp;quot;Enabling Technologies for MRI-Guided Prostate Interventions&amp;quot; (PI: Clare Tempany), and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: Babak Matinfar, Junichi Tokuda&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; babak@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|SPL}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
3D Slicer CLI to calculate signal-to-nose ratio of MR images using &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are documenting a CLI, the description should be extracted from the corresponding XML description. This could be done automatically using the following wiki template:&amp;lt;pre&amp;gt;{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction to SNR Measurement}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to determine the SNR of MR images suggested in the NEMA standard and the literature. The most commonly used method among the studies on MRI-compatible robotics is a single image method, where SNR is measured based on two regions of interest (ROIs) on a single image assuming the statistically and spatially uniform distribution of noise [Kaufman-1989, Henkelman-1985, NEMA-2008]. Usually, one ROI is defined in the tissue of interest, and the other is in the image background i.e. air. Although the method takes a practical approach requiring only a single image, it is know that the method does not yield accurate SNR measurement in a phased-array surface coil system and/or sum-of-square reconstruction due to the spatial and statistical variation of noise. Alternatively, one can measure SNR without assuming the statistically and spatially uniform distribution of noise with the following methods. The first method is to measure pixel-by-pixel SNR through the repeated acquisition [Reeder-2005, Kellman-2005, Constantinides-2004, Dietrich-2007]. Because the method relies less on the assumption of statistical and spatial noise distribution than any other methods, it is often used as the gold standard SNR measurement. A drawback of this method, however, is that it requires a large number of image acquisitions, typically a few hundreds, making it difficult to be used with a slow imaging sequence. The second method is the &amp;quot;noise only image&amp;quot; method [NEMA-2008, Constantinides-1997, Kellman-2005]. The method calculates SNR based on a single or multiple &amp;quot;noise only images&amp;quot;, which are acquired without radiofrequency (RF) excitation. The &amp;quot;noise only image&amp;quot; method was further generalized by Kellman and McVeigh, where images are reconstructed in &amp;quot;SNR units&amp;quot; based on noise only images allowing direct pixel-by-pixel SNR measurement [Kellman-2005]. A disadvantage of the &amp;quot;noise only image&amp;quot; method is that most of clinical MRI system does not allow acquiring noise only images with standard pulse sequence. The third method is the &amp;quot;difference image&amp;quot; method, where noise is estimated by calculating pixel-by-pixel difference between two images acquired under exactly the same conditions [NEMA-2008, Murphy-1993, Firbank-1999]. Despite several drawbacks e.g. requirement for stationary tissue and limited precision due to small sample size, the method allows measuring local SNR with standard clinical sequence. The SNRMeasurement module calculates the SNR of MR images using the &amp;quot;difference image&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
*[Kaufman-1989] Kaufman L, Kramer DM, Crooks LE, Ortendahl DA. Measuring signal-to-noise ratios in MR imaging. Radiology 1989;173:265-267.&lt;br /&gt;
*[Henkelman-1985] Henkelman RM. Measurement of signal intensities in the presence of noise in MR images. Med Phys 1985;12:232-233.&lt;br /&gt;
*[NEMA-2008] National Electrical Manufacturers Association (NEMA). Determination of signal-to-noise ratio (SNR) in diagnostic magnetic resonance imaging. NEMA Standards Publication MS 1-2008. National Electrical Manufacturers Association; 2008.&lt;br /&gt;
*[Reeder-2005] Reeder SB, Wintersperger BJ, Dietrich O, et al. Practical ap- proaches to the evaluation of signal-to-noise ratio performance with parallel imaging: application with cardiac imaging and a 32- channel cardiac coil. Magn Reson Med 2005;54:748-754.&lt;br /&gt;
*[Kellman-2005] Kellman P, McVeigh ER. Image reconstruction in SNR units: a general method for SNR measurement. Magn Reson Med 2005;54: 1439-1447.&lt;br /&gt;
*[Constantinides-2004] Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise mea- surements in magnitude images from NMR phased arrays. Magn Reson Med 1997;38:852-857 (Erratum in: Magn Reson Med 2004; 52:219).&lt;br /&gt;
*[Dietrich-2007] Dietrich O, Raya JG, Reeder SB, Reiser MF, Schoenberg SO. Measurement of signal-to-noise ratios in MR images: influence of multichannel coils, parallel imaging, and reconstruction filters. J Magn Reson Imaging. 2007 Aug;26(2):375-85.&lt;br /&gt;
*[Murphy-1993] Murphy BW, Carson PL, Ellis JH, Zhang YT, Hyde RJ, Chenevert TL. Signal-to-noise measures for magnetic resonance imagers. Magn Reson Imaging 1993;11:425-428.&lt;br /&gt;
*[Firbank-1999] Firbank MJ, Coulthard A, Harrison RM, Williams ED. A comparison of two methods for measuring the signal to noise ratio on MR images. Phys Med Biol 1999;44:N261-N264.&lt;br /&gt;
*[Constantinides-1997] Constantinides CD, Atalar E, McVeigh ER. Signal-to-noise measure- ments in magnitude images from NMR phased arrays. [Published erra- tum in: Magn Reson Med. 2004 Jul;52:219]. Magn Reson Med 1997;38: 852-857.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
The SNR module is created to compute the SNR for MR sequences based on the difference image method. In this method, two MR images are acquired under identical conditions. These images are then added and subtracted from each other pixel by pixel. In the resulting images, a region of interest is defined and the mean and standard deviation of the ROI is computed. SNR is computed as:&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Procedure:&lt;br /&gt;
** Using Slicer, load the two MR images which SNR is measured for.&lt;br /&gt;
** Define an ROI using the Editor tool. The ROI should have two labels, for example two circles with the radius of 40 mm, on two axial slices. They should be separated properly from each other. It does not matter which of the two MR images is used to define the ROI.&lt;br /&gt;
[[File:SNR1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Open the SNRMeasurement module.:&lt;br /&gt;
** Select the Input Volume 1 as one of the MR image, and Input Volume 2 as the other MR image&lt;br /&gt;
** Select the Label Map as the ROI which was defined above. Usually it is named “MR image Name”-label. &lt;br /&gt;
** Click Apply&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
N/A&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46707</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46707"/>
		<updated>2016-07-29T02:15:44Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''': Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Length&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
*Distance&lt;br /&gt;
**'''Distance from''': A MarkupsFiducial node that contains target points for distance measurement. The shortest distances between these points and the curve are calculated and shown in the table below.&lt;br /&gt;
**'''Extrapolate curves to measure the distances''': If enabled, the curve is extrapolated to find the closest point on the curve from the target points.&lt;br /&gt;
**'''Show error vectors''': Show vectors from the closet point on the curve to the target points on the table&lt;br /&gt;
*Curvature&lt;br /&gt;
**'''Curvature mode''': Color-map the curvature&lt;br /&gt;
**'''Color range''': Adjust the color range automatically, if &amp;quot;Auto&amp;quot; is selected.&lt;br /&gt;
**'''Color range''': Manually adjust the color range. &lt;br /&gt;
**'''Mean''': Mean curvature.&lt;br /&gt;
**'''Minimum''': Minimum curvature.&lt;br /&gt;
**'''Maximum''': Maximum curvature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]] [[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46706</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46706"/>
		<updated>2016-07-29T02:09:28Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Visualize Curvature */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]] [[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46705</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46705"/>
		<updated>2016-07-29T02:09:06Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Visualize Curvature */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Curvature.png&amp;diff=46704</id>
		<title>File:CurveMaker-2.0-Curvature.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Curvature.png&amp;diff=46704"/>
		<updated>2016-07-29T02:08:32Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CurvatureMode.png&amp;diff=46703</id>
		<title>File:CurveMaker-2.0-CurvatureMode.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CurvatureMode.png&amp;diff=46703"/>
		<updated>2016-07-29T02:07:57Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-DistanceTable.png&amp;diff=46702</id>
		<title>File:CurveMaker-2.0-Distance-DistanceTable.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-DistanceTable.png&amp;diff=46702"/>
		<updated>2016-07-29T02:07:25Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-SelectFiducial.png&amp;diff=46701</id>
		<title>File:CurveMaker-2.0-Distance-SelectFiducial.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-SelectFiducial.png&amp;diff=46701"/>
		<updated>2016-07-29T02:07:02Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46700</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46700"/>
		<updated>2016-07-29T02:06:22Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Measure Distances from Curve to Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. If &amp;quot;Extrapolate curves to measure the distances&amp;quot; is checked, it will extrapolate curves before searching the closet point. If &amp;quot;Show error vectors&amp;quot; is checked, the table also shows the vector from the closest point on the curve to each Markups point.&lt;br /&gt;
&lt;br /&gt;
==Visualize Curvature==&lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Curvature&amp;quot; frame, and turn on &amp;quot;Curvature mode&amp;quot;. Also, select &amp;quot;Auto&amp;quot; for &amp;quot;Color range&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CurvatureMode.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Curvature.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46699</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46699"/>
		<updated>2016-07-29T01:58:21Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node. In this tutorial, we use &amp;quot;Points&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
Open the &amp;quot;Distance&amp;quot; frame and choose the MarkupsFiducial node created in the previous step (named &amp;quot;Points&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-SelectFiducial.png|300px]] &lt;br /&gt;
&lt;br /&gt;
The distance from the curve to each point will be displayed. &lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-DistanceTable.png|300px]]&lt;br /&gt;
&lt;br /&gt;
These are the distances between the Markups points and points on the curve closest to each point. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png&amp;diff=46698</id>
		<title>File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png&amp;diff=46698"/>
		<updated>2016-07-29T01:47:55Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png&amp;diff=46697</id>
		<title>File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png&amp;diff=46697"/>
		<updated>2016-07-29T01:47:33Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-EnterMarkupsName.png&amp;diff=46696</id>
		<title>File:CurveMaker-2.0-EnterMarkupsName.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-EnterMarkupsName.png&amp;diff=46696"/>
		<updated>2016-07-29T01:47:14Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CreateMarkups.png&amp;diff=46695</id>
		<title>File:CurveMaker-2.0-CreateMarkups.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CreateMarkups.png&amp;diff=46695"/>
		<updated>2016-07-29T01:46:58Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Markups.png&amp;diff=46694</id>
		<title>File:CurveMaker-2.0-Markups.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Markups.png&amp;diff=46694"/>
		<updated>2016-07-29T01:46:33Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Length.png&amp;diff=46693</id>
		<title>File:CurveMaker-2.0-Length.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Length.png&amp;diff=46693"/>
		<updated>2016-07-29T01:45:56Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46692</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46692"/>
		<updated>2016-07-29T01:45:38Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Measure Distances from Curve to Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-EnterMarkupsName.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the new MarkupsFiducial node is selected, start adding new points by clicking &amp;quot;Create-andPlace Fiducial&amp;quot; button on the menu bar followed by a point on the image.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial1.png|300px]] [[Image:CurveMaker-2.0-Distance-CreateAndPlaceFiducial2.png|300px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46691</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46691"/>
		<updated>2016-07-29T01:42:51Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Length.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Measure Distances from Curve to Points==&lt;br /&gt;
To measure distances from the curve to points, first create a second MarkupsFiducial node using the Markups module. Open the Markups and choose &amp;quot;Create new MarkupsFiducial as ..&amp;quot; from &amp;quot;List&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Markups.png|300px]] [[Image:CurveMaker-2.0-CreateMarkups.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter a name for the new Markups node.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46690</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46690"/>
		<updated>2016-07-29T01:37:47Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Measure Curve Length==&lt;br /&gt;
To measure the length of the curve, simply open the &amp;quot;Length&amp;quot; frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Ring.png&amp;diff=46689</id>
		<title>File:CurveMaker-2.0-Ring.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Ring.png&amp;diff=46689"/>
		<updated>2016-07-29T01:36:19Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-RingModeOn.png&amp;diff=46688</id>
		<title>File:CurveMaker-2.0-RingModeOn.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-RingModeOn.png&amp;diff=46688"/>
		<updated>2016-07-29T01:35:53Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46687</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46687"/>
		<updated>2016-07-29T01:35:35Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;Ring mode&amp;quot; is &amp;quot;On&amp;quot;, the first and the last points are connected to draw a ring.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-RingModeOn.png|300px]] [[Image:CurveMaker-2.0-Ring.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-DragPoint.png&amp;diff=46686</id>
		<title>File:CurveMaker-2.0-DragPoint.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-DragPoint.png&amp;diff=46686"/>
		<updated>2016-07-29T01:32:26Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46685</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46685"/>
		<updated>2016-07-29T01:32:06Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]] [[Image:CurveMaker-2.0-DragPoint.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-AutoUpdate.png&amp;diff=46684</id>
		<title>File:CurveMaker-2.0-AutoUpdate.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-AutoUpdate.png&amp;diff=46684"/>
		<updated>2016-07-29T01:28:29Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46683</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46683"/>
		<updated>2016-07-29T01:28:04Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points will appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Generate Curve&amp;quot; button only generates a curve once, and needs to be clicked every time parameters are changed. To update curves automatically, turn on &amp;quot;Auto update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-AutoUpdate.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Curve.png&amp;diff=46682</id>
		<title>File:CurveMaker-2.0-Curve.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Curve.png&amp;diff=46682"/>
		<updated>2016-07-29T01:09:42Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-GenerateCurve.png&amp;diff=46681</id>
		<title>File:CurveMaker-2.0-GenerateCurve.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-GenerateCurve.png&amp;diff=46681"/>
		<updated>2016-07-29T01:09:21Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CreateNewModel.png&amp;diff=46680</id>
		<title>File:CurveMaker-2.0-CreateNewModel.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-CreateNewModel.png&amp;diff=46680"/>
		<updated>2016-07-29T01:08:57Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46679</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46679"/>
		<updated>2016-07-29T01:08:12Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png|300px]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewModel.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once the source points and curve models are specified, click &amp;quot;Generate Curve&amp;quot;. A curve that connects the fiducial points should appear on the 3D viewer.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-GenerateCurve.png|300px]] [[Image:CurveMaker-2.0-Curve.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46678</id>
		<title>Documentation/Nightly/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Extensions/CurveMaker&amp;diff=46678"/>
		<updated>2016-07-29T01:02:19Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
*Analysis of needle trajectories for image-guided percutaneous interventions&lt;br /&gt;
*Quantitative analysis of curves, including&lt;br /&gt;
** Length&lt;br /&gt;
** Distance from specific points&lt;br /&gt;
** Curvature&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46677</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46677"/>
		<updated>2016-07-29T01:01:50Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-SelectSourcePoints.png&amp;diff=46676</id>
		<title>File:CurveMaker-2.0-SelectSourcePoints.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-SelectSourcePoints.png&amp;diff=46676"/>
		<updated>2016-07-29T01:01:14Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46675</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46675"/>
		<updated>2016-07-29T01:00:57Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46674</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46674"/>
		<updated>2016-07-29T00:59:47Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[File:CurveMaker-2.0-FiducialPointMode.png]] [[File:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46673</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46673"/>
		<updated>2016-07-29T00:59:02Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[File:CurveMaker-2.0-FiducialPointMode.png]] [[FIle:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46672</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46672"/>
		<updated>2016-07-29T00:58:39Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. Click the fiducial button on the menu bar to change the mouse mode to &amp;quot;Create-and-Place Fiducial&amp;quot;, and then click on the image to create a fiducial. Repeat those steps to create a list of fiducials. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-DefineFiducialPoints.png&amp;diff=46671</id>
		<title>File:CurveMaker-2.0-DefineFiducialPoints.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-DefineFiducialPoints.png&amp;diff=46671"/>
		<updated>2016-07-29T00:55:29Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-FiducialPointMode.png&amp;diff=46670</id>
		<title>File:CurveMaker-2.0-FiducialPointMode.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-FiducialPointMode.png&amp;diff=46670"/>
		<updated>2016-07-29T00:55:10Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46669</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46669"/>
		<updated>2016-07-29T00:48:21Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Generate a curve from fiducial points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPointMode.png]] [[Image:CurveMaker-2.0-DefineFiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
If you have created a fiducial list right after starting 3D Slicer, the fiducial list should be named &amp;quot;F&amp;quot;. In the Curve Maker module, click the &amp;quot;Source Points&amp;quot; pull-down menu and select &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SelectSourcePoints.png]]&lt;br /&gt;
&lt;br /&gt;
Also, create a 3D model node for the curve by selecting &amp;quot;Create new Model&amp;quot; from the &amp;quot;Curve model&amp;quot; pull-down menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-CreateNewmodel.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46668</id>
		<title>Documentation/4.5/Extensions/CurveMaker</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Extensions/CurveMaker&amp;diff=46668"/>
		<updated>2016-07-29T00:40:06Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
Author: Junichi Tokuda (BWH), Laurent Chauvin (BWH)&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Junichi Tokuda &amp;lt;email&amp;gt; tokuda@bwh.harvard.edu&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
License: [http://www.slicer.org/pages/LicenseText Slicer license]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|namic}}|NA-MIC&lt;br /&gt;
|{{collaborator|logo|ncigt}}|NCIGT&lt;br /&gt;
|{{collaborator|logo|spl}}|SPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH R01CA138586 &amp;quot;A New Method For Improved Targeting in Image-Guided Abdominal Interventions&amp;quot; (PI: Nobuhiko Hata), P01-CA67165 &amp;quot;Image Guided Therapy&amp;quot; (PI: Clare M. Tempany) &amp;lt;br&amp;gt;&lt;br /&gt;
The module has been developed based on ideas and feedback from the community. We would like to especially thank:&lt;br /&gt;
* Dr. Matthew Jolley, M.D., Fellow in Pediatric Anesthesia / Pediatric Cardiology, Boston Children's Hospital.&lt;br /&gt;
* Dr. Sumit Agrawal, MD, FRCS, Assistant Professor, Department of Otolaryngology, University of Western Ontario.&lt;br /&gt;
* Dr. Wei Wang, Ph.D., Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Ron Kikinis, M.D. Department of Radiology, Brigham and Women's Hospital.&lt;br /&gt;
* Dr. Steve Pieper, Ph.D. Isomics, Inc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Extension Description}}&lt;br /&gt;
{{documentation/modulename}} 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Use Cases}}&lt;br /&gt;
*Draw lines in 3D.&lt;br /&gt;
*Visualization of catheters.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Slicer4-CurveMaker-GUI.png|thumb|400px|CurveMaker GUI and result of 3D curve.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
*Parameters&lt;br /&gt;
**'''Source points''': The list of fiducial points on the curve&lt;br /&gt;
**'''Curve model''': The model of the curve.&lt;br /&gt;
**'''Radius''': The radius of the curve model.&lt;br /&gt;
**'''Interpolation''': The method to interpolate the fiducial points.&lt;br /&gt;
***'''None''': The points are connected by a straight line. &lt;br /&gt;
***'''Cardinal Spline''': The default method.&lt;br /&gt;
***'''Hermite Spline''': The same interpolation method as the [[Documentation/Nightly/Modules/Endoscopy]] module. Useful for visualizing the trajectory of the virtual endoscope.&lt;br /&gt;
**'''Ring Mode''' (&amp;lt;font color=red&amp;gt;Added June 1, 2015&amp;lt;/font&amp;gt;): Generate a closed-loop. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; (NOTE: Ring Mode does not support Hermit Spline. Ring Mode &amp;quot;On&amp;quot; is disabled, when Hermit Spline is selected.)&amp;lt;/font&amp;gt;&lt;br /&gt;
**'''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.&lt;br /&gt;
*Measurements&lt;br /&gt;
**'''Length''': The length of the current curve is shown in millimeter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Tutorials}}&lt;br /&gt;
==Installation==&lt;br /&gt;
The new features (Length, Distance, and Curvature) are available on nightly builds released on July 28 or later. First, open 3D Slicer:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-3DSlicerScreen.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Open the Slicer Extensions from the icon on the menu bar:&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Curve Maker&amp;quot; module from the list of extensions and click &amp;quot;INSTALL&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-SlicerExtensions-Install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Once you restart 3D Slicer, the Curve Maker module should show up on the Modules menu (under Informatics-&amp;gt;Curve Maker)&lt;br /&gt;
&lt;br /&gt;
[[Image:CurveMaker-2.0-Slicer-ModulesMenu.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Generate a curve from fiducial points==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, create a fiducial list. See [[Documentation/Nightly/Modules/Markups|the Markups module page]] for detail.&lt;br /&gt;
[[Image:CurveMaker-2.0-FiducialPoints.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Similar Extensions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|References}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-section|Information for Developers}}&lt;br /&gt;
The code is available at [https://github.com/tokjun/CurveMaker Github].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/module-subsection|Logo}}&lt;br /&gt;
[[Image:CurveMakerIcon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/extension-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Slicer-ModulesMenu.png&amp;diff=46667</id>
		<title>File:CurveMaker-2.0-Slicer-ModulesMenu.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:CurveMaker-2.0-Slicer-ModulesMenu.png&amp;diff=46667"/>
		<updated>2016-07-29T00:39:22Z</updated>

		<summary type="html">&lt;p&gt;Tokuda: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tokuda</name></author>
		
	</entry>
</feed>