Преобразуйте от мира до внутренних координат
[
карты указывают от 2D мировой системы (xIntrinsic
, yIntrinsic
] = worldToIntrinsic(R
,xWorld
,yWorld
)xWorld
, yWorld
) к 2D внутренней системе (xIntrinsic
, yIntrinsic
) на основе отношения, заданного 2D пространственным объектом привязки R
.
Если k th входные координаты (xWorld
(k), yWorld
(k)), выходят за пределы границ изображений в системе мировой координаты, worldToIntrinsic
экстраполирует xIntrinsic
(k) и yIntrinsic
(k) вне изображения ограничивает во внутренней системе координат.
[
карты указывают от системы мировой координаты до внутренней системы координат с помощью 3-D пространственного объекта привязки xIntrinsic
,yIntrinsic
,zIntrinsic
] = worldToIntrinsic(R
,xWorld
,yWorld
,zWorld
)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
экстраполирует внутренние координаты точки вне границы изображения.
xWorld
— Координаты вдоль x - размерность в системе мировой координатыКоординаты вдоль x - размерность в системе мировой координаты, возвращенной в виде числа или вектора.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
yWorld
— Координаты вдоль y - размерность в системе мировой координатыКоординаты вдоль y - размерность в системе мировой координаты, возвращенной в виде числа или вектора. yWorld
та же длина как xWorld
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
zWorld
— Координаты вдоль z - размерность в системе мировой координатыКоординаты вдоль z - размерность в системе мировой координаты, возвращенной в виде числа или вектора. zWorld
та же длина как xWorld
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
xIntrinsic
— Координаты вдоль x - размерность во внутренней системе координатКоординаты вдоль x - размерность во внутренней системе координат, заданной в виде числа или вектора. xIntrinsic
та же длина как xWorld
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
yIntrinsic
— Координаты вдоль y - размерность во внутренней системе координатКоординаты вдоль y - размерность во внутренней системе координат, заданной в виде числа или вектора. yIntrinsic
та же длина как xWorld
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
zIntrinsic
— Координаты вдоль z - размерность во внутренней системе координатУ вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.