Difference between revisions of "Modules:Measurements-Documentation-3.6"
Line 28: | Line 28: | ||
===Module Description=== | ===Module Description=== | ||
− | The Measurements module allows you to add | + | The Measurements module allows you to add rulers and angle widgets to the scene and they will be displayed and able to be manipulated in both the 3D and 2D windows. |
== Usage == | == Usage == |
Revision as of 19:55, 16 April 2010
Home < Modules:Measurements-Documentation-3.6Return to Slicer 3.6 Documentation
Measurements
Measurements
General Information
Module Type & Category
Type: Interactive
Category: Base
Authors, Collaborators & Contact
- Nicole Aucoin (3D): BWH
- Steve Pieper (2D): BWH
- Karthik Krishnan and Will Schroeder: Kitware
- Contact: Nicole Aucoin, nicole@bwh.harvard.edu
Module Description
The Measurements module allows you to add rulers and angle widgets to the scene and they will be displayed and able to be manipulated in both the 3D and 2D windows.
Usage
In order to get the end points of the ruler or the angle to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.
When you add a new angle or affine transform widget, you have to click once in the 3D window to render the transform widget, and three times to place the angle widget end points. After that, you can move the widgets around by dragging the handles.
Use Cases, Examples
This module is especially appropriate for these use cases:
- Useful for measuring tumor diameters
Examples of the module in use:
- Attach end points of the widgets to models or volume slices to measure distances and angles
Quick Tour of Features and Use
Warning: this module is being translated to use Qt widgets, so the appearance may change.
- Ruler Widget panel:
- Modify All Ruler Nodes panel
- Select the visibility of all ruler nodes. Set all rulers invisible or set all rulers visible.
- Modify Selected Ruler Node panel
- Ruler Node Select: create a new ruler node or show the parameters of a previously created ruler node
- Toggle Visibility: if checked, this ruler is visible, if not, this ruler is invisible.
- Position 1 and Position 2: ruler end point positions, updates when the ruler handles are moved in 3D or 2D, and can be used to update the end points by typing in a value.
- Constrain Ruler To Models
- Select Ruler Model 1 and 2: constrain the motion of the ruler end point to be on the surface of the selected model or volume slice plane. In order to get the end points of the ruler to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.
- Display Options
- Set End Point Color: set the colour used to show the ruler end points (coming soon: different colors for each end)
- Set Line Color: set the colour used to show the ruler line
- Toggle Distance Annotation Visibility: if checked, show the distance in mm between the end points along the line (coming soon: ability to change the color of the text)
- Distance Annotation Format: how to display the distance annotation, use string formatting strings, %g for an auto formatted floating point, %.2f to show two decimal places. Any text is allowed, defaults to mm (millimeters).
- Distance Annotation Scale: how large to render the distance annotation text
- Modify All Ruler Nodes panel
- Angle Widget panel:
- Modify All Angle Nodes panel:
- Select the visibility of all angle nodes. Set all angles invisible or set all angles visible.
- Modify Selected Angle Node panel:
- Angle Node Select: create a new angle node or show the parameters of a previously created angle node
- Toggle Visibility: if checked, this angle is visible, if not, this angle is invisible.
- Position 1 and Position 2 and Center: angle end point and center positions, updates when the angle handles are moved in 3D or 2D, and can be used to update the points by typing in a value.
- Constrain Angle To Models:
- Select Angle Model 1 and 2 and Center: constrain the motion of the angle end points to be on the surface of the selected model or volume slice plane. In order to get the end points of the angle to move along a selected model surface, you currently need to rotate the view so that the handle is rendered on top of the model, the next click will snap it to the model surface. If you move the model or slice plane, the measurement point won't move with it, the constraint only works when moving the end point handle. If you make the model or slice invisible, the end point cannot be moved, as the constraint will always be false.
- Display Options:
- Set End Point Color: set the colour used to show the angle end points
- Set Line Color: set the colour used to show the angle lines
- Toggle Ray 1 Visibility: if checked, show the ray from the first end point to the center
- Toggle Ray 2 Visibility: if checked, show the ray from the second end point to the center
- Toggle Arc Visibility: if checked, show the arc between the two angle arms.
- Angle Annotation Format: how to display the angle annotation, use string formatting strings, %g for an auto formatted floating point, %.2f to show two decimal places. Any text is allowed after the numerical specification.
- Angle Annotation Scale: how large to render the angle annotation text
- Modify All Angle Nodes panel:
- Transform Widget panel:
- UNDER CONSTRUCTION
Development
Notes from the Developer(s)
- Some features are not available unless Slicer3 is compiled with VTK5.6 or higher.
Dependencies
No other modules or packages are required for this module's use.
Tests
On the Dashboard, these tests verify that the module is working on various platforms:
- MyModuleTest1 MyModuleTest1.cxx
- MyModuleTest2 MyModuleTest2.cxx
Known bugs
Follow this link to the Slicer3 bug tracker.
Usability issues
Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.
Source code & documentation
Documentation generated by doxygen:
- vtkMeasurementsGUI
- vtkMeasurementsLogic
- vtkMeasurementsDistanceWidgetClass
- vtkMeasurementsAngleWidgetClass
- vtkMRMLMeasurementsNode
- vtkMRMLMeasurementsRulerNode
- vtkMRMLMeasurementsAngleNode
More Information
Acknowledgment
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.