Образ mri T1 в питоне с Nipy

У меня есть изображение T1 (NIFTI), уже выровненное, с размерами 121 x 145 x 121.
Изображение загружено нибабелем. Размер вокселя составляет 1,5 х 1,5 х 1,5 мм.
Я хочу преобразовать его в изображение с разрешением 2,0 x 2,0 x 2,0 мм и сохранить выравнивание изображений.

У меня мало знаний в манипуляциях с МРТ. Я не мог найти четкий учебник.

Как я могу это сделать? Если вы знаете любую другую библиотеку Python, которая может это сделать, она также будет работать.

1 ответ

Решение

Я бы предложил использовать Nibabel. Он может уменьшить ваш файл nifti всего за несколько строк.
Пример для повторной выборки к изображению до размера вокселя 2x2x2:

import nibabel
import nibabel.processing

input_path = r'/input/path/input_img.nii.gz'
output_path = r'/output/path/output_img.nii.gz'
voxel_size = [2, 2, 2]

input_img = nibabel.load(input_path)
resampled_img = nibabel.processing.resample_to_output(input_img, voxel_size)
nibabel.save(resampled_img, output_path)

Просто обновить input_path а также output_path отражать ваши файлы. Второй аргумент в функции resample_to_output (voxel_size) должен соответствовать размерам вашего ввода или быть одним значением, тогда nibabel будет предполагать, что вы хотите иметь одинаковый размер вокселя для всех измерений.

Информация Nibabel:
Документы: http://nipy.org/nibabel/.
Инструкции по установке: https://anaconda.org/conda-forge/nibabel

Другие вопросы по тегам