基于卷积神经网络和深度学习的医学图像分割框架

miscnn的Python项目详细描述


MISCNN:用卷积神经网络进行医学图像分割

开源的python库miscnn是一个直观的api,允许快速建立医学图像分割管道,使用最先进的卷积神经网络和深度学习模型,只需几行代码。

miscnn提供了几个核心功能:

  • 二值和多类问题的二维/三维医学图像分割
  • 生物医学图像的数据I/O、预处理和数据增强
  • 分片全图像分析
  • 最先进的深度学习模型和度量库
  • 直观快速的模型利用(训练、预测)
  • 多种自动评估技术(例如交叉验证)
  • 自定义模型、数据I/O、前/后处理和度量支持
  • 基于以TensorFlow为后端的Keras

MIScnn workflow

入门:30秒到达MIS管道

创建一个数据I/O实例,该实例具有为特定数据提供的接口 格式。

frommiscnn.data_loading.data_ioimportData_IOfrommiscnn.data_loading.interfaces.nifti_ioimportNIFTI_interface# Create an interface for kidney tumor CT scans in NIfTI formatinterface=NIFTI_interface(pattern="case_0000[0-2]",channels=1,classes=3)# Initialize data path and create the Data I/O instancedata_path="/home/mudomini/projects/KITS_challenge2019/kits19/data.original/"data_io=Data_IO(interface,data_path)

创建预处理器实例以配置如何将数据预处理为批处理。

frommiscnn.processing.preprocessorimportPreprocessorpp=Preprocessor(data_io,batch_size=4,analysis="patchwise-crop",patch_shape=(128,128,128))

使用标准的u-net架构创建一个深度学习神经网络模型。

frommiscnn.neural_network.modelimportNeural_Networkfrommiscnn.neural_network.architecture.unet.standardimportArchitectureunet_standard=Architecture()model=Neural_Network(preprocessor=pp,architecture=unet_standard)

恭喜您准备好使用医学图像分割管道,包括数据I/O、预处理和默认设置的数据增强。

让我们对我们的数据集进行模型训练。然后,利用拟合模型预测样本的分割。

# Training the model with all except one sample for 500 epochssample_list=data_io.get_indiceslist()model.train(sample_list[0:-1],epochs=500)# Predict the one remaining samplepred=model.predict([sample_list[-1]],direct_output=True)

现在,让我们对我们的模型进行5倍的交叉验证,自动创建评估图并将结果保存到“evaluation_results”目录中。

frommiscnn.evaluation.cross_validationimportcross_validationcross_validation(sample_list,model,k_fold=5,epochs=100,evaluation_path="evaluation_results",draw_figures=True)

安装

安装miscnn有两种方法:

  • install miscnn from pypi(推荐):

注意:这些安装步骤假设您在Linux或Mac环境中。如果您在windows上或在没有根目录的虚拟环境中,则需要删除sudo才能运行下面的命令。

sudo pip install miscnn
  • 或者:从github源安装miscnn:

首先,使用git克隆miscnn:

git clone https://github.com/frankkramer-lab/MIScnn.git

然后,cd到miscnn文件夹并运行install命令:

cd MIScnn
sudo python setup.py install

作者

多米尼克•米勒
电子邮件:dominik.mueller@informatik.uni-augsburg.de
转化医学研究的it基础设施
奥格斯堡大学
德国巴伐利亚

如何引用/更多信息

多米尼克·穆勒和弗兰克·克莱默。(2019年)
miscnn:一个基于卷积神经网络和深度学习的医学图像分割框架。

许可证

此项目是在GNU通用公共许可第3版下授权的。
请参阅license.md文件以了解许可权和限制。

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

推荐PyPI第三方库


热门话题
java Android测试运行失败:没有测试结果   java设置JMenuItems与Nimbus LaF的边界   java是使用springboot、Crudepository和MySQL检查重复值的好方法吗   谷歌电子表格的Java时代日期   java向xml文件添加EditText不起作用   java ORA00933:SQL命令未正确结束WHERE子句   如何在java中防止JTextField上使用CTRL+C?   java绑定到TypeLiteral在google guice中是好的还是坏的做法   java找到了原始类型,缺少泛型类的返回参数   Kafka Streams API中ArrayList Serde的java问题   java在hibernate中,哪种持久化上下文的性能更好?   java通过本机查询获取数据库url、名称和模式版本   如何为Java枚举编写通用for循环?   在Java应用程序中播放MP3   如何使用VisualVM度量短时间运行的Java应用程序的性能?   java从当前日期获取datetime(秒)   简单JMH基准中的javagrpcoome和NPE   java如何加载Maven项目库中Spring jar的应用程序上下文   JavaCC XPath解析器   用于Scala和Java的类型安全生成器库