Преобразование мировых координат в подстрочные значения строк и столбцов
[ карты точек из 2-D мировой системы (I, J] = worldToSubscript(R,xWorld,yWorld)xWorld,yWorld) к массивам подстрочных индексов I и J на основе отношения, определенного объектом пространственной ссылки 2-D R.
Если k-ый входной координаты (xWorld(k),yWorld(k) выйти за границы изображения в мировой системе координат, worldToSubscript устанавливает соответствующие индексы I(k) и J(k) к NaN.
Прочитайте 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])
Выберите точки выборки и сохраните их координаты 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.
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
I - Индексы строкИндексы строк, возвращаемые в виде положительного целого скаляра или вектора. I имеет ту же длину, что и yWorld. Для изображения m-by-n или m-by-n-by-p 1 ≤ I ≤ м.
Типы данных: double
J - Индексы столбцовИндексы столбцов, возвращаемые в виде положительного целого скаляра или вектора. J имеет ту же длину, что и xWorld. Для изображения m-by-n или m-by-n-by-p 1 ≤ J ≤ n.
Типы данных: double
K - Индексы плоскостиИндексы плоскости, возвращаемые в виде положительного целого скаляра или вектора. K имеет ту же длину, что и zWorld. Для изображения m-by-n-by-p 1 ≤ K ≤ п.
Типы данных: double
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.