Main Content

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.

AssistedFreehand

Región de interés a mano alzada asistida

Descripción

es un objeto de región de interés (ROI) dibujado a mano, donde la línea dibujada sigue automáticamente los bordes de la imagen subyacente.AssistedFreehand

Para dibujar el ROI, coloque el puntero en la imagen, haga clic y suelte para colocar el primer vértice (punto de acceso). A continuación, mueva el puntero para dibujar una línea. A medida que dibuja, la línea sigue automáticamente los bordes de los objetos de la imagen. Haga doble clic para finalizar el ROI. Para obtener más información sobre el uso de este ROI, incluidos los métodos abreviados de teclado, consulte .Consejos

Creación

Descripción

Para crear un objeto, utilice la función de creación.AssistedFreehandimages.roi.AssistedFreehand Después de crear el objeto, llame a la función de objeto para comenzar a dibujar.draw Como comodidad, también puede utilizar la función para crear un ROI.drawassistedAssistedFreehand La función crea el objeto ROI y llama a la función de objeto por usted.drawassisteddraw

ejemplo

roi = images.roi.AssistedFreehand crea un objeto con propiedades predeterminadas.AssistedFreehand

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

roi = images.roi.AssistedFreehand(___,Name,Value) establece utilizando pares nombre-valor.Propiedades Por ejemplo, establece el color del objeto en amarillo.images.roi.AssistedFreehand('Color','y')AssistedFreehand Puede especificar varios pares nombre-valor. Incluya cada nombre de propiedad entre comillas simples.

Argumentos de entrada

expandir todo

Padre del ROI, especificado como un objeto u objeto.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

Propiedades

expandir todo

Cierre el ROI a mano alzada, especificado como un valor lógico o .truefalse Si (predeterminado), cierra el ROI conectando el último punto dibujado al primer punto dibujado.trueFreehand

COLOR de ROI, especificado como un archivo .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 o .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 esta propiedad en .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 uno de los valores de esta tabla.

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 una región rectangular que comienza en ( , ), y se extiende hasta anchura y altura.xywh

Transparencia de la cara del ROI, especificada como un valor escalar numérico en el intervalo .[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 o .truefalse Cuando (predeterminado), la cara del ROI captura los clics del ratón.true Cuando , la cara del ROI no captura los clics del ratón.false

Visibilidad del identificador de ROI en la propiedad del elemento primario, especificada como uno de los valores de esta tabla.Children

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.

Imagen en la que se va a dibujar el ROI, especificado como un identificador de un objeto.Image

Interactividad del ROI, especificada como uno de los valores de esta tabla.

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 remodelar pero no traducir.

Etiqueta de ROI, especificada como vector de caracteres o cadena. De forma predeterminada, el ROI no tiene ninguna etiqueta ( ).''

Visibilidad de la etiqueta ROI, especificada como uno de estos valores:

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.

Anchura de la arista del ROI, especificada como un escalar numérico positivo en puntos. El valor predeterminado es tres veces el número de puntos por píxel de pantalla.

ROI primario, especificado como un objeto u objeto.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

Posición del ROI, especificada como una matriz numérica -by-2 del formulario, donde está el número de puntos.n[x1 y1;...;xn yn]n Cada fila especifica la posición de un punto que define el ROI. genera estos puntos a medida que dibuja la forma de ROI.AssistedFreehand Para trabajar con menos puntos, utilice la función de objeto.reduce

Estado de selección del ROI, especificado como el valor lógico o .truefalse También puede establecer esta propiedad de forma interactiva. Por ejemplo, al hacer clic en el ROI se selecciona el ROI y se establece esta propiedad en .true Del mismo modo, al presionar la tecla y hacer clic en el ROI se anula la selección del ROI y se establece el valor de esta propiedad en .Ctrlfalse

Color del ROI cuando se selecciona, especificado como un archivo .MATLABColorSpec (Color Specification) Las intensidades deben estar en el rango.[0,1] 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]

Borde suave del ROI durante la colocación interactiva, especificado como un escalar no negativo. El objeto utiliza la desviación estándar del núcleo de suavizado gaussiano para filtrar las coordenadas y coordenadas del ROI.AssistedFreehandxy Este parámetro define el tamaño del filtro utilizando esta ecuación: .2*ceil(2*Smoothing) + 1 Debe establecer el parámetro antes de dibujar el ROI de forma interactiva. Puede ver el efecto de suavizado solo después de completar el dibujo.

Color de la franja ROI, especificada como un valor.MATLABColorSpec (Color Specification) De forma predeterminada, el borde de un ROI es de color sólido. 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 vector de caracteres o cadena. 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 un objeto.ContextMenu Utilice esta propiedad para mostrar un menú contextual personalizado al hacer clic con el botón derecho en el ROI. Puede crear un menú contextual personalizado mediante la función y, a continuación, configurar las propiedades del menú contextual.uicontextmenu

Datos que se asocian al ROI, especificados como cualquier dato.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

Visibilidad del ROI, especificada como uno de los valores de esta tabla.

ValorDescripción
'on'Visualice el ROI (predeterminado).
'off'Ocultar el ROI sin eliminarlo. Todavía puede acceder a las propiedades de un ROI invisible.

Puntos de control utilizados para cambiar la forma del ROI, especificado como una matriz lógica -by-1 de la misma longitud que la propiedad.nPosition Los elementos con el valor identifican los puntos de la matriz que son waypoints.WaypointstruePosition De forma predeterminada, genera todos los puntos que definen el ROI y solo convierte puntos en ubicaciones de curvatura aumentada en waypoints.AssistedFreehand Puede convertir todos los puntos, o algún subconjunto de puntos, en waypoints mediante el uso de código similar a .roi.Waypoints(1:4:end) = true;

Los waypoints aparecen como formas circulares en el borde del ROI. Puede utilizar waypoints para cambiar la forma del ROI haciendo clic y arrastrando el waypoint con el ratón. Mover waypoints modifica la región dibujada a mano alzada entre el waypoint que agarró y los waypoints vecinos inmediatos.

Funciones del objeto

addlistenerCreate event listener bound to event source
beginDrawingFromPointComience a dibujar ROI desde el punto especificado
bringToFrontLleve el ROI al orden de apilamiento de los ejes
createMaskCrear imagen de máscara binaria a partir de ROI
drawComience a dibujar ROI de forma interactiva
inROIConsultar si los puntos se encuentran en ROI
reduceReducir la densidad de puntos en el ROI
waitBloquear la línea de comandos hasta que finalice la operación de ROIMATLAB

Ejemplos

contraer todo

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

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

Cree una instancia de una clase.images.roi.AssistedFreehand De forma predeterminada, la clase crea el ROI en los ejes actuales. Tenga en cuenta que los ejes deben contener una imagen.

roi = images.roi.AssistedFreehand; 

Llame al método, especificando el objeto como argumento.drawAssistedFreehand El puntero cambia a una forma de cruz cuando se mueve sobre la imagen. Puede dibujar el ROI. Observe cómo, al mover el puntero, la línea que dibuja sigue los bordes de la imagen subyacente. Haga clic para agregar vértices a lo largo de la arista a medida que dibuja.

draw(roi); 

Lea una imagen en el espacio de trabajo.

I = imread('cameraman.tif');

Muestre la imagen. Utilice la sintaxis que devuelve el objeto de imagen que se muestra.imshow

img = imshow(I);

Cree un ROI en la imagen.AssistedFreehand Llame a la función de objeto para habilitar el dibujo interactivo de la forma de ROI.draw Observe cómo la línea de ROI sigue automáticamente los bordes de la imagen subyacente.

roi = images.roi.AssistedFreehand(img); draw(roi)

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 en la línea de comandos 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

Más acerca de

expandir todo

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
    Termine de dibujar (cierre) el ROI.

    Haga doble clic, que agrega un punto en la posición del puntero y dibuja una línea que conecta este punto con el primer punto dibujado, cerrando el ROI.

    Haga clic con el botón derecho del botón derecho del botón derecho del derecho, que dibuja una línea que conecta el último punto con el primer punto dibujado.

    Coloque el puntero sobre el primer punto y haga clic.

    Pulse , que dibuja una línea que conecta el último punto con el primer punto dibujado.Entrar

    Cambie el tamaño (remodele) el ROI.

    Coloque el puntero sobre un waypoint y, a continuación, haga clic y arrastre. No hay asistencia (enganche a los bordes) disponible en este modo.

    Agregue un waypoint.

    Coloque el puntero en un borde del ROI, haga clic con el botón derecho y seleccione .Add Waypoint También puede colocar el puntero en un borde del ROI y hacer doble clic.

    Quite un waypoint.

    Coloque el puntero en un waypoint, haga clic con el botón derecho y seleccione .Remove Waypoint

    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 un ROI.Coloque el puntero en el ROI (no en un vértice), haga clic con el botón derecho y seleccione en el menú contextual.Delete Freehand También puede eliminar el ROI mediante programación mediante el método object.delete
  • Para obtener información sobre el uso de un ROI en una aplicación creada con el Diseñador de aplicaciones, consulte .Uso de ROI en aplicaciones creadas con El Diseñador de aplicaciones

Introducido en R2018b