脑肿瘤分割的深度学习工具。

DeepBrainSeg的Python项目详细描述


深脑塞格

Build StatusPyPI versionDocumentation StatusLicense: MIT

本报告利用二维和三维全卷积神经网络(CNN)从多模态磁共振图像(MRI)中分割脑肿瘤及其成分。在分割网络中使用的密集连接模式可以在较少的网络参数的情况下有效地重用特征。在BraTS验证数据上,分割网络实现了肿瘤的整体、肿瘤核心和活动肿瘤骰子分别为0.89、0.76、0.76。在

特点

  • [x] 脑肿瘤分割
  • [x] 脑罩一代去头盖(目前使用HD-BET和ANTs)
  • [x] 放射性特征
  • [x] 共同登记
  • [x] Dcm和nifty支持(将Dcm转换为nifty and works)
  • [x] 基于用户界面的推理框架
  • [x] 微调
    • [x] 硬采
    • [x] 逐步解冻
  • []全脑分割

安装

基于PyPi的安装:

python version: 3.5

installation: pip install DeepBrainSeg

或者

git clone https://github.com/koriavinash1/DeepBrainSeg.git
cd DeepBrainSeg
python3 setup.py install

引文

如果您使用DeepBrainSeg,请引用我们的工作:

^{pr2}$

分段管道

pipeline

分割结果

Results

用户界面

我们还提供了基于用户界面的肿瘤分割可视化工具。可以在克隆repo后运行以下命令来使用它。在

cd ui
python3 DeepBrainSegUI.py

normaloverlay2

Python API用法

脑肿瘤分割

for data in BraTs format

from DeepBrainSeg import deepSeg
segmentor = deepSeg(quick=True)
segmentor.get_segmentation_brats(path)

for other formats

from DeepBrainSeg import deepSeg
t1_path = 
t2_path = 
t1ce_path = 
flair_path = 

segmentor = deepSeg(quick=True)
segmentor.get_segmentation(t1_path, t2_path, t1ce_path, flair_path, save = True)

脑序列与t1c

from DeepBrainSeg.registration import Coregistration
coreg = Coregistration()

moving_imgs = {'t1': t1path,
               't2': t2path,
               'flair': flairpath}
fixed_img =  os.path.join(t1cpath)
coreg.register_patient(moving_images    = moving_imgs,
                            fixed_image = fixed_img,
                            save_path   = pathtosave)

脑罩取出(颅骨剥离)

from DeepBrainSeg.brainmask.hdbetmask import get_bet_mask
from DeepBrainSeg.brainmask.antsmask import get_ants_mask

get_bet_mask(vol_path, savepath)

or 

get_ants_mask(vol_path, savepath)

无线话筒功能exctractor

from DeepBrainSeg.radiomics import ExtractRadiomicFeatures

extractor = ExtractRadiomicFeatures(input_mask=None, 
                                    save_path=None, 
                                    seq='Flair',
                                    class_ = 'ET')
extractor.first_order()
extractor.glcm_features()
extractor.gldm_features()

or

extractor.all_features()

肿瘤分割推断步骤:

  • 我们的算法利用蚂蚁框架来生成掩模。首先调用deepSeg类在~/.DeepBrainSeg中本地构建ANTs框架
  • First call deepSeg在~/.DeepBrainSeg本地下载所有经过预训练的模型
  • 最终分割是4个不同模型的集合结果:
    • ABLNet公司(可建模.py,气脑损伤网络)
    • 3DBrainNet(模型3数据库.py,三维多分辨率CNN)
    • Tiramisu2D(modelTis2D.py,57层2D CNN)
    • 提拉米苏3D(modelTir3D.py,57层3D CNN)
  • 大量的文件将很快上传,以及转移学习框架
  • 有关网络体系结构和培训过程的更多详细信息,请参阅here

有关培训代码,请参考此repo

Windows 10安装指南

imageFigure\u 0:在Windows10上启动DeepBrainSeg。在

image

Figure\u 1:DeepBrainSeg用于在Windows 10上进行大脑分割。(注意:在i7 6700 intel cpu上,通过torch峎cpu进行集成分段/推断需要大约2个小时。另一方面,Torch cuda/gpu速度更快,在我的gtx 1060 3gb上,集成分段/推断仅需约10分钟)

安装指南:here

联系人

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

推荐PyPI第三方库


热门话题
Android上已连接音频输入设备的java列表   java是创建类的新对象还是使用静态方法?   Java:Shift/Rotate对象数组   Java Casting ArrayIterator<Object>   在java中返回布尔值时出错   无法确定文本文件读入程序(java)中的各种元素   Java Swing JToolBar   JAVAlang.IllegalStateException执行Ghost4J(Linux 32对64位)   jvm如何增加ubuntu系统的java堆化?   java CORS策略“AccessControlAllowOrigin”(Anguar 8和Servlet)   使用dagger 2的java视图依赖项注入   单元测试中RxJava的java模拟活动生命周期   arraylist中的Java打印字符串   java返回值显示为0.0。为什么会这样?   java是clientserver应用程序所必需的MVC吗?   ByteToMessageDecoder类中的java内存泄漏   java将大量文档写入firestore   GWT项目中的java TomcatMaven插件。两者之间的区别是什么:org。科德豪斯。魔咒和组织。阿帕奇。公猫maven插件   java swing:向JTree项添加自定义图形按钮