imrotate3

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

Описание

пример

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

Отображение повернутого выходного объема. Вы также можете исследовать том в приложении Volume Viewer.

volshow(B);

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

свернуть все

Том, который будет повернут, заданный как 3-D числовой массив, 3-D логический массив или 3-D категориальный массив.

Типы данных: 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

Направление оси вращения в трехмерном пространстве в Декартовых координатах, заданное как числовой вектор 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