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.

imrotate3

Rotar imagen volumétrica en escala de grises 3-D

Descripción

ejemplo

B = imrotate3(V,angle,W) gira la imagen volumétrica en escala de grises 3D (denominada ) por grados en sentido contrario a las agujas del reloj alrededor de un eje que pasa por el origen. es un vector 1 por 3 que especifica la dirección del eje de rotación en el espacio 3D.VVolumenangle[0 0 0]W De forma predeterminada, utiliza la interpolación trilineal y establece los valores de los vóxeles que están fuera de los límites del volumen girado en .imrotate3B0

B = imrotate3(V,angle,W,method) gira el volumen, donde especifica el método de interpolación.Vmethod

B = imrotate3(V,angle,W,method,bbox) gira el volumen, donde especifica el tamaño del volumen de salida.Vbbox Si especifica , hace que el volumen de salida tenga el mismo tamaño que el volumen de entrada.'crop'imrotate3 Si especifica , hace que el volumen de salida sea lo suficientemente grande como para incluir la totalidad del volumen girado.'loose'imrotate3

B = imrotate3(___,Name,Value) especifica parámetros adicionales que controlan varios aspectos de la transformación geométrica.

Ejemplos

contraer todo

Cargue una imagen volumétrica en escala de grises 3D en el espacio de trabajo y muéstrala.

s = load('mri'); mriVolume = squeeze(s.D); volshow(mriVolume); 

Gire el volumen 90 grados alrededor del eje Z.

B = imrotate3(mriVolume,90,[0 0 1],'nearest','loose','FillValues',0); 

Visualice el volumen de salida girado. También puede explorar el volumen en la aplicación Visor de volúmenes.

volshow(B); 

Argumentos de entrada

contraer todo

Volumen que se va a girar, especificado como una imagen en escala de grises 3D.

supone que el volumen de entrada se centra en el origen.imrotate3V[0 0 0] Si el volumen no está centrado en el origen, utilice para traducir el volumen a antes de usar .imtranslate[0 0 0]imrotate3 Puede volver a traducir el volumen de salida a la posición original con el vector de traducción opuesto.B

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

Angulo de rotación en grados, especificado como escalar numérico. Para girar el volumen en el sentido de las agujas del reloj, especifique un valor negativo para . hace que el volumen de salida sea lo suficientemente grande como para contener todo el volumen 3D girado.angleimrotate3B

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

Dirección del eje de rotación en el espacio 3D en coordenadas cartesianas, especificada como un vector numérico 1 por 3.

Si desea especificar la dirección del eje de rotación en coordenadas esféricas, utilice para convertir valores en coordenadas cartesianas antes de pasarlo a .sph2cartimrotate3

Ejemplo: gira el volumen alrededor del eje Z[0 0 1]

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

Método de interpolación, especificado como uno de los siguientes valores.

MétodoDescripción
'cubic'

Interpolación tricúbica

Nota

La interpolación tricúbica puede producir valores de píxel esmás fuera del rango original.

'linear'

Interpolación trilineal

'nearest'

Interpolación de vecino sin vecinos más cercanos

Tipos de datos: char | string

Tamaño del volumen de salida, especificado como cualquiera de los siguientes valores.

MétodoDescripción
'crop'

Haga que el volumen de salida sea el mismo tamaño que el volumen de entrada, recortando el volumen girado para ajustarlo.

'loose'

Haga que el volumen de salida sea lo suficientemente grande como para contener todo el volumen girado. Normalmente, el volumen girado es mayor que el volumen de entrada.

Tipos de datos: char | string

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: B = imrotate3(V,angle,W,'nearest','loose','FillValues',5);

Valores de relleno utilizados para rellenar los vóxeles en el volumen de salida que están fuera de los límites del volumen girado, especificados como el par separado por comas que consta de y un escalar numérico.'FillValues'

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

Argumentos de salida

contraer todo

Volumen girado, devuelto como una matriz numérica de la misma clase que el volumen de entrada.V

Introducido en R2017a