drawpolygon
Create customizable polygonal ROI
Description
The drawpolygon
function creates a Polygon
object that specifies the shape and position of a polygonal region of interest (ROI).
You can create the ROI interactively by drawing the ROI over an image using the mouse,
or programmatically by using name-value arguments. You can also specify the initial
appearance and behavior of the ROI.
After you create the ROI, you can use object properties, object functions, and event notifications to customize the shape, position, appearance, and behavior of the ROI. For more information about using these capabilities, see Tips.
creates a
roi
= drawpolygonPolygon
object and enables interactive drawing of a polygonal
ROI on the current axes.
To draw the ROI, position the pointer on the image. The cursor changes to a fleur shape. Click to draw vertices of the polygon and drag to draw the lines between the vertices. To finish the ROI, double-click the mouse button. For more information about using the ROI, including keyboard shortcuts and context menu options, see Tips.
modifies the appearance and behavior of the ROI using one or more name-value
arguments.roi
= drawpolygon(___,Name=Value
)
Examples
Input Arguments
Output Arguments
Tips
The ROI supports the following interactivity, including keyboard shortcuts.
Behavior Keyboard shortcut Make drawn line snap at 15 degree angles. Hold the Shift key while drawing. Finish drawing (close) the ROI. Double-click, which adds a new vertex at the pointer position and draws a line to the first vertex to close the polygon.
Press Enter, which adds a new vertex at the pointer position and draws a line to the first vertex to close the polygon.
Right-click, which does not add a new vertex but closes the polygon from the previous vertex.
Position pointer over the first vertex and click.
Cancel drawing the ROI. Press Esc. The function returns a valid ROI object with an empty Position
property.Add a new vertex to the ROI. Position the pointer over the edge of the ROI and double-click.
Position the pointer over the edge of the ROI, right-click, and select Add Vertex from the context menu.
Remove the most recently added vertex but keep drawing. Press Backspace. The function redraws the line from the previous vertex to the current position of the pointer. You can only back up to the first vertex you drew. Resize (reshape) the ROI Position pointer over a vertex and then click and drag.
Add a new vertex to the ROI and then click and drag.
Remove a vertex. The ROI redraws the line connecting the two neighboring vertices.
Move the ROI. Position the pointer over the ROI (not on a vertex). The pointer changes to a fleur shape. Click and drag to move the ROI. Delete the ROI. Position the pointer anywhere on the ROI and right-click. Select Delete Polygon from the context menu. You can also delete the ROI using the delete
function.The
drawpolygon
function creates aPolygon
object. After you create the object, you can modify the shape, position, appearance, and behavior of the ROI by using these object capabilities.Capability Support Object properties ROI objects have properties that specify their shape, position, appearance, and behavior. After you create the ROI object, change properties using dot notation.
For example, to change the color of the
roi
to yellow, set itsColor
property:roi.Color = 'yellow'
Object functions ROI objects have object functions that operate on the ROIs. For example, if you want to pause the MATLAB command line after creating an ROI, use the wait
function.Event notifications ROI objects can notify your code when certain events occur, such as when the ROI is clicked or when the ROI is being moved. To receive event notifications, set up listeners. When the ROI notifies your application through the listener, it returns data specific to the event. For example, with the
ROIMoved
event, the ROI object returns its previous position and its current position. You can specify a callback function that executes when an event occurs.For an example of using event listeners with the
Polygon
object, see Set Up Listener for Polygon ROI Events.