Как построить несколько срезов трехмерного изображения мозга с помощью подзаголовков nilearn и matplotlib

Я новичок в программировании, поэтому, если я ошибаюсь, просто скажите мне.

Я хочу построить 25 срезов сканирования мозга с помощью nilearn. Эти 25 срезов должны проходить вдоль оси z с шагом =2. Я хочу использовать подзаговоры, чтобы представить их с помощью подзаговоров.

Вот что у меня есть на данный момент:

cuts = np.arange(-25,25,2)
fig, (axes1,axes2,axes3,axes4,axes5) = plt.subplots(5,1, figsize=(10,10))

for axes in [axes1,axes2,axes3,axes4,axes5]:
    for slc in cuts:
        plotting.plot_stat_map(rsn_four, display_mode='z', axes=axes, cut_coords=[slc], threshold=2)
plt.show()

'rsn_four' - это файл 3D Nifti BOLD-сканирования.

Выход:

Я думаю, что одна из моих самых больших проблем заключается в том, что я не знаю, как реализовать, что для каждой оси мне нужно 5 значений np.arange(), а затем перенести его на следующую ось, продолжая подсчет.

Если я пропустил какую-то информацию, дайте мне знать, это мой первый пост здесь!

1 ответ

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

cuts = np.arange(-25,25,2)
fig, (axes1,axes2,axes3,axes4,axes5) = plt.subplots(5,1, figsize=(10,10))

for num, axes in enumerate([axes1,axes2,axes3,axes4,axes5]):
    for slc in cuts[num:num+5]:
        plotting.plot_stat_map(rsn_four, display_mode='z', axes=axes, cut_coords=[slc], threshold=2)
plt.show()
Другие вопросы по тегам