exponenta event banner

worldToSubscript

Преобразование мировых координат в подстрочные значения строк и столбцов

Описание

пример

[I, J] = worldToSubscript(R,xWorld,yWorld) карты точек из 2-D мировой системы (xWorld,yWorld) к массивам подстрочных индексов I и J на основе отношения, определенного объектом пространственной ссылки 2-D R.

Если k-ый входной координаты (xWorld(k),yWorld(k) выйти за границы изображения в мировой системе координат, worldToSubscript устанавливает соответствующие индексы I(k) и J(k) к NaN.

пример

[I, J, K] = worldToSubscript(R,xWorld,yWorld,zWorld) сопоставляет точки из системы 3-D мира с массивами подстрочных индексов I, J, и K, использование объекта пространственной ссылки 3-D R.

Примеры

свернуть все

Прочитайте 2-D изображение колена в градациях серого в рабочей области.

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

Создание imref2d , указывая размер и разрешение пикселов. Файл DICOM содержит поле метаданных 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]

Отображение изображения, включая объект пространственной ссылки. Координаты осей отражают координаты мира. Обратите внимание, что координата (0,0) находится в левом верхнем углу.

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

Figure contains an axes. The axes contains an object of type image.

Выберите точки выборки и сохраните их координаты x и y в векторах. Например, первая точка имеет мировые координаты (38.44,68,75), вторая - 1 мм справа от неё, а третья - на 7 мм ниже неё. Последняя точка находится вне границы изображения.

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

Преобразование мировых координат в подстрочные значения строк и столбцов с помощью worldToSubscript.

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

   220   220   242   NaN

cS = 1×4

   123   126   123   NaN

Результирующие векторы содержат индексы строк и столбцов, ближайшие к точке. Обратите внимание, что индексы дискретны и что точки вне границы изображения имеют NaN как для индексов строк, так и для индексов столбцов.

Кроме того, порядок входных и выходных координат изменяется на противоположный. Мировой вектор x-координат, xW, соответствует второму выходному вектору, cS. Мировой вектор координат y, yW, соответствует первому выходному вектору, rS.

Чтение тома 3-D в рабочую область. Это изображение состоит из 27 кадров изображений размером 128 на 128 пикселей.

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

Создание imref3d объект пространственной ссылки, связанный с объемом. В иллюстративных целях обеспечьте пиксельное разрешение в каждом измерении. Разрешение в миллиметрах на пиксель.

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]

Выберите точки выборки и сохраните их координаты x, y и z в векторах. Например, первая точка имеет мировые координаты (108,92,52), вторая точка находится на 3 мм над ней в + z-направлении, а третья - на 5,2 мм справа от неё в + x-направлении. Последняя точка находится вне границы изображения.

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

Преобразование мировых координат в подстрочные значения строк, столбцов и плоскостей с помощью 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

Результирующие векторы содержат индексы столбца, строки и плоскости, наиболее близкие к точке. Обратите внимание, что индексы дискретны и что точки за пределами границы изображения имеют значения индекса NaN.

Кроме того, порядок входных и выходных координат изменяется на противоположный. Мировой вектор x-координат, xW, соответствует второму выходному вектору, cS. Мировой вектор координат y, yW, соответствует первому выходному вектору, rS.

Входные аргументы

свернуть все

Объект пространственной ссылки, указанный как imref2d или imref3d объект.

Координаты вдоль размера x в мировой системе координат, заданные как числовой скаляр или вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Координаты вдоль размера y в мировой системе координат, заданные как числовой скаляр или вектор. yWorld имеет ту же длину, что и xWorld.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Координаты вдоль z-размера в мировой системе координат, заданные как числовой скаляр или вектор. zWorld имеет ту же длину, что и xWorld.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Индексы строк, возвращаемые в виде положительного целого скаляра или вектора. I имеет ту же длину, что и yWorld. Для изображения m-by-n или m-by-n-by-p 1 ≤ Iм.

Типы данных: double

Индексы столбцов, возвращаемые в виде положительного целого скаляра или вектора. J имеет ту же длину, что и xWorld. Для изображения m-by-n или m-by-n-by-p 1 ≤ Jn.

Типы данных: double

Индексы плоскости, возвращаемые в виде положительного целого скаляра или вектора. K имеет ту же длину, что и zWorld. Для изображения m-by-n-by-p 1 ≤ Kп.

Типы данных: double

См. также

| |

Представлен в R2013a