GOOGLE ADS

вторник, 12 апреля 2022 г.

Чтение и отображение нескольких изображений МРТ

Я хочу прочитать 100 различных изображений МРТ в MATLAB, используя этот код:

% Preallocate the 256-by-256-by-1-by-20 image array.
X = repmat(int16(0), [256 256 1 20]);
% Read the series of images.
for p=1:20
filename = sprintf('brain_%03d.dcm', p);
X(:,:,1,p) = dicomread(filename);
end
% Display the image stack.
montage(X,[])

но появляется эта ошибка:

Несоответствие размера назначения в подписке.

Что не так с этим кодом?


Решение проблемы

% Please Include Your MATLab Error:)

У вас есть несоответствие размера назначения с индексом, что означает, что то, что загружается из sprintf(), не имеет размера (256x256)

Кроме того, в качестве предупреждения

X(:,:,1,p)

Это использование неправильных размеров...

Допустим, вы хотели сохранить изображение из 4 строк и 4 столбцов. С интенсивностью от 0 до 255. Тогда у вас есть в общей сложности 16 элементов, каждый из которых имеет уникальное значение интенсивности.

Всякий раз, когда вы говорите
(:,:,1)- вы говорите, N измерение, N измерение, 1-е измерение.

Если бы у меня был 4х4 и я хотел бы его сохранить, я бы сказал
([1:4],[1:4],1)- и я бы его сохранил.

Используя X(:,:,1,p)- вы создаете набор из набора изображений.

На самом деле вам нужен просто набор изображений.

Надеюсь это поможет.

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

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...