脑分割软件包

DARTSeg的Python项目详细描述


基于DenseUnet的自动快速脑分割(DARTS)

与项目相关的论文

这篇论文详细描述了项目和实验(链接到待更新的论文)。在

脑MR分割的深度学习模型

我们使用Human Connectome Project数据集中的1113名受试者的自由曲面分段预训练我们的稠密的Unet模型,并使用来自Mindboggle数据集的101个手动标记的大脑扫描对模型进行微调。在

该模型能够在一分钟内完成整个大脑的分割(在具有单个GPU的机器上)。该模型标记了大脑中的102个区域,成为第一个在一分钟内分割出100多个大脑区域的模型。102个地区的详细信息可以在下面找到。在

智囊团的结果提供了数据

方块图比较密集U网和U网不同ROI的骰子得分。稠密的U-Net始终优于U-Net,并且在大多数roi中实现了良好的骰子得分。在

使用预训练模型进行完整的脑分割

用户可以使用预先训练好的模型来进行完整的脑MR分割。要使用coronaly预先训练的模型,用户必须执行^{}脚本。插图可以在^{}笔记本上看到。在

以下代码块可用于执行预测:

usage: perform_pred.py [-h] [--input_image_path INPUT_IMAGE_PATH]
                       [--segmentation_dir_path SEGMENTATION_DIR_PATH]
                       [--file_name FILE_NAME] [--model_type MODEL_TYPE]
                       [--model_wts_path MODEL_WTS_PATH] [--is_mgz [IS_MGZ]]
                       [--save_prob [SAVE_PROB]] [--use_gpu [USE_GPU]]

optional arguments:
  -h, --help            show this help message and exit
  --input_image_path INPUT_IMAGE_PATH
                        Path to input image (can be of .mgz or .nii.gz
                        format)(required)
  --segmentation_dir_path SEGMENTATION_DIR_PATH
                        Directory path to save the output segmentation
                        (required)
  --file_name FILE_NAME
                        Name of the segmentation file (required)
  --model_type MODEL_TYPE
                        Model types: "dense-unet", "unet" (default: "dense-
                        unet")
  --model_wts_path MODEL_WTS_PATH
                        Path for model wts to be used (default='./saved_model_
                        wts/dense_unet_back2front_finetuned.pth')
  --is_mgz [IS_MGZ]     Is the image in .mgz format (default=False, default
                        format is .nii.gz)
  --save_prob [SAVE_PROB]
                        Should the softmax prob values for each voxel be saved
                        ? (default: False)
  --use_gpu [USE_GPU]   Use GPU for inference? (default: True)

例如如下所示:

^{pr2}$

预训练模型wts

可从here下载预训练模型wts。在

模型体系结构有两种:密集U-Net和U-Net。每一个模型都使用从冠状、矢状或轴向提取的二维切片进行训练。模型的名称将包含方向和模型体系结构信息。在

输出分段

输出分段有103个标记的段,最后一个是None类。分割的标签与Freesurfer的aseg+aparc分割协议非常相似。在

我们排除了正常大脑不常见的4个脑区:白质和非白质低强度,左、右额叶和颞叶。我们还排除了左右“未知”片段。我们也排除了左岸和右岸,因为神经放射学界对这些片段没有一个共同的定义。在

类号和相应的段名的完整列表可以找到here。在

样本预测

脑岛

在这里我们可以清楚地看到,自由曲面(FS)错误地预测了正确的岛叶节段,仅使用FS分段训练的模型也学习了错误的预测。我们提出的模型是在手动注释数据集上进行微调的,它正确地捕捉了区域。此外,该片段在生物学上看起来很自然,不像FS的分割那样颗粒状、噪声大、边界不光滑。 在

壳核

在这里,我们再次看到FS分割质量较低,但我们提出的微调模型表现良好,并产生更自然的分割。 在

苍白球

苍白球的FS分割质量也不高,但所提出的模型表现良好。 在

更多预测

这里可以看到PutamenCaudateHippocampus和{a10}的一些示例预测。在所有的图像中,预测1=自由曲面,预测2=未微调的稠密Unet,预测3=精细调谐的密集Unet。在

可以看出,自由曲面运动经常在确定精确边界时出错,而基于深度学习的模型具有具有精确边界的自然感兴趣区域。在

联系人

如果您对代码有任何疑问,请联系ark576[电话]纽约大学教育大学或者在github回购上提出问题。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期