worldToIntrinsic

Преобразуйте от мира до внутренних координат

Синтаксис

[xIntrinsic, yIntrinsic] = worldToIntrinsic(R,xWorld,yWorld)
[xIntrinsic,yIntrinsic,zIntrinsic] = worldToIntrinsic(R,xWorld,yWorld,zWorld)

Описание

пример

[xIntrinsic, yIntrinsic] = worldToIntrinsic(R,xWorld,yWorld) карты указывают от 2D мировой системы (xWorld, yWorld) к 2D внутренней системе (xIntrinsic, yIntrinsic) на основе отношения, заданного 2D пространственным ссылочным объектом R.

Если k th входные координаты (xWorld (k), yWorld (k)) выходит за пределы границ изображений в системе мировой координаты, worldToIntrinsic экстраполирует xIntrinsic (k) и yIntrinsic (k) вне границ изображений во внутренней системе координат.

пример

[xIntrinsic,yIntrinsic,zIntrinsic] = worldToIntrinsic(R,xWorld,yWorld,zWorld) карты указывают от системы мировой координаты до внутренней системы координат с помощью 3-D пространственного ссылочного объекта R.

Примеры

свернуть все

Считайте 2D полутоновое изображение колена в рабочую область.

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])

Выберите точки выборки и сохраните их мир 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];

Преобразуйте мировые координаты во внутренние координаты с помощью worldToIntrinsic.

[xI, yI] = worldToIntrinsic(RA,xW,yW)
xI = 1×4

  123.0080  126.2080  123.0080   -0.6400

yI = 1×4

  220.0000  220.0000  242.4000   -3.2000

Итоговые векторы являются внутренним x-и координатами y-в модулях пикселей. Обратите внимание на то, что внутренняя система координат непрерывна, и некоторые возвращенные внутренние координаты имеют значения нецелого числа. Кроме того, worldToIntrinsic экстраполирует внутренние координаты точки вне границы изображения.

Считайте 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-direction, и третья точка составляет 0,2 мм справа от нее в +x-direction. Последняя точка вне границы изображения.

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

Преобразуйте мировые координаты во внутренние координаты с помощью worldToIntrinsic.

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

   54.0000   54.0000   54.1000    1.0000

yI = 1×4

   46.0000   46.0000   46.0000   -0.5000

zI = 1×4

   13.0000   13.7500   13.0000    0.0825

Итоговые векторы являются внутренним x-, y-, и z-координатами в модулях пикселей. Обратите внимание на то, что внутренняя система координат непрерывна, и некоторые возвращенные внутренние координаты имеют значения нецелого числа. Кроме того, worldToIntrinsic экстраполирует внутренние координаты точки вне границы изображения.

Входные параметры

свернуть все

Пространственный ссылочный объект, заданный как объект 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

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

свернуть все

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

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

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

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

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

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

Смотрите также

| | |

Введенный в R2013a