Визуализация мозга — это важное направление в неврологии, позволяющее исследователям получать детальное представление о структуре и функциях человеческого мозга. Одной из областей, где визуализация показала значительные перспективы, является выявление паттернов мозговой активности, связанных с различными характеристиками, такими как черты личности, когнитивные способности и психические расстройства. В этой статье мы рассмотрим, как эту технологию можно использовать для изучения предрасположенностей человека, и какие открытия были сделаны в этой области. Мы увидим, как, используя данные MRI, получить сведения о базовых структурах мозга на примере его коры.

Немного теории

Прежде чем мы углубимся в детали, давайте начнем с краткого обзора.

Существует несколько методов, которые можно использовать для визуализации головного мозга: магнитно-резонансная томография (MRI), функциональная магнитно-резонансная томография (fMRI), позитронно-эмиссионная томография (PET) и электроэнцефалография (EEG). MRI дает подробные изображения структуры мозга, а fMRI, PET и EEG используются для измерения мозговой активности.

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

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

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

Некоторые результаты исследований

Одним из значимых достижений в области визуализации мозга стало выявление участков мозга, связанных с определенными когнитивными функциями, такими как внимание, память и принятие решений. Например, исследователи определили области мозга, которые активируются, когда людей просят принять решения, связанные с риском и неопределенностью. Эти области включают префронтальную кору, островок, переднюю поясную извилину и другие регионы, формирующие так называемую "decision-making network". Считается, что они играют ключевую роль в нашей способности принимать сложные решения.

Еще одним важным достижением стала идентификация областей мозга, связанных с конкретными психическими расстройствами. Например, у людей с депрессией часто наблюдаются изменения в активности префронтальной коры — области мозга, которая участвует в регулировании эмоций и принятии решений. Однако эти изменения могут варьироваться: в некоторых случаях активность снижена, в других — повышена, в зависимости от типа депрессии и индивидуальных особенностей.

Точно так же люди с тревожными расстройствами могут демонстрировать повышенную активность в миндалевидном теле — области мозга, которая участвует в обработке страха и тревоги. Однако это не универсальный паттерн, и многие факторы (включая тип тревоги, возраст и сопутствующие условия) влияют на результаты.

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

Давайте перейдем к практике. Ниже мы узнаем, как работать с MRI данными. Первый пример покажет, как улучшать визуализацию, а второй — как извлекать данные об участках мозга.

Улучшение MRI изображений

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

  1. Image denoising. MRI зачастую содержит много шума, который снижает качество изображения. Следующий код использует библиотеку DIPY для его удаления:

import numpy as np
import nibabel as nib
from dipy.denoise.nlmeans import nlmeans

img = nib.load('path/to/mri.nii.gz')
data = img.get_fdata()
denoised_data = nlmeans(data, sigma=0.08)
denoised_img = nib.Nifti1Image(denoised_data, img.affine)
nib.save(denoised_img, 'path/to/denoised_mri.nii.gz')
  1. Bias Field Correction. Иногда у нас возникает неоднородность интенсивности MRI сканов, что может снижать качество визуализации. Следующий пример использует библиотеку SimpleITK для коррекции:

import SimpleITK as sitk

mri = sitk.ReadImage('path/to/mri.nii.gz')
corrector = sitk.N4BiasFieldCorrectionImageFilter()
corrector.SetMaximumNumberOfIterations([50, 50, 50, 50])
corrected_mri = corrector.Execute(mri)
sitk.WriteImage(corrected_mri, 'path/to/corrected_mri.nii.gz')
  1. Image Registration. Может использоваться для выравнивания нескольких MRI сканов, что в свою очередь также улучшает качество. Здесь нам также поможет библиотека SimpleITK:

import SimpleITK as sitk

fixed_mri = sitk.ReadImage('path/to/fixed_mri.nii.gz')
moving_mri = sitk.ReadImage('path/to/moving_mri.nii.gz')
registration = sitk.ImageRegistrationMethod()
registration.SetMetricAsMeanSquares()
registration.SetOptimizerAsRegularStepGradientDescent(learningRate=1.0, minStep=0.001, numberOfIterations=200)
registration.SetInitialTransform(sitk.TranslationTransform(fixed_mri.GetDimension()))
registration.SetInterpolator(sitk.sitkLinear)
final_transform = registration.Execute(fixed_mri, moving_mri)
registered_mri = sitk.Resample(moving_mri, fixed_mri, final_transform, sitk.sitkLinear, 0.0)
sitk.WriteImage(registered_mri, 'path/to/registered_mri.nii.gz')

Следует отметить что параметры, используемые в этих примерах, могут нуждаться в корректировке в зависимости от конкретных MRI данных и желаемого результата.

Извлечение данных об участках мозга

Теперь давайте попробуем поработать с MRI c помощью такого замечательного инструмента как FreeSurfer.

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

  1. Установив FreeSurfer, мы сможем использовать его для предварительной обработки данных. Вот пример обработки T1-weighted MRI скана:

import os
from nipype.interfaces.freesurfer import ReconAll

subject_id = 'sub-01'
t1w_file = '/path/to/sub-01_T1w.nii.gz'
output_dir = '/path/to/freesurfer_output'

reconall = ReconAll(subject_id=subject_id, directive='all', T1_files=t1w_file, subjects_dir=output_dir)
reconall.run()

Опция directive='all' указывает FreeSurfer выполнить все шаги предварительной обработки, а опция T1_files=t1w_file указывает путь к Т1-weighted MRI скану. Опция subject_dir=output_dir указывает куда поместить результат.

  1. После предварительной обработки мы можем приступим к анализу. Вот пример того, как извлечь данные толщины коры головного мозга:

import os
import numpy as np
from nibabel import load
from nipype.interfaces.freesurfer import Thickness

subject_id = 'sub-01'
hemi = 'lh'
output_dir = '/path/to/freesurfer_output'

thickness_interface = Thickness()
thickness_interface.inputs.subject_id = subject_id
thickness_interface.inputs.hemi = hemi
thickness_interface.inputs.subjects_dir = output_dir
thickness_result = thickness_interface.run()
thickness_data = thickness_result.outputs.thickness_file

Здесь мы извлекаем данные о толщине коры для левого полушария (lh) субъекта sub-01 с помощью интерфейса Thickness из nipype. Результат сохраняется в переменной thickness_data как путь к файлу с данными толщины.

Где искать данные для собственных исследований

Есть несколько источников, где вы можете найти нужные данные для исследований и проведения экспериментов:

  • OpenNeuro — это бесплатная и открытая платформа для обмена MRI данными и иными другими.

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

  • Brain/MINDS — проект, который фокусируется на маппинге человеческого мозга с пониманием функций его областей.

  • The Cancer Imaging Archive — является хранилищем медицинских изображений, в том числе MRI данных.

Заключение

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