drawcuboid

Создайте настраиваемый кубоидальный информация только для чтения

Описание

пример

roi = drawcuboid создает Cuboid Информация только для чтения объект и включает интерактивное рисование кубоидальной видимой области (ROI) на текущую систему координат.

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

Примечание

drawcuboid является функцией удобства для создания Cuboid Объект информация только для чтения. Если вы создаете объект информация только для чтения непосредственно, вызывая Cuboid, вы должны вызвать draw функция объекта для включения интерактивного рисования информация только для чтения. Напротив, drawcuboid функция создает объект информация только для чтения и вызывает draw функция объекта для вас. Какой бы способ вы ни создали информация только для чтения, вы используете свойства объекта, функции объекта и уведомления о событиях, чтобы настроить его внешний вид и поведение. Дополнительные сведения об использовании этих возможностей см. в разделе Советы.

roi = drawcuboid(ax) создает Cuboid Информация только для чтения объект и включает интерактивное рисование кубоидальной видимой области (ROI) на осях, заданных ax вместо текущих систем координат (gca).

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

roi = drawcuboid(___,Name,Value) изменяет внешний вид информация только для чтения, используя одну или несколько пары "имя-значение".

Примеры

свернуть все

Создайте 3-D точечный график и в интерактивном режиме задайте кубоидную информацию только для чтения над данными.

Задайте векторы для 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);

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

drawcuboid(hScatter);

Задайте векторы для 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);

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

roi = drawcuboid(hScatter,'Color','r'); 

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

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

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

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

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

свернуть все

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пометьте цвет текста, заданный как разделенная разделенными запятой парами, состоящая из 'LabelTextColor' и MATLAB ColorSpec (Color Specification) значение. Значения интенсивности должны находиться в области значений [0,1].

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

ЗначениеОписание
'on'Метка видна, когда виден информация только для чтения, и Label свойство непусто (по умолчанию).
'hover'

Метка видна только при наведении указателя мыши на информация только для чтения.

'off'Метка не отображается.

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

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

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

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

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

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

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

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

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

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

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

Пример: 'green'

Пример: 'g'

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

Местоположения углов кубоидального информация только для чтения, заданные как массив 8 на 3. Каждая строка является x -, y - и z - координатой угла кубоидального информация только для чтения.

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

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

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

свернуть все

Кубоидный информация только для чтения, возвращенный как Cuboid объект.

Совет

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

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

    Поместите указатель мыши на одну из видимых граней кубоида и щелкните и перетащите поверхность. Для выбора поверхности, возможно, потребуется повернуть кубоид.

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

    Переместите информация только для чтения.

    Поместите указатель мыши на любую из видимых поверхностей информация только для чтения и щелкните и перетащите мышью во время нажатия Shift.

    Поместите указатель мыши на любую видимую поверхность информация только для чтения, щелкните правой кнопкой мыши и выберите Lock Dimensions. Щелкните и перетащите мышью, чтобы переместить информация только для чтения.

    Удалите информация только для чтения.Наведите указатель мыши на информация только для чтения и щелкните правой кнопкой мыши, чтобы просмотреть его контекстное меню. Выберите Delete Cuboid из меню. Вы также можете удалить информация только для чтения с помощью delete функция объекта.
  • The drawcuboid функция возвращает Cuboid Объект информация только для чтения. После создания используйте эти возможности объекта, чтобы настроить внешний вид и поведение информация только для чтения.

    • Свойства объекта - объекты информация только для чтения поддерживают свойства, которые изменяют их внешний вид или поведение. Например, чтобы изменить цвет roi в желтый цвет, установите его Color свойство, roi.Color = 'yellow'.

    • Функции объекта - объекты информация только для чтения поддерживают набор функций объекта, которые работают с ROIs. Например, если вы хотите приостановить командную строку MATLAB после создания информация только для чтения, вызовите wait функция объекта.

    • Уведомления о событиях - объекты информация только для чтения могут уведомлять ваш код, когда определенные события, такие как перемещение или клик, происходят с информация только для чтения. Чтобы получать эти уведомления, используйте addlistener объект для настройки listeners для определенных событий. В прослушиватель задайте событие, например 'ROIMoved', и функцию обратного вызова, которая выполняется, когда событие происходит. Когда информация только для чтения уведомляет ваше приложение через прослушиватель, он возвращает данные, характерные для события. Для примера, с 'ROIMoved' событие, объект информация только для чтения возвращает свою предыдущую позицию и текущую позицию.

    Для примера использования прослушивателей событий с Cuboid объект, см. «Настройка прослушивателя для событий кубоидной информации только для чтения». Для получения дополнительной информации об этих возможностях смотрите Cuboid документация по объекту.

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

расширить все

Не рекомендуемый запуск в R2020a

Введенный в R2019a