Cuboid

Кубовидная необходимая область

Описание

Cuboid объект является кубовидной видимой областью (ROI).

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

Создание

Описание

Создать Cuboid ROI, используйте images.roi.cuboid функция создания. После создания объекта вызовите draw возразите функции, чтобы начать чертить. Как удобство, можно также использовать drawcuboid функция, чтобы создать Cuboid ROI. drawcuboid функция создает объект ROI и автоматически вызывает draw объектная функция.

пример

roi = images.roi.Cuboid создает Cuboid Объект ROI со свойствами по умолчанию.

roi = images.roi.Cuboid(ax) создает Cuboid Объект ROI на осях задан ax.

roi = images.roi.Cuboid(___,Name,Value)свойства наборов с помощью пар "имя-значение". Например, images.roi.Cuboid('Color','y') выбирает цвет Cuboid возразите против желтого. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.

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

развернуть все

Родительский элемент ROI, заданного как Axes объект или UIAxes объект. Для получения информации об использовании ROI в UIAxes, включая важные ограничения, смотрите Используя ROI в Приложениях, Созданных с App Designer.

Свойства

развернуть все

Цвет ROI, заданный как MATLAB® ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

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

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

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

ЗначениеОписание
'auto'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Видимость метки, заданной как одно из этих значений:

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

Ширина ребра ROI, заданного в виде положительного числа в точках.

Родительский элемент ROI, заданный как Axes или UIAxes объект. Для получения информации об использовании ROI в UIAxes, включая важные ограничения, смотрите Используя ROI в Приложениях, Созданных с App Designer.

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

Способность кубоида, который будет вращаться, заданный как одно из этих значений:

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

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

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

Способность колесика прокрутки настроить размер кубоида во время интерактивного размещения, заданного как одно из этих значений:

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

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

Цвет ROI, когда выбрано, заданный как ColorSpec (Color Specification) MATLAB. Интенсивность должна быть в области значений [0,1]. Если 'SelectedColor' установлен в 'none', затем значение Color задает цвет ROI для всех состояний, выбранных или нет.

Пример: 'green'

Пример: 'g'

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

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

Пример: 'green'

Пример: 'g'

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

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

Контекстное меню, заданное как ContextMenu объект. Используйте это свойство отобразить пользовательское контекстное меню, когда вы щелкнете правой кнопкой по ROI. Можно создать пользовательское контекстное меню при помощи uicontextmenu функционируйте и затем конфигурирующий свойства контекстного меню.

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

Местоположения углов кубовидного ROI, возвращенного как 8 3 массив.

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

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

Функции объекта

addlistenerСоздайте прослушиватель события, связанный с источником события
beginDrawingFromPointНачните чертить ROI от заданной точки
bringToFrontПеренесите ROI на передний план порядка размещения Осей
drawНачните чертить ROI в интерактивном режиме
inROIЗапросите, расположены ли точки в ROI
waitБлокируйте командную строку MATLAB, пока операция 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 точечный график и используйте представление для изменения угол осей в фигуре.

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

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

ax = gca;
h = images.roi.Cuboid(ax);
draw(h)

Задайте векторы для 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 точечный график и используйте представление, чтобы изменить угол осей в фигуре.

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

Создайте объект Cuboid ROI, задав цвет. Вызовите draw возразите функции, чтобы включить интерактивный рисунок формы кубоида.

roi = images.roi.Cuboid(gca,'Color','r');
draw(roi)

Настройте прослушиватели для ROI движущиеся события. Когда вы перемещаете его, ROI отправляет уведомления об этих событиях и выполняет функцию обратного вызова, которую вы задаете.

addlistener(roi,'MovingROI',@allevents);
addlistener(roi,'ROIMoved',@allevents);

allevents функция обратного вызова отображает предыдущее положение и текущее положение ROI.

function allevents(src,evt)
    evname = evt.EventName;
    switch(evname)
        case{'MovingROI'}
            disp(['ROI moving previous position: ' mat2str(evt.PreviousPosition)]);
            disp(['ROI moving current position: ' mat2str(evt.CurrentPosition)]);
        case{'ROIMoved'}
            disp(['ROI moved previous position: ' mat2str(evt.PreviousPosition)]);
            disp(['ROI moved current position: ' mat2str(evt.CurrentPosition)]);
    end
end

Больше о

развернуть все

Советы

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

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

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

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

    Обеспечьте соотношение сторон при рисовании.

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

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

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

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

    Переместите ROI.Расположите указатель над ROI. Указатель превращается в форму fleur. Перетащите, чтобы переместить ROI.
    Удалите ROI.Расположите указатель над ROI, щелкните правой кнопкой и выберите Delete Cuboid из контекстного меню. Можно также удалить ROI программно с помощью delete объектная функция.
  • Для получения информации об использовании ROI в приложении, созданном с App Designer, смотрите Используя ROI в Приложениях, Созданных с App Designer.

Введенный в R2019a