Миграция ROI

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

Миграция объекта ROI

Если ваш код использует один из предыдущих объектов ROI, замените это на вызов соответствующего нового объекта ROI. Поскольку новые ROI предлагают формы, которые не поддержались ранее, в некоторых случаях, у вас есть несколько ROI, чтобы выбрать из. Два ROI в новой системе не имеют никакого соответствующего ROI в предыдущей системе: Crosshair и Cuboid.

Предыдущий объект ROIТекущий объект ROI
imellipseИспользуйте Ellipse вместо этого. С предыдущим набором ROI вы использовали imellipse чертить круговой ROI. С новыми ROI используйте Circle.
imfreehandИспользуйте Freehand вместо этого. Можно также использовать AssistedFreehand создать нарисованный от руки ROI, который "помогает" вашему рисунку автоматически после контуров ребер в основном изображении.
imlineИспользуйте Line вместо этого.
impointИспользуйте Point вместо этого.
impolyИспользуйте Polygon вместо этого. Чтобы создать открытую многоугольную форму, используйте Polyline.
imrectИспользуйте Rectangle вместо этого.

Объект ROI функциональная миграция

Предыдущий набор ROI используемый объект функционирует, чтобы настроить много аспектов внешнего вида ROI и функционирования. Во многих случаях новые ROI заменяют эти объектные функции на свойства объектов. Вместо того, чтобы вызвать объектную функцию, вы получаете значение свойства или устанавливаете значение свойства. Например, вместо того, чтобы использовать getColor чтобы получить цвет ROI, получите доступ к значению Color свойство нового объекта ROI. Для получения дальнейшей информации о том, как переместить код на новую систему ROI, смотрите раздел Compatibility Considerations объектных страниц ссылки на функцию, сопоставленных с предыдущими объектами ROI.

Предыдущий ROI Функции объектаЭквивалентные Функции объекта
addNewPositionCallbackИспользуйте addListener возразите функции, чтобы задать функцию, которую вы хотите выполняемый, когда ROI перемещается. Для получения дополнительной информации об использовании событий смотрите События ROI.
createMaskИспользуйте эквивалент createMask возразите функции с новыми ROI.
getColor

Получите значение Color свойство ROI. Например,

roi_color = roi.Color;.

getPosition

Получите значение Position свойство ROI. Например,

roi_pos = roi.Position;.

getPositionConstraintFcnИспользуйте DrawingArea свойство задать ограничения положения.
getVertices

Получите значение Vertices свойство ROI. Например,

roi_vert = roi.Vertices;.

makeConstrainToRectFcnИспользуйте DrawingArea свойство задать ограничения положения.
removeNewPositionCallbackИспользуйте addListener возразите функции, чтобы задать функцию, которая будет вызвана перемещениями ROI. Чтобы удалить эту функцию обратного вызова, удалите объект, возвращенный addListener объектная функция.
resumeИспользуйте uiresume вместо этого.
setClosedПрисвойте значение ROI Closed свойство. Например, roi.Closed = 'y'.
setColorПрисвойте значение новому ROI Color свойство. Например, roi.Color = 'y'.
setConstrainedPositionИспользуйте DrawingArea свойство задать ограничения положения.
setFixedAspectRatioModeИспользуйте FixedAspectRatio свойство новых ROI, устанавливая значение к true.
setPositionПрисвойте значение новому ROI Position свойство. Способ задать положение меняется в зависимости от каждого объекта. Например, roi.Position = [50 50].
setPositionConstraintFcnИспользуйте DrawingArea свойство задать ограничения положения.
setResizableИспользуйте InteractionsAllowed свойство, устанавливая значение к 'translate'.
setStringПрисвойте значение новому ROI Label свойство. Например, roi.Label = 'My Label';.
setVerticesDraggableИспользуйте InteractionsAllowed свойство, устанавливая значение к 'translate'.
waitИспользуйте эквивалент wait с новыми объектами ROI. Обратите внимание на то, что новое wait функция не поддерживает возвращаемое значение, содержащее информацию о положении.

События ROI

С предыдущими ROI вы могли использовать addNewPositionCallback возразите функции, чтобы получить уведомление, когда ROI переместится. Вы задаете объект и функцию, которую вы хотите выполняемый, когда событие имеет место: id = addNewPositionCallback(h,fcn).

С новыми ROI вы используете addListener возразите функции, чтобы получить уведомление, когда ROI переместится. Вы задаете объект, имя события, вы хотите получить уведомление и имя функции, которое вы хотите выполняемый, когда событие имеет место: el = addlistener(roi,'ROIMoving',mycallbackfcn). С новыми ROI необходимо задать имя события, потому что можно получить уведомление о многих других событиях, такой как тогда, когда по ROI кликают.

Чтобы видеть пример, смотрите Compatibility Considerations раздел по addNewPositionCallback страница с описанием.

Похожие темы