imrotate3

Вращайте 3-D объемное полутоновое изображение

Синтаксис

B = imrotate3(V,angle,W)
B = imrotate3(V,angle,W,method)
B = imrotate3(V,angle,W,method,bbox)
B = imrotate3(___,Name,Value)

Описание

пример

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

B = imrotate3(V,angle,W,method) вращает объем V, где method задает метод интерполяции.

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

B = imrotate3(___,Name,Value) задает дополнительные параметры, которые управляют различными аспектами геометрического преобразования. Названия параметра могут быть сокращены.

Примеры

свернуть все

Загрузите 3-D объемное полутоновое изображение в рабочую область и отобразите ее.

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

Вращайтесь объем 90 отступают вокруг оси Z.

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

Отобразите вращаемый выходной объем. Можно также исследовать объем в приложении Volume Viewer.

volshow(B);

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

свернуть все

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

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

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

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

Интерполяция Tricubic

Примечание

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

'linear'

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

'nearest'

Самая близкая соседняя интерполяция

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

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

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

Сделайте выходной объем тем же размером как входной объем, обрезав вращаемый объем, чтобы соответствовать.

'loose'

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

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: B = imrotate3(V,angle,W,'nearest','loose','FillValues',5);

Значение раньше заполняло вокселы в выходном объеме, которые являются вне пределов вращаемого объема, заданного как пара, разделенная запятой, состоящая из 'FillValues' и числового скаляра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

свернуть все

Вращаемый объем, возвращенный как числовой массив тот же класс как входной объем.

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

| | | | |

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте