exponenta event banner

imrotate3

Вращайте 3D объемное изображение оттенков серого

Описание

пример

B = imrotate3(V,angle,W) поворачивает объем 3-D V около angle градусов против часовой стрелки вокруг оси, проходящей через начало координат [0 0 0]. W является вектором 1 на 3, указывающим направление оси вращения в 3-D пространстве. По умолчанию imrotate3 устанавливает значения вокселей в B которые находятся вне границ повернутого объема 0.

B = imrotate3(V,angle,W,method) также определяет метод интерполяции.

B = imrotate3(V,angle,W,method,bbox) также указывает размер выходного тома, bbox. При указании 'crop', то imrotate3 делает выходной том того же размера, что и входной том. При указании 'loose', то imrotate3 делает выходной объем достаточно большим для включения всего повернутого объема.

B = imrotate3(___,'FillValues',fillValues) устанавливает значения заливки, используемые для выходных пикселей без соответствующего пикселя во входном изображении.

Примеры

свернуть все

Загрузите 3-D объемное изображение в градациях серого в рабочее пространство и отобразите его.

s = load('mri');
mriVolume = squeeze(s.D);
volshow(mriVolume);

Поверните объем на 90 градусов вокруг оси Z.

B = imrotate3(mriVolume,90,[0 0 1],'nearest','loose','FillValues',0);

Отображение повернутого выходного объема. Также можно просмотреть том в приложении «Просмотр томов».

volshow(B);

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

свернуть все

Объем, который будет вращаться, определенный как 3D числовое множество, 3D логическое множество или 3D категорическое множество.

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

Угол поворота в градусах, заданный как числовой скаляр. Чтобы повернуть объем по часовой стрелке, задайте отрицательное значение для angle. imrotate3 делает выходной том B достаточно большой, чтобы содержать весь повернутый объем 3-D.

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

Направление оси вращения в 3-D пространстве в декартовых координатах, заданное как числовой вектор 1 на 3.

Если необходимо задать направление оси вращения в сферических координатах, используйте sph2cart преобразование значений в декартовы координаты перед их передачей в imrotate3.

Пример: [0 0 1] поворачивает объем вокруг оси Z

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

Метод интерполяции, указанный как одно из следующих значений.

МетодОписание
'nearest'

Интерполяция ближайшего соседа. Выходному вокселу присваивается значение вокселя, в которое попадает точка. Другие воксели не рассматриваются.

Интерполяция ближайшего соседа является единственным методом, поддерживаемым для категориальных изображений, и является методом по умолчанию для изображений этого типа.

'linear'

Трилинейная интерполяция.

Трилинейная интерполяция является методом по умолчанию для числовых и логических изображений.

'cubic'

Трикубическая интерполяция

Примечание

Трикубическая интерполяция может создавать значения пикселей за пределами исходного диапазона.

Типы данных: char | string

Размер выходного тома, указанный как одно из следующих значений.

МетодОписание
'crop'

Сделайте выходной объем таким же размером, как и входной объем, обрезав повернутый объем по размеру.

'loose'

Сделайте выходной объем достаточно большим, чтобы он содержал весь повернутый объем. Обычно повернутый объем больше входного.

Типы данных: char | string

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

Тип изображения

Формат значений заполнения

Числовой или логический образ
  • Числовой скаляр. Значение заливки по умолчанию для числовых и логических изображений: 0.

Категориальное изображение
  • Допустимая категория в изображении, заданная как строковый скалярный или символьный вектор.

  • missing, что соответствует <undefined> категория. Это значение заполнения по умолчанию для категориальных изображений. Дополнительные сведения см. в разделе missing.

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

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

свернуть все

Повернутый том, возвращаемый как числовой, логический или категориальный массив того же класса, что и входной том, V.

Совет

  • imrotate3 предполагает, что входной том V центрирован по началу координат [0 0 0]. Если объем не центрирован по исходной точке, используйте imtranslate для перевода тома в [0 0 0] перед использованием imrotate3. Можно перевести выходной том B назад в исходное положение с противоположным вектором трансляции.

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