Рубрики
Без рубрики

Обработка данных МРТ с помощью Python

Понимание и обработка данных МРТ может быть сложным и запутанным. В этом блоге я предоставлю бас … Tagged с помощью Python, DataScience, Tutorial, новичков.

Понимание и обработка данных МРТ может быть сложным и запутанным. В этом блоге я предоставлю базовое представление о том, как загружать и обработать данные МРТ с использованием наиболее важных библиотек Python.

Данные МРТ в основном состоит из трех фрагментов информации. – > Заголовок (метаданные) -> Affine (представляет аффинное преобразование) -> Данные изображения (n -d массив)

Большая часть данных медицинской визуализации будет в форматах Nifti (.nii) и Dicom (.dcm). Мы будем обсуждать данные формата NIFTI, формат DICOM будет обсуждаться в дальнейших постах.

Здесь мы используем Numpy, библиотеки Nibabel для загрузки и обработки данных и Matplotlib для визуализации.

Если у вас нет этих библиотек, вы можете установить, используя PIP Package Manager в вашей среде Python, введя следующие команды: PIP установить Numpy Pip установить Niabel Pip установить Matplotlib

Импорт модулей

import nibabel as nib
import numpy as np

Загрузка данных

data = nib.load("path to Nifti format data")  #(.nii or .nii.gz)
print(data)

Здесь данные это объект данных, содержащий заголовок, аффинные и изображения данных со всеми необходимыми атрибутами для дальнейшей обработки.

image_data = data.get_fdata()

get_fdata () Функция возвращает матрицу с плавающей точкой, содержащую данные пикселя изображения

image_data.shape
(256, 256, 128)

Выходная форма представляет собой, что Image_data 3D-том, ось Z (128) представляет количество срезов в данных МРТ

Чтобы проверить аффинные координаты

print(data.affine)

Это выведет массив, связанные с координатами массива из массива данных изображений, в координаты в некоторых мировой системе координат RAS+ Рас (справа, передний, верхний) Для получения подробного понимания систем координат нейровизуализации проходит следующую ссылку: https://nipy.org/nibabel/coordinate_systems.html

Чтобы проверить Заголовок информация объекта данных

print(data.header)

Подробное понимание метаданных и аффинных преобразований будет обсуждаться в следующем посте.

Визуализация МРТ ломтики

import matplotlib.pyplot as plt
plt.imshow(image_data[:,:,64], cmap="gray")

Вы можете изменить целочисленное значение в приведенном выше фрагменте кода в диапазоне (0-127), чтобы визуализировать различные срезы.

plt.imshow(image_data[:,:,116], cmap="gray")

Визуализируйте 116 -й срез

plt.imshow(image_data[120,:,:], cmap="gray")

Визуализируйте 120-й Slice W.R.to Axisis


Для получения подробного понимания индексации с использованием Numpy просмотрите следующую ссылку https://numpy.org/doc/stable/user/basics.indexing.html

В дальнейших постах я буду обсуждать, как подготовить данные МРТ для применения алгоритмов машинного обучения, методов удаления шума и различных методов предварительной обработки и постобработки.

Оригинал: “https://dev.to/narendraanupoju/mri-data-processing-with-python-1jgg”