下载基于 BrainWeb数据集 的 20 个正常大脑的多模态模型模拟得到的脑图

上次进展

这篇文章是在 BrainWeb数据集官网批量下载数据集。
但目前基于BrainWeb数据集构建了 20 个正常大脑的多模态模型,目前这些模型只产生了T1图像。链接:https://brainweb.bic.mni.mcgill.ca/anatomic_normal_20.html
在这里插入图片描述

新的发现

从github上找到了基于BrainWeb数据集构建了 20 个正常大脑的多模态模型,处理产生的PET、T1、T2图片。
github:https://github.com/casperdcl/brainweb

在这里插入图片描述

以下是我下载这20个模型产生的图片集步骤:

  1. 从github下载代码
  2. 安装brainweb
pip install brainweb
  1. 按照 github 上的步骤,只能在 JUPYTER NOTEBOOK 上运行,因为plt显示的图片窗口交互式的,在pycharm上不能显示交互功能。而且我需要的是这20个模型产生的PET、T1、T2图片。

  2. 新建一个test.py

from __future__ import print_function, division
import brainweb
from brainweb import volshow
import numpy as np
from os import path
from tqdm.auto import tqdm
import logging
import re
from PIL import Image
import os

from IPython.display import display
import ipywidgets as ipyw
import matplotlib.pyplot as plt

logging.basicConfig(level=logging.INFO)


# download
files = brainweb.get_files()

# show region probability masks
PetClass = brainweb.FDG

brainweb.seed(1337)

# 设置颜色映射的字典
cmap_dict = {
    'PET': 'hot',
    'T1': 'Greys_r',
    'T2': 'Greys_r'  # 假设'T1'和'T2'使用相同的颜色映射
}

keys_of_interest = ['PET', 'T1', 'T2']

for f in tqdm(files, desc="mMR ground truths", unit="subject"):
    vol = brainweb.get_mmr_fromfile(
        f,
        petNoise=1, t1Noise=0.75, t2Noise=0.75,
        petSigma=1, t1Sigma=1, t2Sigma=1,
        PetClass=PetClass)
    # show last subject
    print(f)

    # 使用正则表达式匹配数字部分
    match = re.search(r'(\d+)', f)
    if match:
        # 截取的数字部分存储在匹配对象的组1中
        number_part = match.group(1)

    # 遍历vol字典中的每个键
    for key in keys_of_interest:
        print(key)
        # 创建文件夹路径
        output_folder = os.path.join(os.getcwd(), "image", number_part, key)
        # 如果文件夹不存在,则创建它
        if not os.path.exists(output_folder):
            os.makedirs(output_folder)

        # 遍历每个键对应的三维数组的第一维
        for z in range(vol[key].shape[0]):
            plt.imshow(vol[key][z, 100:-100, 100:-100], cmap=cmap_dict[key], vmin=None, vmax=None)  # 显示切片
            plt.gca().set_facecolor('black')  # 设置背景颜色为黑色
            plt.axis('off')  # 关闭坐标轴显示
            # 保存图像到文件,指定文件名和格式
            file_name = f'{z + 1}.png'  # 使用f-string来格式化文件名
            plt.savefig(os.path.join(output_folder, file_name), dpi=300, bbox_inches='tight', pad_inches=0)

            # 关闭当前的图像,以免影响下一个迭代
            plt.close()

下载到当前程序:brainweb-master\brainweb-master\image\以模型数字命名
在这里插入图片描述
在这里插入图片描述
注意:如果下载失败,报出以下异常,找到你下载的数据集位置,删除重新下载。

files = brainweb.get_files() # download

Traceback (most recent call last):
  File "test.py", line 51, in <module>
    PetClass=PetClass)
  File "E:\00\大模型\brainweb-master\brainweb-master\brainweb\utils.py", line 274, in get_mmr_fromfile
    dat = load_file(brainweb_file)  # read raw data
  File "E:\00\大模型\brainweb-master\brainweb-master\brainweb\utils.py", line 202, in gunzip_array
    with gzip.open(fpath) as fi:
  File "D:\software\Python3.9\Anaconda3\envs\brainweb\lib\gzip.py", line 58, in open
    binary_file = GzipFile(filename, gz_mode, compresslevel)
  File "D:\software\Python3.9\Anaconda3\envs\brainweb\lib\gzip.py", line 168, in __init__
    fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'C'

如果帮到你了,请帮我点个赞吧😄😄😄😄😄

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐