Main Content

Cuboid

Región cuboidal de interés

Descripción

El objeto es una región cuboidal de interés (ROI).Cuboid

Para dibujar el ROI, coloque el cursor sobre el ROI y haga clic y arrastre para mover o cambiar el tamaño de la forma. Para finalizar el ROI, suelte el botón del ratón. Para obtener más información sobre el uso de este ROI, incluidos los métodos abreviados de teclado y un menú contextual con el botón derecho del botón derecho, consulte .Consejos

Creación

Descripción

Para crear un ROI, utilice la función de creación.Cuboidimages.roi.cuboid 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.drawcuboidCuboid La función crea el objeto ROI y llama automáticamente a la función de objeto.drawcuboiddraw

ejemplo

roi = images.roi.Cuboid crea un objeto ROI con propiedades predeterminadas.Cuboid

roi = images.roi.Cuboid(ax) crea un objeto ROI en los ejes especificados por .Cuboidax

roi = images.roi.Cuboid(___,Name,Value)establece utilizando pares nombre-valor.Propiedades Por ejemplo, establece el color del objeto en amarillo.images.roi.Cuboid('Color','y')Cuboid 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

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 un superconjunto de los límites de los ejes actuales y un cuadro delimitador que rodea el ROI (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,z,w,h,d]El área de dibujo está restringida a una región que comienza en ( , , ), con anchura, altura y profundidad.xyzwhd

Transparencia de la arista del ROI, especificada como un valor escalar numérico no negativo en el intervalo .[0 1] Cuando se establece en , el borde del ROI es totalmente opaco.1 Cuando se establece en , el borde del ROI es completamente transparente.0

Ejemplo: drawcuboid('EdgeAlpha',0.2)

Transparencia de las caras de ROI, especificada como un valor escalar numérico en el intervalo .[0 1] Cuando el valor es , las caras de ROI son totalmente opacas.1 Cuando el valor es , las caras de ROI son completamente transparentes.0

Transparencia de la cara del ROI directamente debajo del puntero del ratón, especificado como un valor escalar en el rango o , para indicar ningún cambio en la transparencia de la cara.[0 1]'none' Cuando se establece en , la cara debajo del puntero del ratón es totalmente opaca.1 Cuando se establece en , la cara es completamente transparente.0

Ejemplo: drawcuboid('FaceAlphaOnHover',1)

Color de la cara del ROI directamente debajo del puntero del ratón, especificado como a o .MATLABColorSpec (Color Specification)'none' De forma predeterminada, el color de la cara no cambia al mantener el mouse. Cuando no se coloca el cursor sobre una cara del ROI, el valor de la propiedad ROI determina el color de la cara.Color Las intensidades deben estar en el rango.[0,1]

Ejemplo: drawcuboid('FaceAlphaOnHover',1)

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.

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.

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

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

ValorDescripción
'on'La etiqueta es visible cuando el ROI está visible y la propiedad Label no está vacía (valor predeterminado).
'hover'La etiqueta solo es visible cuando el ratón está pasando 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.

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 cuboide, especificada como una matriz de 1 por 6 del formulario.[xmin, ymin, zmin, width, height, depth] Esta propiedad se actualiza automáticamente al dibujar o mover el cuboide.

Capacidad del cuboide que se va a girar, especificada como uno de estos valores:

ValorDescripción
'all'El ROI es totalmente giratorio.
'x' El ROI sólo se puede girar alrededor del ejex
'y'El ROI solo se puede girar alrededor del eje.y
'z'El ROI solo se puede girar alrededor del eje.z
'none'El ROI no es giratorio.

Angulo de rotación del ROI, especificado como una matriz numérica de 1 por 3 de ángulos de rotación, medido en grados. La matriz de ángulos de rotación es de la forma, medida alrededor del -, -, y el eje, respectivamente.[x_angle y_angle z_angle]xyz La rotación se aplica sobre el centroide del ROI en el orden z, luego y, luego, x.

El valor de no afecta a los valores de la propiedad. representa el cuboide antes de cualquier rotación.RotationAnglePositionPosition Al girar el cuboide, utilice la propiedad para determinar la ubicación del cuboide girado.Vertices

Capacidad de la rueda de desplazamiento para ajustar el tamaño del cuboide durante la colocación interactiva, especificado como uno de estos valores:

ValorDescripción
'allresize'La rueda de desplazamiento afecta a todas las dimensiones del ROI.
'xresize' La rueda de desplazamiento solo afecta a la cota.x
'yresize' La rueda de desplazamiento solo afecta a la cota.y
'zresize' La rueda de desplazamiento solo afecta a la cota.z
'none'La rueda de desplazamiento no tiene ningún efecto.

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]

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

Ubicaciones de las esquinas del ROI cuboidal, devueltas como una matriz de 8 por 3.

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.

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
drawComience a dibujar ROI de forma interactiva
inROIConsultar si los puntos se encuentran en ROI
waitBloquear la línea de comandos hasta que finalice la operación de ROIMATLAB

Ejemplos

contraer todo

Defina vectores para datos de dispersión 3D.

[x,y,z] = sphere(16); X = [x(:)*.5 x(:)*.75 x(:)]; Y = [y(:)*.5 y(:)*.75 y(:)]; Z = [z(:)*.5 z(:)*.75 z(:)];

Especifique el tamaño y el color de cada marcador.

S = repmat([1 .75 .5]*10,numel(x),1); C = repmat([1 2 3],numel(x),1);

Cree un trazado de dispersión 3D y utilice la vista para cambiar el ángulo de los ejes de la figura.

figure hScatter = scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled');  view(-60,60);

Comience a colocar un cuboide en los ejes que se ajusta al punto más cercano desde el trazado de dispersión. Ajuste el tamaño del cuboide durante la colocación interactiva utilizando la rueda de desplazamiento.

ax = gca; h = images.roi.Cuboid(ax); draw(h)

Defina vectores para datos dispersos 3D.

[x,y,z] = sphere(16); X = [x(:)*.5 x(:)*.75 x(:)]; Y = [y(:)*.5 y(:)*.75 y(:)]; Z = [z(:)*.5 z(:)*.75 z(:)];

Especifique el tamaño y el color de cada marcador.

S = repmat([1 .75 .5]*10,numel(x),1); C = repmat([1 2 3],numel(x),1);

Cree un trazado de dispersión 3D y utilice la vista para cambiar el ángulo de los ejes de la figura.

figure hScatter = scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled');  view(-60,60);

Cree un objeto cuboid ROI, especificando el color. Llame a la función de objeto para habilitar el dibujo interactivo de la forma cuboide.draw

roi = images.roi.Cuboid(gca,'Color','r'); 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 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
    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, haga clic con el botón derecho y seleccione en el menú contextual.Delete Cuboid También puede eliminar el ROI mediante programación mediante la función de objeto.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 R2019a