Main Content

worldToSubscript

Convertir coordenadas mundiales en subíndices de fila y columna

Descripción

ejemplo

[I, J] = worldToSubscript(R,xWorld,yWorld) asigna puntos desde el sistema mundial 2D ( , ) a matrices de subíndices y en función de la relación definida por el objeto de referencia espacial 2-D.xWorldyWorldIJR

Si las coordenadas de entrada ( ( ) ), ( )) quedan fuera de los límites de la imagen en el sistema de coordenadas universales, establece los subíndices correspondientes ( ) y ( ) en .kxWorldkyWorldkworldToSubscriptIkJkNaN

ejemplo

[I, J, K] = worldToSubscript(R,xWorld,yWorld,zWorld) asigna puntos desde el sistema mundial 3D a matrices de subíndices , , y , utilizando el objeto de referencia espacial 3D .IJKR

Ejemplos

contraer todo

Lea una imagen en escala de grises 2D de una rodilla 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, incluido el objeto de referencia espacial. Las coordenadas de los ejes reflejan las coordenadas mundiales. Observe que la coordenada (0,0) está en la esquina superior izquierda.

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

Seleccione puntos de muestra y almacene sus coordenadas de mundo y coordenadas en vectores.xy Por ejemplo, el primer punto tiene coordenadas mundiales (38.44,68.75), el segundo punto es 1 mm a la derecha de él, y el tercer punto es 7 mm por debajo de él. El último punto está fuera del límite de la imagen.

xW = [38.44 39.44 38.44 -0.2]; yW = [68.75 68.75 75.75 1];

Convierta las coordenadas mundiales en subíndices de fila y columna utilizando .worldToSubscript

[rS, cS] = worldToSubscript(RA,xW,yW)
rS = 1×4

   220   220   242   NaN

cS = 1×4

   123   126   123   NaN

Los vectores resultantes contienen los índices de fila y columna más cercanos al punto. Tenga en cuenta que los índices son discretos y que los puntos fuera del límite de la imagen tienen para los índices de fila y columna.NaN

Además, se invierte el orden de las coordenadas de entrada y salida. El vector de coordenadas del mundo, , corresponde al segundo vector de salida, .xxWcS El vector de coordenadas del mundo, , corresponde al primer vector de salida, .yyWrS

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]  

Seleccione puntos de muestra y almacene sus -, -, y coordenadas mundiales en vectores.xyz Por ejemplo, el primer punto tiene coordenadas universales (108,92,52), el segundo punto está 3 mm por encima de él en la dirección +, y el tercer punto es 5,2 mm a la derecha de él en la dirección + .zx El último punto está fuera del límite de la imagen.

xW = [108 108 113.2 2]; yW = [92 92 92 -1]; zW = [52 55 52 0.33];

Convierta las coordenadas universales en subíndices de fila, columna y plano utilizando .worldToSubscript

[rS, cS, pS] = worldToSubscript(R,xW,yW,zW)
rS = 1×4

    46    46    46   NaN

cS = 1×4

    54    54    57   NaN

pS = 1×4

    13    14    13   NaN

Los vectores resultantes contienen los índices de columna, fila y plano más cercanos al punto. Tenga en cuenta que los índices son discretos y que los puntos fuera del límite de la imagen tienen valores de índice de .NaN

Además, se invierte el orden de las coordenadas de entrada y salida. El vector de coordenadas del mundo, , corresponde al segundo vector de salida, .xxWcS El vector de coordenadas del mundo, , corresponde al primer vector de salida, .yyWrS

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 universales, 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 universales, especificadas como un escalar numérico o un vector. es la misma longitud que .yyWorldxWorld

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, especificadas como un escalar numérico o un vector. es la misma longitud que .zzWorldxWorld

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

Argumentos de salida

contraer todo

Los índices de fila, devueltos como un vector o escalar entero positivo. es la misma longitud que .IyWorld Para una imagen de -por- o -por-por-, 1 - .mnmnpIm

Tipos de datos: double

Los índices de columna, devueltos como un vector o escalar entero positivo. es la misma longitud que .JxWorld Para una imagen de -por- o -por-por-, 1 - .mnmnpJn

Tipos de datos: double

Los índices de plano, devueltos como un vector o escalar entero positivo. es la misma longitud que .KzWorld Para una imagen de -by--by-, 1 .mnpKp

Tipos de datos: double

Consulte también

| |

Introducido en R2013a