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.

drawellipse

Crear ROI elíptico personalizable

Descripción

ejemplo

roi = drawellipse crea un objeto y permite el dibujo interactivo de una región elíptica de interés (ROI) en los ejes actuales.Ellipse

Para dibujar el ROI, coloque el puntero en la imagen. El cursor cambia a una forma de fleur. Haga clic y arrastre para dibujar el ROI elíptico. Para finalizar el ROI, suelte el botón del ratón. Para obtener más información sobre el uso del ROI, incluidos los métodos abreviados de teclado y las opciones del menú contextual, consulte .Consejos

Nota

es una función de conveniencia para crear un objeto de ROI.drawellipseEllipse Si crea el objeto ROI directamente, llamando a , debe llamar a la función de objeto para habilitar el dibujo interactivo del ROI.Ellipsedraw Por el contrario, la función crea el objeto ROI y llama a la función de objeto por usted.drawellipsedraw Independientemente de la forma en que cree el ROI, utilice propiedades de objeto, funciones de objeto y notificaciones de eventos para personalizar su apariencia y comportamiento. Para obtener más información sobre el uso de estas capacidades, consulte .Consejos

roi = drawellipse(ax) crea el ROI en los ejes especificados por .ax

ejemplo

roi = drawellipse(___,Name,Value) modifica la apariencia y el comportamiento del ROI utilizando uno o más pares nombre-valor. Los pares nombre-valor no especificados se establecen en el valor predeterminado.

Ejemplos

contraer todo

Lea una imagen en el espacio de trabajo y muéstrala.

imshow(imread('llama.jpg'))

Dibuje interactivamente un ROI elíptico rojo.

h = drawellipse('Color','r');

Cambie el color de la franja del ROI a negro y, a continuación, aumente la opacidad del ROI.

h.StripeColor = 'k'; h.FaceAlpha = 0.4;

Lea una imagen en el espacio de trabajo y muéstrala.

I = imread('baby.jpg'); figure imshow(I)

Dibuje un ROI elíptico en la imagen. Utilice el par nombre-valor para especificar la ubicación de la elipse y el par nombre-valor para especificar la forma de la elipse.'Center''SemiAxes' Establezca el borde de la elipse como una línea roja rayada especificando el par nombre-valor.'StripeColor'

h = drawellipse('Center',[1000,1000],'SemiAxes',[500,250],'StripeColor','r');

Lea una imagen en el espacio de trabajo.

I = imread('cameraman.tif'); 

Muestre la imagen.

imshow(I);

Dibuje un ROI circular en la imagen.

roi = drawellipse('Color','r');

Configure los agentes de escucha para los eventos de movimiento del ROI. Al moverlo, el ROI envía notificaciones de estos eventos y ejecuta la función de devolución de llamada que especifique.

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

La función de devolución de llamada muestra la posición anterior y la posición actual del ROI.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

Argumentos de entrada

contraer todo

Ejes primarios del ROI, especificados como un objeto o un objeto.AxesUIAxes Para obtener información sobre el uso de un ROI en un , incluidas las limitaciones importantes, consulte .UIAxesUso de ROI en aplicaciones creadas con El Diseñador de aplicaciones

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: roi = drawellipse('Color','k','Label','My Ellipse');

Relación de aspecto de la elipse, especificada como el par separado por comas que consta de un escalar numérico no negativo, calculado como .'AspectRatio'SemiAxes(1)/SemiAxes(2) Este valor cambia automáticamente al dibujar o cambiar el tamaño del ROI, o al cambiar el valor de la propiedad.SemiAxes

Centro del ROI, especificado como el par separado por comas que consta de y una matriz 1 por 2 del formulario [ ].'Center'xy Los valores y son las coordenadas del punto central del ROI.xy El valor de esta propiedad cambia automáticamente al dibujar o mover el ROI.

Color de ROI, especificado como el par separado por comas que consta de y un valor.'Color'MATLAB®ColorSpec (Color Specification)

Ejemplo: 'green'

Ejemplo: 'g'

Ejemplo: [0 1 0]

El ROI se puede eliminar interactivamente a través de un menú contextual, especificado como el par separado por comas que consta de y un valor lógico de o .'Deletable'truefalse Cuando el valor es (predeterminado), puede eliminar el ROI a través del menú contextual.true Para deshabilitar este elemento de menú contextual, establezca en .'Deletable'false Cuando el valor se establece en , todavía puede eliminar el ROI llamando a la función, especificando el identificador para el ROI como entrada.falsedelete

Area de los ejes en los que puede colocar interactivamente el ROI, especificado como el par separado por comas que consta de y uno de los valores de esta tabla.'DrawingArea'

ValorDescripción
'auto'El área de dibujo es el límite de ejes actuales (predeterminado).
'unlimited'El área de dibujo no tiene contorno y los ROI se pueden dibujar o arrastrar para extenderse más allá de los límites de los ejes.
[x,y,w,h]El área de dibujo está restringida a un rectángulo que comienza en ( , ), con anchura y altura .xywh

Transparencia de la cara del ROI, especificada como el par separado por comas que consta de y un valor escalar en el rango .'FaceAlpha'[0,1] Cuando el valor es , la cara de ROI es totalmente opaca.1 Cuando el valor es , la cara del ROI es completamente transparente.0

La cara del ROI puede capturar clics, especificados como el par separado por comas que consta de y el valor o .'FaceSelectable'truefalse Cuando (predeterminado), la cara del ROI puede capturar clics.true Cuando , la cara del ROI no puede capturar clics.false

La relación de aspecto permanece constante durante la interacción, especificada como el par separado por comas que consta de y los valores lógicos o .'FixedAspectRatio'truefalse Cuando este valor es , el ROI mantiene la relación de aspecto al dibujar o cambiar el tamaño de la elipse.true Cuando este valor es (predeterminado), puede cambiar la relación de aspecto al dibujar o cambiar el tamaño de la elipse.false Puede cambiar este valor mediante el menú contextual predeterminado.

Visibilidad del identificador de ROI en la propiedad del elemento primario, especificada como el par separado por comas que consta de y uno de los valores de esta tabla.Children'HandleVisibility'

ValorDescripción
'on'El identificador de objeto siempre está visible (predeterminado).
'off'El identificador de objeto está oculto en todo momento.
'callback'El identificador de objeto es visible desde dentro de devoluciones de llamada o funciones invocadas por devoluciones de llamada, pero no desde dentro de las funciones invocadas desde la línea de comandos.

Interactividad del ROI, especificada como el par separado por comas que consta de y uno de los valores de esta tabla.'InteractionsAllowed'

ValorDescripción
'all'El ROI es totalmente interactuable (predeterminado).
'none'El ROI no es interactuable y no hay puntos de arrastre visibles.
'translate'El ROI se puede traducir (mover) dentro del área de dibujo, pero no cambiar de forma.
'reshape'El ROI se puede cambiar de forma dentro del área de dibujo, pero no traducirse.

Etiqueta de ROI, especificada como el par separado por comas que consta de un vector de caracteres o una cadena.'Label' De forma predeterminada, esta propiedad se establece en una matriz vacía ( ) y el ROI no tiene ninguna etiqueta.''

Visibilidad de la etiqueta de ROI, especificada como el par separado por comas que consta de y uno de estos valores.'LabelVisible'

ValorDescripción
'on'La etiqueta es visible cuando el ROI está visible y la propiedad no está vacía (valor predeterminado).Label
'hover'

La etiqueta solo es visible cuando el ratón pasa el ratón sobre el ROI.

'off'La etiqueta no está visible.

Ancho de la arista del ROI, especificado como el par separado por comas que consta de un escalar numérico positivo en puntos.'LineWidth' El valor predeterminado es tres veces el número de puntos por píxel de pantalla.

Elemento primario del ROI, especificado como el par separado por comas que consta de y un objeto u.'Parent'AxesUIAxes Para obtener información sobre el uso de un ROI en un UIAxes, incluidas las limitaciones importantes, consulte .Uso de ROI en aplicaciones creadas con El Diseñador de aplicaciones

Angulo alrededor del centro de la elipse, especificado como el par separado por comas que consta de y como un escalar numérico no negativo.'RotationAngle' El ángulo se mide en grados en el sentido de las agujas del reloj. Este valor cambia automáticamente al dibujar o mover el ROI.

Estado de selección del ROI, especificado como el par separado por comas que consta de y o .'Selected'truefalse También puede establecer este valor de forma interactiva. Por ejemplo, al hacer clic en el ROI se selecciona y se establece este valor en .true Del mismo modo, si el ROI, lo anula la selección y establece este valor en .Ctrl-clicfalse

Color del ROI cuando se selecciona, especificado como el par separado por comas que consta de y un .'SelectedColor'MATLABColorSpec (Color Specification) Si se establece en , el valor define el color del ROI para todos los estados, seleccionados o no.'SelectedColor''none'Color

Ejemplo: 'green'

Ejemplo: 'g'

Ejemplo: [0 1 0]

Longitudes de la semieje de la elipse, especificadas como el par separado por comas que consta de y una matriz 1 por 2 de la forma.'SemiAxes'[semiaxis1 semiaxis2] La función asigna la longitud del semízptica más cercana a la dirección a .drawellipsexsemiaxis1 Sin embargo, tenga en cuenta que la forma y la orientación de la elipse pueden cambiar a través de la interacción. El valor de esta propiedad cambia automáticamente al dibujar o cambiar la forma del ROI.

Color de la franja ROI, especificado como el par separado por comas que consta de ' y un valor.'StripeColorMATLABColorSpec (Color Specification) Si especifica , el borde del ROI se raya.'StripeColor' El rayado consta de una combinación del valor especificado por y este valor.'Color'

Ejemplo: 'green'

Ejemplo: 'g'

Ejemplo: [0 1 0]

Etiqueta que se va a asociar con el ROI, especificado como el par separado por comas que consta de un vector de caracteres o un escalar de cadena.'Tag' Utilice el valor de etiqueta para buscar el objeto ROI en una jerarquía de objetos mediante la función.findobj

Menú contextual, especificado como el par separado por comas que consta de y un objeto que crea mediante la función.'UIContextMenu'ContextMenuuicontextmenu Especifique este par nombre-valor para mostrar un menú contextual personalizado al hacer clic con el botón derecho en el ROI. Para crear un menú contextual personalizado, cree un objeto mediante la función y, a continuación, configure las propiedades del menú contextual.ContextMenuuicontextmenu

Datos que se asocian al ROI, especificados como el par separado por comas que consta de y cualquier dato.'UserData'MATLAB Por ejemplo, puede especificar un escalar, vector, matriz, matriz, matriz de celdas, cadena, matriz de caracteres, tabla o estructura. no utiliza estos datos.MATLAB

Ubicaciones de puntos en el borde del ROI, devueltas como el par separado por comas que consta de y una matriz -by-2.'Vertices'n

Esta propiedad es de solo lectura.

Visibilidad del ROI, especificada como el par separado por comas que consta de y uno de los valores de esta tabla.'Visible'

ValorDescripción
'on'Especifique este valor para mostrar el ROI (predeterminado).
'off'Especifique este valor para ocultar el ROI sin eliminarlo. Todavía puede acceder a las propiedades de un ROI oculto.

Argumentos de salida

contraer todo

ROI elíptico, devuelto como un objeto.Ellipse

Sugerencias

  • El ROI admite la siguiente interactividad, incluidos los métodos abreviados de teclado.

    ComportamientoAtajo de teclado
    Cancele el dibujo del ROI.Pulse.Esc La función devuelve un objeto de ROI válido con un campo vacío.Position
    Ajuste el ancho de la elipse mientras dibuja.Al dibujar la elipse, utilice la rueda de desplazamiento para realizar pequeños cambios en el ancho de la elipse.
    Gire el ROI.

    Coloque el puntero cerca de un vértice. El puntero cambia al puntero de rotación. Haga clic y gire el ROI en su centro.

    Para hacer que la rotación se ajuste en ángulos de 15 grados, pulse mientras gira.Cambio

    Mantenga la relación de aspecto durante el dibujo.

    Mantenga pulsada la tecla mientras dibuja.Cambio Crea un ROI circular.

    Para bloquear la relación de aspecto, coloque el puntero en el ROI, haga clic con el botón derecho y seleccione en el menú contextualFix Aspect Ratio

    Cambie el tamaño (remodele) el ROI.

    Coloque el puntero sobre un vértice y, a continuación, haga clic y arrastre. Para mantener la relación de aspecto a medida que cambia el tamaño, mantenga pulsada la tecla.Cambio

    Mueva el ROI.Coloque el puntero sobre el ROI. El puntero cambia a la forma del fleur. Haga clic y arrastre para mover el ROI.
    Elimine el ROI.Coloque el puntero sobre el ROI y haga clic con el botón derecho para ver su menú contextual. Seleccione en el menú.Delete Ellipse También puede eliminar el ROI mediante la función de objeto.delete
  • La función devuelve un objeto DE ROI.drawellipseEllipse Después de la creación, utilice estas capacidades del objeto para personalizar la apariencia y el comportamiento del ROI.

    • Propiedades de objeto: los objetos de ROI admiten propiedades que modifican su apariencia o comportamiento. Por ejemplo, para cambiar el color de la a amarillo, establezca su propiedad, .roiColorroi.Color = 'yellow'

    • Funciones de objeto: los objetos de ROI admiten un conjunto de funciones de objeto que funcionan en los ROI. Por ejemplo, si desea pausar la línea de comandos de MATLAB después de crear un ROI, llame a la función object.wait

    • Notificaciones de eventos: los objetos de ROI pueden notificar al código cuando determinados eventos, como moverse o hacer clic, se producen en el ROI. Para recibir estas notificaciones, utilice la función de objeto para configurar eventos específicos.addlistenerOyentes En el agente de escucha, especifique un evento, como , y una función de devolución de llamada que se ejecuta cuando se produce el evento.'ROIMoved' Cuando el ROI notifica a la aplicación a través del agente de escucha, devuelve datos específicos del evento. Por ejemplo, con el evento, el objeto ROI devuelve su posición anterior y su posición actual.'ROIMoved'

    Para obtener un ejemplo del uso de detectores de eventos con el objeto, consulte .EllipseConfigurar el agente de escucha para los eventos de ROI de Ellipse Para obtener más información acerca de estas capacidades, consulte la documentación del objeto.Ellipse

Introducido en R2018b