微观扩散工具箱

mdt的Python项目详细描述


微结构扩散工具箱(mdt)是一个用于磁共振成像(mri)数据微结构建模的框架和库。 mdt的目的是为mri显微结构分析提供可重复性和可比性的模型拟合。 因此,我们为微观结构建模提供了一个通用平台,包括许多模型,这些模型都可以使用相同的优化例程进行处理。 为了获得最大的性能,所有的模型和算法都被实现以利用现代计算机的所有并行处理能力。 MDT结合了灵活建模和快速处理,针对模型开发人员和数据分析人员。

摘要

  • GPU加速处理
  • 人类连接体项目(HCP)管道
  • 包括charmed、noddi、binghamnoddi、noddida、noddi-dti、activeax、axcaliber、ball&sticks、ball&rackets、kurtosis、tensor、verdict、qmt和relaxometry(t1、t2)模型。
  • 包括高斯、偏移高斯和rician似然模型
  • 包括Powell、Levenberg Marquardt和Nelder Mead Simplex优化例程
  • 包括多个(自适应)MCMC采样算法
  • 在参数上支持超优先级
  • 支持每个体素和每个体素每个体积的渐变偏差
  • 支持体积加权目标函数
  • 支持添加自己的模型
  • 提供图形、命令行和python界面
  • 计算在体素和体积上并行化
  • 基于python和opencl的
  • 免费开源软件:lgpl v3许可证
  • 在Windows、Mac和Linux操作系统上运行
  • 运行在Intel、NVIDIA、AMD GPU和CPU上。

HCP管道

MDT预装有人连接体项目(HCP)兼容的MGH和Wuminn 3T研究管道。 要运行,在安装mdt之后,转到下载(预处理)hcp数据(mgh或wumin)的文件夹并执行:

$ mdt-batch-fit . NODDI

它将自动检测正在使用的研究,并使您选择的模型适合所有受试者。

快速安装指南

MDT的基本要求是:

  • python 3.x
  • 在GPU驱动程序或CPU运行时支持OpenCl 1.2(或更高版本)

linux

对于ubuntu>;=16,您可以使用:

  • sudo add-apt-repositoryppa:robbert-harms/cbclab
  • sudo apt-get update
  • sudo apt-get install python3-mdtpython3-pip
  • sudo pip3 install tatsu

对于debian用户和ubuntu<;16用户,请使用以下命令安装mdt:

  • sudo apt-get install python3 python3-pippython3-pyopenclpython3-numpypython3-nibabelpython3-pyqt5python3-matplotlibpython3-yamlpython3-argcompletelibpng-devlibfreetype6-devlibxft-dev
  • sudo pip3 install mdt

请注意,python3-nibabel可能需要neurodebian才能在您的计算机上可用。另一种方法是改用pip3 install nibabel

Dockerfile和Singularity配方也可用于预加载Intel OpenCL驱动程序的安装(例如,用于CPU群集上的容器化部署)。 例如,要使用docker安装,请使用docker build -f containers/Dockerfile.intel .

windows

windows上的安装稍微复杂一些,下面只是一个快速参考指南。 有关完整说明,请查看complete documentation

mac

  • 安装Python3.*
  • 打开终端并键入:pip install mdt

请注意,由于mac中opencl驱动程序的不稳定特性,mac支持是实验性的,即以gpu作为所选设备运行mdt的用户可能会遇到崩溃。 不过,在cpu中运行mdt似乎是可行的。

有关详细信息和完整的安装说明,请参见https://mdt_toolbox.readthedocs.org

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

推荐PyPI第三方库


热门话题
Hibernate:jpamodelgen生成java而不是类   java如何在第二次活动结束后显示广告?   javascript如何在linux或windows上将java导出到jar   java One ArrayList添加了2个不同的选项   AmazonWeb服务如何在java中使用AWS Textract检索pdf中存在的表   java为什么RecycleView中的水平项在单击时不起作用?   java计算如果存在映射   java在捕获的组上应用正则表达式   如何使用Java在MySQL的同一个表中插入来自不同类的值   java字符串中最常见的字母(大写和小写)   Spring SessionBean实例正在由java中的多个用户共享   使用Spring Boot将@WebInitParam中的值外部化   java一创建线程就开始执行(多线程)   java是安卓所需的系统权限。意图行动给你打电话?