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.

orthosliceViewer

Explorar sectores ortogonales en escala de grises o volumen RGB

Descripción

El objeto abre un visor para explorar volúmenes RGB y en escala de grises.orthosliceViewer El visor muestra tres vistas ortogonales del volumen: una vista a lo largo de la dimensión , , y .xyz

Se utiliza para ver sectores individuales en un volumen.orthosliceViewer Cuando se abre el visor, muestra el sector central en la pila para cada dimensión. Cada vista de la pila de imágenes incluye un punto de mira que puede utilizar para ver los diferentes sectores de la pila de imágenes. El punto de mira está vinculado, por lo que si se mueve uno, el punto de mira en las vistas relacionadas también se mueven.

Admite propiedades, funciones de objeto y eventos que puede usar para personalizar su apariencia y comportamiento. puede enviar notificaciones cuando se producen ciertos eventos, como el movimiento del punto de mira.orthosliceViewerorthosliceViewer Para obtener más información, consulte .Más acerca de

De forma predeterminada, puede ajustar interactivamente el brillo y el contraste del sector que se muestra en el visor de ortoslices arrastrando el ratón horizontal o verticalmente sobre la imagen. Para obtener más información, consulte .Comportamiento interactivo

Creación

Descripción

ejemplo

orthosliceViewer(V) muestra sectores ortogonales de la escala de grises o el volumen RGB en una figura.V

orthosliceViewer(V,Name,Value) establece utilizando pares nombre-valor.Propiedades Por ejemplo, crea un objeto que especifica el mapa de colores utilizado para mostrar el volumen.orthosliceViewer(V,'Colormap',cmap)orthosliceViewer Puede especificar varios pares nombre-valor. Incluya cada nombre de propiedad entre comillas simples.

s = orthosliceViewer(___) devuelve un objeto, , con propiedades que se pueden utilizar para controlar la visualización de las imágenes.orthosliceViewers Utilice argumentos de entrada de cualquiera de las sintaxis anteriores.

Argumentos de entrada

expandir todo

Volumen de entrada, especificado como una matriz numérica -by- -by- -by-.mnpc Para volúmenes en escala de grises, es 1.c Para volúmenes RGB, es 3.c Los volúmenes RGB solo pueden ser de clase , , , o .uint8uint16singledouble

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Propiedades

expandir todo

Propiedades generales

Mapa de colores de la pila de imágenes, especificado como una matriz numérica -by-3 con valores en el rango .m[0 1] Cuando es una pila de imágenes RGB, no tiene ningún efecto.VColormap

Mostrar el rango de volumen en escala de grises, especificado como un vector numérico de dos elementos del formulario.[low high] El valor (y cualquier valor menor que ) se muestra como negro.lowlow El valor (y cualquier valor mayor que ) se muestra como blanco.highhigh Los valores del rango se muestran como tonos intermedios de gris, utilizando el número predeterminado de niveles de gris.[low high] Si especifica una matriz vacía , el objeto utiliza el valor predeterminado.([])sliceViewer Cuando se especifica una pila de imágenes RGB, no tiene ningún efecto.DisplayRange

Habilite el control interactivo del rango de visualización, especificado como uno de los valores de esta tabla. Esta propiedad no afecta cuando se especifica una pila de volúmenes RGB. Para obtener más información sobre el uso de esta funcionalidad, consulte .Comportamiento interactivo

ValorDescripción
(predeterminado)'on'Controle el rango de visualización de un volumen en escala de grises haciendo clic con el botón izquierdo del ratón y arrastrándolo sobre los ejes.
'off'Deshabilite la interactividad del rango de visualización.

Elemento primario del objeto, especificado como a o como creado con el comando o.orthosliceVieweruipanelfigurefigureuifigure Si no especifica un elemento primario, el elemento primario del objeto es .orthosliceViewergcf

Factores de escala utilizados para redimensionar el volumen, especificados como un vector numérico positivo 1 por 3. Los valores de la matriz corresponden al factor de escala aplicado en las direcciones , , y .xyz

Los índices de los sectores de imagen que se mostrarán, especificados como una matriz numérica no negativa 1 por 3. muestra los sectores correspondientes en los índices de las vistas , , y .orthosliceViewer[x,y,z]YZXZXY

Propiedades de la cruz

Color de cruz, especificado como un archivo .MATLAB®ColorSpec (Color Specification)

Ejemplo: 'green'

Ejemplo: 'g'

Ejemplo: [0 1 0]

Estado de los objetos de cruz vinculados, especificado como uno de los valores de esta tabla.

ValorDescripción
'on'El punto de mira es visible, y puedes interactuar con él
'inactive'El punto de mira es visible, pero no puedes interactuar con él
'off'El punto de mira no es visible.

Anchura de la línea de cruz, especificada como un escalar numérico positivo, medida en puntos. El valor predeterminado es el número de puntos por píxel de pantalla.

Color de la franja de cruz, especificado como un valor o .MATLABColorSpec (Color Specification)'none' De forma predeterminada, la cruz es sólida ( ).'none' Al especificar esta propiedad se crea una línea de cruz a rayas. El rayado consta de una combinación del valor especificado por y este valor.'CrosshairColor'

Ejemplo: 'green'

Ejemplo: 'g'

Ejemplo: [0 1 0]

Funciones del objeto

addlistenerCreate event listener bound to event source
getAxesHandles Obtener asas a los ejes en el visor de ortoslice

Ejemplos

contraer todo

Cargue una pila de imágenes en el espacio de trabajo.

load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','images','vol_001.mat'));

Cree un mapa de colores personalizado.

cmap = parula(256);

Vea los datos de RMN en el Visor de Orthoslice.

s = orthosliceViewer(vol,'Colormap',cmap)
s =    orthosliceViewer with properties:                 SliceNumbers: [121 121 78]              CrosshairColor: [1 1 0]          CrosshairLineWidth: 1        CrosshairStripeColor: 'none'             CrosshairEnable: 'on'                      Parent: [1×1 Panel]                    Colormap: [256×3 double]                DisplayRange: [0 2239]                ScaleFactors: [1 1 1]     DisplayRangeInteraction: 'on'  

Cargue los datos de RMN y visualíselos en el Visor de Orthoslice.

load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','images','vol_001.mat')); s = orthosliceViewer(vol);

Obtenga el identificador de los ejes que contiene el sector.

[hXYAxes, hYZAxes, hXZAxes] = getAxesHandles(s);

Desactive el punto de mira para una mejor visibilidad.

set(s,'CrosshairEnable','off');

Especifique el nombre del archivo GIF.

filename = 'animatedYZSlice.gif';

Cree una matriz de números de sector en la dirección requerida. Considere la dirección YZ.

sliceNums = 1:240;

Recorlas y crea una imagen en la posición de sector especificada.

for idx = sliceNums     % Update X slice number to get YZ Slice.     s.SliceNumbers(1) = idx;        % Use getframe to capture image.     I = getframe(hYZAxes);     [indI,cm] = rgb2ind(I.cdata,256);        % Write frame to the GIF File.     if idx == 1         imwrite(indI,cm,filename,'gif','Loopcount',inf,'DelayTime',0.05);     else         imwrite(indI,cm,filename,'gif','WriteMode','append','DelayTime',0.05);     end end

Ver el GIF animado.

Cargue una pila de imágenes.

load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','images','vol_001.mat'));

Cree un mapa de colores personalizado para ver sectores.

cmap = parula(256);

Vea la pila de imágenes en el Visor de Orthoslice.

os = orthosliceViewer(vol,'Colormap',cmap);

Configure los agentes de escucha para los dos eventos en movimiento en cruz de Orthoslice Viewer. Al mover el punto de mira, Orthoslice Viewer envía notificaciones de estos eventos y ejecuta la función de devolución de llamada que especifique.

addlistener(os,'CrosshairMoving',@allevents); addlistener(os,'CrosshairMoved',@allevents);

La función de devolución de llamada muestra el nombre de cada evento con la posición anterior y la posición actual de la cruz.allevents

function allevents(src,evt) evname = evt.EventName;     switch(evname)         case{'CrosshairMoved'}             disp(['Crosshair moved previous position: ' mat2str(evt.PreviousPosition)]);             disp(['Crosshair moved current position: ' mat2str(evt.CurrentPosition)]);         case{'CrosshairMoving'}             disp(['Crosshair moving previous position: ' mat2str(evt.PreviousPosition)]);             disp(['Crosshair moving current position: ' mat2str(evt.CurrentPosition)]);     end  end

Más acerca de

expandir todo

Consulte también

| | | | |

Introducido en R2019b