exponenta event banner

Cuboid

Интересующая кубоидальная область

Описание

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

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

Создание

Описание

Создание Cuboid ROI, используйте images.roi.Cuboid функция создания. После создания объекта вызовите draw функция объекта для начала рисования. В качестве удобства вы также можете использовать drawcuboid для создания функции Cuboid ОКУПАЕМОСТЬ ИНВЕСТИЦИЙ. 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.

Свойства

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

Цвет окупаемости инвестиций, указанный как MATLAB ®ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

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

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

Цвет текста метки, заданный как MATLAB ColorSpec (Color Specification). Интенсивности должны находиться в диапазоне [0,1].

Видимость метки, заданная как одно из следующих значений:

СтоимостьОписание
'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, заданный как числовой массив углов поворота 1 на 3, измеренный в градусах. Массив углов поворота имеет вид [x_angle y_angle z_angle], измеренные относительно осей x, y и z соответственно. Поворот применяется вокруг центроида ROI в порядке z, затем y, затем x.

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

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

СтоимостьОписание
'allresize'Колесо прокрутки влияет на все размеры окупаемости инвестиций.
'xresize' Колесо прокрутки воздействует только на размер x.
'yresize' Колесо прокрутки воздействует только на размер y.
'zresize' Колесо прокрутки воздействует только на размер z.
'none'Колесо прокрутки не имеет эффекта.

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

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

Пример: 'green'

Пример: 'g'

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

Видимость окупаемости инвестиций, указанная как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

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

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

addlistenerСоздать прослушиватель событий, привязанный к источнику событий
beginDrawingFromPointНачало окупаемости инвестиций в чертеж из указанной точки
bringToFrontПриведение ROI в порядок штабелирования осей
drawНачало окупаемости инвестиций в чертеж в интерактивном режиме
inROIЗапрос наличия точек в ROI
waitБлокировать командную строку MATLAB до завершения операции окупаемости инвестиций

Примеры

свернуть все

Определите векторы для 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 отправляет уведомления об этих событиях и выполняет указанную функцию обратного вызова.

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.

    Поместите указатель на поверхность ROI, которая видна с точки зрения пользователя, а затем щелкните и перетащите.

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

Вопросы совместимости

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

Не рекомендуется начинать с R2020a

Представлен в R2019a