imfreehand
(Not recommended) Create draggable freehand region
imfreehand is not recommended. Use the new Freehand
            ROI object instead. You can also use the new ROI creation convenience function drawfreehand. Another option is the AssistedFreehand object, which enables you to hand-draw a shape that
            automatically follows the edges in the underlying image. For more information, see Version History.
Description
An imfreehand object encapsulates an interactive freehand
            region over an image.
You can add vertices and adjust the size and position of the polygon by using the mouse. The polygon also has a context menu that controls aspects of its appearance and behavior. For more information, see Usage.
Creation
Description
h = imfreehand begins interactive placement of a freehand
                    region on the current axes, and returns an imfreehand
                    object.
h = imfreehand( begins
                    interactive placement of a freehand region on the object specified by
                        hparent)hparent.
h = imfreehand(___,
                    specifies name-value pairs that control the behavior of the freehand
                    region.Name,Value)
Input Arguments
Name-Value Arguments
Properties
Usage
When you call imfreehand with an interactive syntax, the pointer
            changes to a cross hairs  when positioned over an image. Click and drag the
            mouse to draw the freehand region and adjust the position of the region. By default,
 when positioned over an image. Click and drag the
            mouse to draw the freehand region and adjust the position of the region. By default,
                imfreehand draws a straight line connecting the last point you
            drew with the first point, but you can control this behavior using the
                Closed parameter.
The freehand region also supports a context menu that you can use to control aspects of its appearance and behavior.

The table lists the interactive features supported by
            imfreehand.
| Interactive Behavior | Description | 
|---|---|
| Moving the region. | Move the pointer inside the freehand region. The pointer changes to a
                            fleur shape  . Click and hold the left mouse button
                            to move the region. | 
| Changing the color used to draw the region. | Move the pointer inside the freehand region. Right-click and select Set Color from the context menu. | 
| Retrieving the current position of the freehand region. | Move the pointer inside the freehand region. Right-click and select
                                Copy Position from the context menu. imfreehandcopies an n-by-2
                            array of coordinates on the boundary of the ROI to the clipboard. | 
| Deleting the region | Move the pointer inside the region. Right-click and select
                                Delete  from the context menu. To remove
                            this option from the context menu, set the Deletableproperty to false:h = imfreehand(); h.Deletable =
                                false; | 
Object Functions
Each imfreehand object supports a number of methods. Type
                methods imfreehand to see a complete list.
| addNewPositionCallback | Add new-position callback to ROI object | 
| createMask | (Not recommended) Create mask within image | 
| delete | Delete handle object | 
| getColor | Get color used to draw ROI object | 
| getPosition | Return current position of ROI object | 
| getPositionConstraintFcn | Return function handle to current position constraint function | 
| removeNewPositionCallback | Remove new-position callback from ROI object | 
| resume | (Not recommended) Resume execution of MATLAB command line | 
| setClosed | Set closure behavior of ROI object | 
| setColor | (Not recommended) Set color used to draw ROI object | 
| setConstrainedPosition | Set ROI object to new position | 
| setPositionConstraintFcn | Set position constraint function of ROI object | 
| wait | (Not recommended) Block MATLAB command line until ROI creation is finished | 
Examples
Tips
- If you use - imfreehandwith an axes that contains an image object, and do not specify a position constraint function, users can drag the freehand region outside the extent of the image and lose the freehand region. When used with an axes created by the- plotfunction, the axes limits automatically expand to accommodate the movement of the freehand region.
- To cancel the interactive placement, press the Esc key. - imfreehandreturns an empty object.