2015-03-16 3 views
0

У меня есть файл Nifti, размер которого составляет 62 * 62 * 38. Как перенести файл Nifti в файл .mat Matlab?Как перенести файл Nifti в файл .mat Matlab?

+0

Никогда не использовался Nifti в моей жизни, но google рекомендует http://www.mathworks.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image –

+2

@MikhailGenkin, почему вы говорите «никогда не использовали Нифти в моей жизни ", что вы сейчас используете в своей жизни? – Angelababy

+0

@Angelbaby Этот риторический вопрос? Я сказал что-то не то? Да, я не носитель языка и иногда могу говорить неясно. –

ответ

1

This может считывать NIFTI, а также многие другие типы файлов медицинских изображений в массивы MATLAB, которые затем можно сохранить как .mat-файлы.

+0

Он работает! Спасибо огромное! – Angelababy

+0

Класс «том», созданный набором инструментов, является «одиночным», а не «двойным» классом. Как перейти на «двойной» класс? – Angelababy

+0

@Angelababy Если вам нужно преобразовать изображение в двойную точность после прочтения, вы можете использовать 'im = double (im);'. – eigenchris

0

FreeSurfer имеет функцию MATLAB под названием «MRIread». Он может читать файлы NIFTI (.nii, .nii.gz) в структуру MATLAB, которая может быть затем сохранена в файле MAT, если это необходимо.

+0

он установлен в системе Linux. Я использую windows (no virtualBox). Я не знаком с Linux. – Angelababy

2

Большинство медицинских изображений можно эффективно манипулировать с помощью какого-либо инструментария, такого как SPM. Однако, если вам нужно получить доступ к исходной матрице, я всегда использовал инструменты NIfTI на сайте обмена файлами Mathworks (here).

Здесь есть две функции: load_nii и load_untouched_nii. Первая функция load_nii заботится о ситуациях, когда заголовок в NiFTI содержит преобразования, которые не были применены к базовой матрице данных. Если вы знаете, что таких преобразований не существует, вы можете использовать load_untouched_nii, чтобы избежать повторного выполнения. Обе функции возвращают структуру, а матрица данных находится в поле img возвращенной структуры.

+0

Поле «img», генерируемое «load_untouch_nii()», является int16. Как я могу изменить его на «двойной» класс – Angelababy

+2

@Angelababy Не иметь доступа к Matlab прямо сейчас, но не следует звонить ['double'] (http://www.mathworks.com/help/matlab/ref /double.html) решить это? – Setsu

+0

Я уже знаю, что double (im) решает проблему. Ваш ответ тоже хорош. Я не знаю, как голосовать за ответ на два человека в качестве правильных ответов. Спасибо огромное! – Angelababy

Смежные вопросы