imresize3

Изменение размера 3-D объемного изображения интенсивности

Описание

пример

B = imresize3(V,scale) возвращает значение объема B то есть scale умножить размер 3-D числового или категориального объема V.

B = imresize3(V,[numrows numcols numplanes]) возвращает значение объема B количество строк, столбцов и плоскостей, заданное трехэлементным вектором [numrows numcols numplanes].

B = imresize3(___,method) возвращает значение объема B, где method задает используемый метод интерполяции.

B = imresize3(___,Name,Value) возвращает измененный размер тома, где Name,Value пары управляют аспектами операции.

Примеры

свернуть все

Считайте том МРТ в рабочую область.

s = load('mri');
mriVolumeOriginal = squeeze(s.D);
sizeO = size(mriVolumeOriginal);

Визуализируйте объем.

figure;
slice(double(mriVolumeOriginal),sizeO(2)/2,sizeO(1)/2,sizeO(3)/2);
shading interp, colormap gray;
title('Original');

Figure contains an axes. The axes with title Original contains 3 objects of type surface.

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

mriVolumeResized = imresize3(mriVolumeOriginal, 0.5);
sizeR = size(mriVolumeResized);

Визуализация измененного объема.

figure;
slice(double(mriVolumeResized),sizeR(2)/2,sizeR(1)/2,sizeR(3)/2);
shading interp, colormap gray;
title('Resized');

Figure contains an axes. The axes with title Resized contains 3 objects of type surface.

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

свернуть все

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

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

Шкала коэффициент, заданный как числовой скаляр.

  • Если scale меньше 1, тогда выходное изображение меньше входа объема.

  • Если scale больше 1, тогда выходное изображение больше входа объема.

imresize3 применяет коэффициент шкалы к каждой размерности в томе. Чтобы применить другой коэффициент изменения размера к каждой размерности, используйте Scale аргумент пары "имя-значение".

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

Размер выхода объема, заданный как 3-элементный вектор положительных целых чисел в форме [rows columns planes]. Если вы задаете одно числовое значение, а два других значения как NaNs, затем imresize3 автоматически вычисляет два других элемента, чтобы сохранить соотношение сторон.

Типы данных: single | double

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

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

'nearest'

Интерполяция по ближайшему соседу.

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

'linear'

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

'cubic'

Кубическая интерполяция. Кубическая интерполяция по умолчанию для числовых томов.

Примечание

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

Ядро интерполяцииОписание
'box'

Коробкообразное ядро.

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

'triangle'Треугольное ядро (эквивалентно 'linear')
'lanczos2'Lanczos-2 ядра
'lanczos3'Lanczos-3 ядра

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: mriVolumeResized = imresize3(mristack,0.5,'Antialiasing',false);

Выполните сглаживание при сокращении объема, заданное как разделенная разделенными запятой парами, состоящая из 'Antialiasing' и true или false.

  • Если method является 'nearest', затем значение по умолчанию 'Antialiasing' является false.

  • Если интерполяция method является 'box' ядро интерполяции и том входе категоричны, тогда значение по умолчанию 'Antialiasing' является false.

  • Для всех других методов интерполяции значение по умолчанию 'Antialiasing' является true.

Типы данных: logical

Метод интерполяции, заданный как разделенная разделенными запятой парами, состоящая из 'Method' и строковый скаляр или вектор символов. Для получения дополнительной информации смотрите method.

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

Размер выходного объема, заданный как разделенная разделенными запятой парами, состоящая из 'OutputSize' и 3-элементный вектор положительных целых чисел вида [rows cols planes].

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

Измените размер масштабного коэффициента, заданного как разделенная разделенными запятой парами, состоящая из 'Scale' и положительное число или 3-элементный вектор положительных чисел. Если вы задаете скаляр, то imresize3 применяет один и тот же масштабный коэффициент к каждой размерности в объеме. Если вы задаете вектор с 3 элементами, то imresize3 применяет разное значение шкалы к каждой размерности.

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

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

свернуть все

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

См. также

| | |

Введенный в R2017a