Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Migración de ROI

A partir de R2018b, un nuevo conjunto de objetos de ROI reemplazó al conjunto anterior de objetos de ROI. Los nuevos objetos proporcionan un mejor rendimiento y capacidades más funcionales, como la transparencia del color de la cara. Con los nuevos objetos, también puede recibir notificaciones de interacciones con el objeto, como clics o movimiento, utilizando eventos. Aunque no hay planes para eliminar los objetos de ROI antiguos en este momento, cambie a los nuevos ROI para aprovechar las capacidades adicionales y la flexibilidad. Para obtener más información sobre la migración a los nuevos ROI, consulte .Descripción general de la creación del ROI

Migración de objetos de ROI

Si el código utiliza uno de los objetos de ROI anteriores, sustitúyalo por una llamada al nuevo objeto de ROI correspondiente. Dado que los nuevos ROI ofrecen formas que no se admiten anteriormente, en algunos casos, tiene varios ROIs para elegir. Dos ROI en el nuevo sistema no tienen roideo correspondiente en el sistema anterior: y .CrosshairCuboid

Objeto de ROI anteriorObjeto de ROI actual
imellipseUtilícelo en su lugar.Ellipse Con el conjunto anterior de ROI, solía dibujar un ROI circular.imellipse Con los nuevos ROI, utilice .Circle
imfreehandUtilícelo en su lugar.Freehand También puede utilizar para crear un ROI dibujado a mano que "ayude" al dibujo siguiendo automáticamente los contornos de los bordes de la imagen subyacente.AssistedFreehand
imlineUtilícelo en su lugar.Line
impointUtilícelo en su lugar.Point
impolyUtilícelo en su lugar.Polygon Para crear una forma poligonal abierta, utilice .Polyline
imrectUtilícelo en su lugar.Rectangle

Migración de la función de objetos de ROI

El conjunto anterior de ROI utilizaba funciones de objetos para personalizar muchos aspectos de la apariencia y el funcionamiento del ROI. En muchos casos, los nuevos ROI reemplazan estas funciones de objeto por propiedades de objeto. En lugar de llamar a una función de objeto, se obtiene el valor de una propiedad o se establece el valor de una propiedad. Por ejemplo, en lugar de usar para obtener el color del ROI, acceda al valor de la propiedad del nuevo objeto ROI.getColorColor Para obtener información detallada sobre cómo migrar código al nuevo sistema de ROI, consulte la sección Consideraciones de compatibilidad de las páginas de referencia de la función de objeto asociadas a los objetos de ROI anteriores.

Funciones anteriores de objetos de ROIFunciones de objetoequivalentes
addNewPositionCallbackUtilice la función de objeto para especificar la función que desea ejecutar cuando se mueva el ROI.addListener Para obtener más información sobre el uso de eventos, consulte .Eventos de ROI
createMaskUtilice la función de objeto equivalente con los nuevos ROI.createMask
getColorRecuperar el valor de la propiedad del ROI, por ejemplo,Color

roi_color = roi.Color;.

getPositionRecuperar el valor de la propiedad del ROI, por ejemplo,Position

roi_pos = roi.Position;.

getPositionConstraintFcnUtilice la propiedad para especificar restricciones de posición.DrawingArea
getVerticesRecuperar el valor de la propiedad del ROI, por ejemplo,Vertices

roi_vert = roi.Vertices;.

makeConstrainToRectFcnUtilice la propiedad para especificar restricciones de posición.DrawingArea
removeNewPositionCallbackUtilice la función de objeto para especificar la función a la que se llamará con los movimientos de ROI.addListener Para quitar esta función de devolución de llamada, elimine el objeto devuelto por la función de objeto.addListener
resumeUtilícelo en su lugar.uiresume
setClosedAsigne un valor a la propiedad ROI, por ejemplo, .Closedroi.Closed = 'y'
setColorAsigne un valor a la nueva propiedad ROI, por ejemplo, .Colorroi.Color = 'y'
setConstrainedPositionUtilice la propiedad para especificar restricciones de posición.DrawingArea
setFixedAspectRatioModeUtilice la propiedad de los nuevos ROI, estableciendo el valor en .FixedAspectRatiotrue
setPositionAsigne un valor a la nueva propiedad ROI, por ejemplo, .Positionroi.Position = [50 50] La forma de especificar la posición varía con cada objeto.
setPositionConstraintFcnUtilice la propiedad para especificar restricciones de posición.DrawingArea
setResizableUtilice la propiedad, estableciendo el valor en .InteractionsAllowed'translate'
setStringAsigne un valor a la nueva propiedad ROI, por ejemplo, .Labelroi.Label = 'My Label';
setVerticesDraggableUtilice la propiedad, estableciendo el valor en .InteractionsAllowed'translate'
waitUtilice el equivalente con los nuevos objetos de ROI.wait Tenga en cuenta que la nueva función no admite un valor devuelto que contenga información de posición.wait

Eventos de ROI

Con los ROI anteriores, podría utilizar la función object para recibir una notificación cuando se mueva el ROI.addNewPositionCallback Especifique el objeto y la función que desea ejecutar cuando se produzca el evento: .id = addNewPositionCallback(h,fcn)

Con los nuevos ROI, se utiliza la función object para recibir una notificación cuando se mueve el ROI.addListener Especifique el objeto, el nombre del evento que desea recibir la notificación y el nombre de la función que desea ejecutar cuando se produzca el evento: .el = addlistener(roi,'ROIMoving',mycallbackfcn) Con los nuevos ROI, debe especificar el nombre del evento porque puede recibir una notificación de muchos otros eventos, como cuando se hace clic en el ROI.

Para ver un ejemplo, consulte la sección de la página de referencia.Compatibility ConsiderationsaddNewPositionCallback