drawcuboid

Создайте настраиваемый кубовидный ROI

Синтаксис

H = drawcuboid
H = drawcuboid(ax)
H = drawcuboid(S)
H = drawcuboid(___,Name,Value)

Описание

пример

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

H = drawcuboid(ax) создает ROI на осях, заданных ax вместо текущей системы координат (gca).

H = drawcuboid(S) создает ROI на объекте Scatter, заданном S. Во время интерактивного размещения кубоид привязывается к самой близкой точке, заданной объектом Scatter.

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

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

Примеры

свернуть все

Создайте 3-D график рассеивания и в интерактивном режиме задайте ROI кубоида по данным.

Задайте векторы для 3-D поля точек данных.

[x,y,z] = sphere(16);
X = [x(:)*.5 x(:)*.75 x(:)];
Y = [y(:)*.5 y(:)*.75 y(:)];
Z = [z(:)*.5 z(:)*.75 z(:)];

Задайте размер и цвет каждого маркера.

S = repmat([1 .75 .5]*10,numel(x),1);
C = repmat([1 2 3],numel(x),1);

Создайте 3-D график рассеивания. Используйте view для изменения угол осей в фигуре.

figure
hScatter = scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'); 
view(-60,60);

Начните помещать ROI кубоида в оси. ROI привязывается к самой близкой точке, заданной графиком рассеивания. Настройте размер кубоида во время интерактивного размещения при помощи колесика прокрутки.

drawcuboid(hScatter);

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

свернуть все

Родительские оси ROI, заданного как объект Axes. Если вы не задаете оси, функция использует текущую систему координат.

График поля точек, заданный как объект Scatter. Родительский элемент объекта Scatter становится родительским элементом ROI.

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

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

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

Цвет 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'

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

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

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

Пример: drawcuboid('EdgeAlpha',0.2)

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

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

Пример: drawcuboid('FaceAlphaOnHover',1)

Цвет ROI стоит непосредственно под указателем мыши, заданным как пара, разделенная запятой, состоящая из 'FaceColorOnHover' и MATLABColorSpec (Color Specification) или 'none'. По умолчанию цвет поверхности не изменяется на, наводят. (Наведите средние значения, располагающие указатель над поверхностью кубовидного ROI.), Когда вы не наводите на поверхность ROI, значение свойства ROI Color определяет цвет поверхности. Интенсивность должна быть в области значений [0,1].

Пример: drawcuboid('FaceColorOnHover','g')

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

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

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

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

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

Видимость метки ROI, заданной как пара, разделенная запятой, состоящая из 'LabelVisible' и одно из этих значений:

ЗначениеОписание
'on'Метка видима, когда ROI видим, и 'Label' непуст (значение по умолчанию).
'hover'Метка видима только, когда мышь наводит на ROI.
'off'Метка не видима.

Пример: drawcuboid('LabelVisible','hover')

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

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

Положение кубоида, заданного как пара, разделенная запятой, состоящая из 'Position' и 1 6 массив формы [ xmin, ymin, zmin, width, height, depth ]. Эти обновления свойства автоматически, когда вы чертите или перемещаете кубоид.

Способность кубоида, который будет вращаться, заданный как пара, разделенная запятой, состоящая из 'Rotatable' и одно из значений в этой таблице.

ЗначениеОписание
'all'ROI является полностью поворотным.
'x' ROI может только вращаться об оси x
'y'ROI может только вращаться об оси y.
'z'ROI может только вращаться об оси z.
'none'ROI не является поворотным.

Угол вращения ROI, заданного как пара, разделенная запятой, состоящая из 'RotationAngle' и 1 3 числовой массив углов поворота, измеренных в градусах. Массив углов поворота имеет форму [x_angle y_angle z_angle], измеренный о x - y - и z - ось, соответственно. Вращение применяется о центроиде ROI в этом порядке: z, y, x.

Значение RotationAngle не влияет на значения в Position. Position представляет кубоид перед любым вращением. Когда вы будете вращать кубоид, используйте Vertices, чтобы определить местоположение вращаемого ROI.

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

ЗначениеОписание
'allresize'Колесико прокрутки влияет на все размерности ROI.
'xresize' Колесико прокрутки влияет только на размерность x.
'yresize' Колесико прокрутки влияет только на размерность y.
'zresize' Колесико прокрутки влияет только на размерность z.
'none'Колесико прокрутки не имеет никакого эффекта.

Состояние выбора 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]

Цвет дорожки 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, заданного как 8 3 массив. Каждой строкой является x - y - и z - координата угла кубовидного ROI.

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

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

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

свернуть все

Кубовидный ROI, возвращенный как объект images.roi.Cuboid.

Советы

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

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

    Расположите указатель на одну из видимых поверхностей кубоида и перетащите поверхность. Вам придется вращать кубоид, чтобы выбрать поверхность.

    Если вы нажимаете Shift, перетаскивание мыши перемещает ROI, но не изменяет ни одной из размерностей.

    Переместите ROI.

    Расположите указатель на любую из видимых поверхностей ROI и перетаскивания при нажатии Shift.

    Расположите указатель на любую видимую поверхность ROI, щелкните правой кнопкой и выберите Lock Dimensions. Перетащите, чтобы переместить ROI.

Введенный в R2019a