Main Content

intrinsicToWorld

Convertir de coordenadas intrínsecas a coordenadas mundiales

Descripción

ejemplo

[xWorld, yWorld] = intrinsicToWorld(R,xIntrinsic,yIntrinsic) asigna puntos del sistema intrínseco 2D ( , ) al sistema mundial 2D ( , ) en función de la relación definida por el objeto de referencia espacial 2D .xIntrinsicyIntrinsicxWorldyWorldR

Si las coordenadas de entrada th ( ( ), ( )) quedan fuera de los límites de la imagen en el sistema de coordenadas intrínsecas, extrapola ( ) y ( ) fuera de los límites de la imagen en el sistema de coordenadas universales.kxIntrinsickyIntrinsickintrinsicToWorldxWorldkyWorldk

ejemplo

[xWorld, yWorld, zWorld] = intrinsicToWorld(R,xIntrinsic,yIntrinsic,zIntrinsic) asigna puntos desde el sistema de coordenadas intrínsecas al sistema de coordenadas universales utilizando el objeto de referencia espacial 3D.R

Ejemplos

contraer todo

Lea una imagen en escala de grises 2D en el espacio de trabajo.

m = dicominfo('knee1.dcm'); A = dicomread(m);

Cree un objeto, especificando el tamaño y la resolución de los píxeles.imref2d El archivo DICOM contiene un campo de metadatos que especifica la resolución de la imagen en cada dimensión en milímetros por píxel.PixelSpacing

RA = imref2d(size(A),m.PixelSpacing(2),m.PixelSpacing(1))
RA =    imref2d with properties:             XWorldLimits: [0.1562 160.1562]            YWorldLimits: [0.1562 160.1562]               ImageSize: [512 512]     PixelExtentInWorldX: 0.3125     PixelExtentInWorldY: 0.3125     ImageExtentInWorldX: 160     ImageExtentInWorldY: 160        XIntrinsicLimits: [0.5000 512.5000]        YIntrinsicLimits: [0.5000 512.5000]  

Muestre la imagen, omitiendo el objeto de referencia espacial. Las coordenadas de los ejes reflejan las coordenadas intrínsecas. Observe que la coordenada (0,0) está en la esquina superior izquierda.

figure imshow(A,'DisplayRange',[0 512]) axis on

Supongamos que desea calcular la posición aproximada y la anchura de la rodilla en milímetros. Seleccione los puntos finales de un segmento de línea que se ejecuta horizontalmente a través de la rodilla a nivel de la rótula. Por ejemplo, utilice los puntos ( , ) (34.172) y (442.172).xy

xIntrinsic = [34 442]; yIntrinsic = [172 172];

Convierta estos puntos de coordenadas intrínsecas a coordenadas mundiales.

[xWorld,yWorld] = intrinsicToWorld(RA,xIntrinsic,yIntrinsic)
xWorld = 1×2

   10.6250  138.1250

yWorld = 1×2

   53.7500   53.7500

Las coordenadas mundiales de los dos puntos son (10.625,53.75) y (138.125,53.75), en unidades de milímetros. El ancho aproximado de la rodilla en milímetros es:

width = xWorld(2) - xWorld(1)
width = 127.5000 

Lea un volumen 3D en el espacio de trabajo. Esta imagen consta de 27 fotogramas de imágenes de 128 por 128 píxeles.

load mri; D = squeeze(D); D = ind2gray(D,map);

Cree un objeto de referencia espacial asociado al volumen.imref3d Para fines ilustrativos, proporcione una resolución de píxeles en cada dimensión. La resolución es en milímetros por píxel.

R = imref3d(size(D),2,2,4)
R =    imref3d with properties:             XWorldLimits: [1 257]            YWorldLimits: [1 257]            ZWorldLimits: [2 110]               ImageSize: [128 128 27]     PixelExtentInWorldX: 2     PixelExtentInWorldY: 2     PixelExtentInWorldZ: 4     ImageExtentInWorldX: 256     ImageExtentInWorldY: 256     ImageExtentInWorldZ: 108        XIntrinsicLimits: [0.5000 128.5000]        YIntrinsicLimits: [0.5000 128.5000]        ZIntrinsicLimits: [0.5000 27.5000]  

Mostrar el segmento central del volumen, omitiendo el objeto de referencia espacial. Las coordenadas de los ejes reflejan las coordenadas intrínsecas. Observe que la coordenada (0,0) está en la esquina superior izquierda de este plano. 0 está justo debajo de la primera rebanada, y el -eje es positivo en la dirección ascendente, hacia la corona de la cabeza.zz

figure imshow(D(:,:,13)) axis on

Supongamos que desea determinar la posición, en milímetros, de las entidades dentro de este sector. Seleccione cuatro puntos de muestra y almacene sus coordenadas intrínsecas en vectores. Por ejemplo, el primer punto tiene coordenadas intrínsecas (54,46,13). La coordenada intrínseca -coordenada es la misma para todos los puntos dentro de este sector.z

xI = [54 71 57 70]; yI = [46 48 79 80]; zI = [13 13 13 13];

Convierta las coordenadas intrínsecas en coordenadas mundiales utilizando .intrinsicToWorld

[xW,yW,zW] = intrinsicToWorld(R,xI,yI,zI)
xW = 1×4

   108   142   114   140

yW = 1×4

    92    96   158   160

zW = 1×4

    52    52    52    52

Los vectores resultantes son el mundo -, -, y -coordenadas, en milímetros, de los puntos seleccionados.xyz El primer punto, por ejemplo, se desfasa del origen en 108 mm en la dirección, 92 mm en la dirección -y 52 mm en la dirección z.xy

Argumentos de entrada

contraer todo

Objeto de referencia espacial, especificado como u objeto.imref2dimref3d

Coordenadas a lo largo de la -dimensión en el sistema de coordenadas intrínsecas, especificadas como un escalar numérico o un vector.x

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

Coordenadas a lo largo de la -dimensión en el sistema de coordenadas intrínsecas, especificadas como un escalar numérico o un vector. es la misma longitud que .yyIntrinsicxIntrinsic

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

Coordenadas a lo largo de la -dimensión en el sistema de coordenadas intrínsecas, especificadas como un escalar numérico o un vector. es la misma longitud que .zzIntrinsicxIntrinsic

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

Argumentos de salida

contraer todo

Coordenadas a lo largo de la dimensión -en el sistema de coordenadas universales, devueltas como un escalar numérico o vector. es la misma longitud que .xxWorldxIntrinsic

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

Coordenadas a lo largo de la dimensión -en el sistema de coordenadas universales, devueltas como un escalar numérico o vector. es la misma longitud que .yyWorldxIntrinsic

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

Coordenadas a lo largo de la dimensión -en el sistema de coordenadas universales, devueltas como un escalar numérico o vector. es la misma longitud que .zzWorldxIntrinsic

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

Consulte también

| |

Introducido en R2013a