Freehand
R2026bFreehand region of interest
Description
A Freehand object specifies the shape and position of an
axes-based hand-drawn region of interest (ROI). You can customize the appearance and
interactive behavior of the ROI.
Axes-based ROIs enable you to draw and edit regions of interest
on images displayed using imshow or in MATLAB® axes. Axes-based ROIs offer maximum customization of appearance and behavior,
including line width, marker style, and edge color. Use axes-based ROIs for fine-grained control
over ROI appearance, integration with existing axes-based apps, or access to the assisted
freehand, crosshair, or cuboid ROI types. For a comparison of axes-based ROIs with other ROIs,
see Choose Approach to Annotate ROIs in Images.

For more information about using a freehand ROI, including keyboard shortcuts, see Tips.
Creation
There are two ways to create a Freehand object. For more information, see
Create Axes-Based ROIs.
Use the
drawfreehandfunction. Use this function when you want to create the ROI and set the appearance in a single command. You can specify the shape and position of the ROI interactively by drawing the ROI over an image using the mouse.Use the
images.roi.Freehandfunction described here. Use this function when you want to specify the appearance and behavior of the ROI before you specify the shape and position of the ROI. After creating the object, you can specify the shape and position interactively by using thedrawfunction.
Syntax
Description
creates a
roi = images.roi.FreehandFreehand object with default properties.
creates the ROI in the axes specified by roi = images.roi.Freehand(ax)ax.
sets
properties
of the ROI using one or more name-value arguments.roi = images.roi.Freehand(___,PropertyName=Value)
Example: images.roi.Freehand(Color="y") creates a yellow colored
Freehand object.
Input Arguments
Properties
Object Functions
addlistener | Create event listener bound to event source |
beginDrawingFromPoint | Begin drawing ROI from specified point |
bringToFront | Bring ROI to front of Axes stacking order |
createMask | Create binary mask image from ROI |
draw | Begin drawing ROI interactively |
inROI | Query if points are located in ROI |
reduce | Reduce density of points in ROI |
wait | Block MATLAB command line until ROI operation is finished |
Examples
More About
Tips
To draw the ROI interactively using the
drawordrawfreehandfunction, position the cursor on the image and click and drag to draw the ROI shape. To finish drawing the ROI, release the mouse button.The ROI supports the following interactivity, including keyboard shortcuts.
Behavior Keyboard shortcut Cancel drawing the ROI. Press Esc. The function returns a valid ROI object with an empty Positionproperty.Finish drawing (close) the ROI. Double-click, which adds a point at the pointer position and draws a line connecting this point to the first point drawn, closing the ROI.
Right-click, which draws a line connecting the last point to the first point drawn.
Position the pointer over the first point and click.
Press Enter, which draws a line connecting the last point to the first point drawn.
Resize (reshape) the ROI. Position pointer over a waypoint and then click and drag. No assistance (snapping to edges) is available in this mode.
Add a waypoint. Position the pointer on an edge of the ROI, right-click, and select Add Waypoint. You can also position the pointer on an edge of the ROI and double-click.
Remove a waypoint. Position the pointer on a waypoint, right-click, and select Remove Waypoint.
Move the ROI. Position the pointer over the ROI. The pointer changes to the fleur shape. Click and drag to move the ROI. Delete an ROI. Position the pointer on the ROI (not on a vertex), right-click, and select Delete Freehand from the context menu. You can also delete the ROI programmatically using the deletefunction.


