drawellipse

Создайте настраиваемый эллиптический ROI

Синтаксис

h = drawellipse
h = drawellipse(ax)
h = drawellipse(___,Name,Value)

Описание

пример

h = drawellipse начинает интерактивное размещение эллиптической видимой области (ROI) на текущей системе координат. Функция возвращает указатель на объект images.roi.Ellipse. Можно изменить ROI в интерактивном режиме с помощью мыши. ROI поддерживает контекстное меню, которое управляет аспектами его внешнего вида и поведения.

h = drawellipse(ax) начинает интерактивное размещение ROI на осях, заданных ax.

пример

h = drawellipse(___,Name,Value) изменяет внешний вид и поведение ROI с помощью одной или нескольких пар "имя-значение". Незаданные пары "имя-значение" установлены в значение по умолчанию.

Чтобы чертить ROI в интерактивном режиме, расположите указатель над осями и перетаскиванием, чтобы чертить эллипс. Чтобы закончить чертить ROI, выпустите указатель. Чтобы удалить ROI, расположите указатель на эллипс, щелкните правой кнопкой и выберите Delete Ellipse из контекстного меню. Для получения дополнительной информации об интерактивных поведениях включая горячие клавиши, смотрите Советы.

Примеры

свернуть все

Считайте изображение в рабочую область и отобразите ее.

imshow(imread('llama.jpg'))

В интерактивном режиме чертите красный эллиптический ROI.

h = drawellipse('Color','r');

Измените цвет дорожки ROI к черному цвету, затем увеличьте непрозрачность ROI.

h.StripeColor = 'k';
h.FaceAlpha = 0.4;

Считайте изображение в рабочую область и отобразите ее.

I = imread('baby.jpg');
figure
imshow(I)

Чертите эллиптический ROI на изображении. Используйте пару "имя-значение" 'Center', чтобы задать местоположение эллипса и пары "имя-значение" 'SemiAxes', чтобы задать форму эллипса. Установите ребро эллипса быть чередуемой красной линией путем определения пары "имя-значение" 'StripeColor'.

h = drawellipse('Center',[1000,1000],'SemiAxes',[500,250],'StripeColor','r');

Входные параметры

свернуть все

Родительские оси ROI, заданного как объект осей.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: h = drawellipse('Color','k','Label','My Ellipse');

Соотношение сторон эллипса, заданного как пара, разделенная запятой, состоящая из 'AspectRatio' и неотрицательного числового скаляра, вычисленного как SemiAxes(1)/SemiAxes(2). Это значение изменяется автоматически, когда вы чертите или изменяете размер ROI или изменяете значение свойства SemiAxes.

Центр ROI, заданного как пара, разделенная запятой, состоящая из 'Center' и 1 2 массив формы [x y]. Значения x и y являются координатами центральной точки ROI. Значение этого свойства изменяется автоматически, когда вы чертите или перемещаете ROI.

Цвет ROI, заданный как пара, разделенная запятой, состоящая из 'Color' и значения MATLAB® ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

ROI может быть в интерактивном режиме удален через контекстное меню, заданное как пара, разделенная запятой, состоящая из 'Deletable' и логическое значение true или false. Когда значением является true (значение по умолчанию), можно удалить ROI через контекстное меню. Чтобы отключить этот элемент контекстного меню, установите 'Deletable' на false. Когда значение установлено к false, можно все еще удалить ROI путем вызывания функции delete, определения указателя на ROI как вход.

Область осей, в которые можно в интерактивном режиме поместить ROI, заданный как пара, разделенная запятой, состоящая из 'DrawingArea' и одно из значений в этой таблице.

ЗначениеОписание
'auto'Областью рисунка являются пределы текущей системы координат (значение по умолчанию).
'unlimited'Область рисунка не имеет никакого контура, и КОРОЛИ могут чертиться или перетаскиваться, чтобы расширить вне пределов осей.
[x,y,w,h]Область рисунка ограничивается прямоугольником, начинающимся в (x, y), с шириной w и высота h.

Прозрачность поверхности ROI, заданной как пара, разделенная запятой, состоящая из 'FaceAlpha' и скалярного значения в области значений [0,1]. Когда значением является 1, поверхность ROI полностью непрозрачна. Когда значением является 0, поверхность ROI абсолютно прозрачна.

Поверхность ROI может получить нажатия кнопки, заданные как пара, разделенная запятой, состоящая из 'FaceSelectable' и значения true или false. Когда true (значение по умолчанию), поверхность ROI может получить нажатия кнопки. Когда false, поверхность ROI не может получить нажатия кнопки.

Соотношение сторон остается постоянным во время взаимодействия, заданного как пара, разделенная запятой, состоящая из 'FixedAspectRatio' и логических значений true или false. Когда этим значением является true, ROI поддерживает соотношение сторон, когда вы чертите или изменяете размер эллипса. Когда этим значением является false (значение по умолчанию), можно изменить соотношение сторон при рисовании или изменении размеров эллипса. Можно изменить это значение при помощи контекстного меню по умолчанию.

Видимость ROI обрабатывает в свойстве Children родительского элемента, заданного как пара, разделенная запятой, состоящая из 'HandleVisibility' и одно из значений в этой таблице.

ЗначениеОписание
'on'Указатель на объект всегда видим (значение по умолчанию).
'off'Указатель на объект скрыт в любом случае.
'callback'Указатель на объект видим из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки.

Интерактивность ROI, заданного как пара, разделенная запятой, состоящая из 'InteractionsAllowed' и одно из значений в этой таблице.

ЗначениеОписание
'all'ROI является полностью межигровым (значение по умолчанию).
'none'ROI не является межигровым, и никакие не перетаскивают точки, видимы.
'translate'ROI может быть переведен (перемещенный) в области рисунка, но не изменился. Это значение не доступно с функцией drawPoint.
'reshape'ROI может быть изменен в области рисунка, но не переведен. Это значение не доступно с функцией drawPoint и функцией drawRectangle.

Метка ROI, заданная как пара, разделенная запятой, состоящая из 'Label' и вектора символов или строки. По умолчанию это свойство установлено в пустой массив (''), и ROI не имеет никакой метки.

Ширина ребра ROI, заданного как пара, разделенная запятой, состоящая из 'LineWidth' и положительного числового скаляра в точках. Значение по умолчанию является три раза числом точек на экранный пиксель.

Родительский элемент ROI, заданный как пара, разделенная запятой, состоящая из 'Parent' и объекта Axes. UIAxes не может быть родительским элементом ROI.

Угол вокруг центра эллипса, заданного как пара, разделенная запятой, состоящая из 'RotationAngle' и в виде неотрицательного числа. Угол измеряется в градусах в направлении по часовой стрелке. Это значение изменяется автоматически, когда вы чертите или перемещаете ROI.

Состояние выбора ROI, заданного как пара, разделенная запятой, состоящая из 'Selected' и true или false. Можно также установить это значение в интерактивном режиме. Например, нажатие на ROI выбирает его и устанавливает это значение к true. Точно так же, если вы Ctrl-click ROI, отменяет выбор его и устанавливает это значение к false.

Цвет ROI, когда выбрано, заданный как пара, разделенная запятой, состоящая из 'SelectedColor' и ColorSpec (Color Specification) MATLAB. Если 'SelectedColor' установлен в 'none', то значение Color задает цвет ROI для всех состояний, выбранных или нет.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Длины полуоси эллипса, заданного как пара, разделенная запятой, состоящая из 'SemiAxes' и 1 2 массив формы [semiaxis1 semiaxis2]. Функция drawellipse присваивает длину полуоси, которая является самой близкой к направлению x к semiaxis1. Обратите внимание однако, что форма и ориентация эллипса могут измениться через взаимодействие. Значение этого свойства изменяется автоматически, когда вы чертите или изменяете ROI.

Цвет дорожки ROI, заданной как пара, разделенная запятой, состоящая из 'StripeColor' и значения ColorSpec (Color Specification) MATLAB. Если вы задаете 'StripeColor', ребро ROI чередуется. Чередование состоит из комбинации значения, заданного 'Color' и этим значением.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Пометьте, чтобы сопоставить с ROI, заданным как пара, разделенная запятой, состоящая из 'Tag' и вектора символов или представить скаляр в виде строки. Используйте значение тега, чтобы найти объект ROI в иерархии объектов с помощью функции findobj.

Контекстное меню, заданное как пара, разделенная запятой, состоящая из 'UIContextMenu' и объекта uicontextmenu. Задайте эту пару "имя-значение", чтобы отобразить пользовательское контекстное меню, когда вы щелкнете правой кнопкой по ROI. Можно создать пользовательское контекстное меню при помощи функции uicontextmenu и затем конфигурирующий свойства контекстного меню.

Данные, чтобы сопоставить с ROI, заданным как пара, разделенная запятой, состоящая из 'UserData' и любых данных MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, строку, символьный массив, таблицу или структуру. MATLAB не использует эти данные.

Местоположения точек на ребре ROI, возвращенного как пара, разделенная запятой, состоящая из 'Vertices' и n-by-2 массив.

Это свойство доступно только для чтения.

Видимость ROI, заданная как пара, разделенная запятой, состоящая из 'Visible' и одно из значений в этой таблице.

ЗначениеОписание
'on'Задайте это значение, чтобы отобразить ROI (значение по умолчанию).
'off'Задайте это значение, чтобы скрыть ROI, не удаляя его. Все еще можно получить доступ к свойствам невидимого ROI.

Выходные аргументы

свернуть все

Эллиптический ROI, возвращенный как объект images.roi.Ellipse.

Советы

  • ROI поддерживает следующую интерактивность, включая горячие клавиши.

    ПоведениеГорячая клавиша
    Прекратите чертить ROI.Нажмите Esc. Функция возвращает допустимый объект ROI с пустым полем Position.
    Подстройте ширину эллипса, когда вы чертите.Когда вы чертите эллипс, используйте колесико прокрутки, чтобы внести небольшие изменения в ширину эллипса.
    Вращайте ROI.

    Расположите указатель около вершины. Указатель изменяется на вращать указатель. Кликните и вращайте ROI на его центре.

    Чтобы заставить вращение огрызаться на 15 углов степени, нажмите Shift, как вы вращаетесь.

    Поддержите соотношение сторон при рисовании.

    Удержите клавишу Shift, как вы чертите. Создает круговой ROI.

    Чтобы заблокировать соотношение сторон, расположите указатель на ROI, щелкните правой кнопкой и выберите Fix Aspect Ratio из контекстного меню

    Измените размер (изменяют) ROI.

    Указатель положения по вершине и затем перетаскивает. К основному соотношение сторон, как вы изменяете размер, Удерживает клавишу Shift.

    Переместите ROI.Расположите указатель над ROI. Указатель изменяется на форму fleur. Перетащите, чтобы переместить ROI.

Введенный в R2018b