Plastimatch的基本Python封装
项目描述
PyPlastimatch
PyPlastimatch是Plastimatch的Python封装,Plastimatch是一个基于ITK的开源软件,旨在用于体积医学图像处理和放射治疗应用。
PyPlastimatch开发的初衷是在Python脚本中能够使用Plastimatch的功能,而无需始终使用os.system
或subprocess
进行编码。此外,我们正在努力使Plastimatch实现的一些函数的输出(例如,Dice系数和Hausdorff距离)更加符合Python风格/易于在基于Python的数据分析管道中使用。
与封装函数一起,我们还在开发简单但实用的函数,这些函数可用于在ipython笔记本和JupyterLab中进行快速数据探索(例如,基于ipywidgets的简单小部件)。
PyPlastimatch完全独立于主软件Plastimatch,主要为了内部使用而开发。因此,Plastimatch的大部分功能可能缺失。如果您想添加某些功能或指出如何改进包装器中的任何内容,欢迎您在问题页面上提出问题。
目录
通过pip
安装
PyPlastimatch可以通过pip安装
pip install pyplastimatch
依赖项
Python
如果您决定克隆PyPlastimatch存储库,而不是使用pip
安装,为了正常运行代码,必须安装requirements.txt
中列出的所有Python库。这可以通过运行以下命令完成:
pip3 install -r requirements.txt
Plastimatch
由于PyPlastimatch是一个Python包装器,不包含任何处理代码,因此必须单独在机器上安装Plastimatch。
Ubuntu 20.04 LTS
对于运行Ubuntu 20.04 LTS(以及获取相同包的发行版)的用户,可以通过运行以下命令简单安装Plastimatch:
sudo apt install plastimatch
Ubuntu 22.04 LTS
不幸的是,运行Ubuntu 22.04 LTS的用户将无法通过apt
安装Plastimatch(参见官方Plastimatch GitLab上的此问题)。为了解决这个问题,我们为Ubuntu 22.04 LTS编译了一个二进制文件,您可以在我们的发行版中找到它,并在PyPlastimatch安装后下载(在Python3 shell中执行以下操作):
from pyplastimatch.utils.install import install_precompiled_binaries
install_precompiled_binaries()
当然,还有等效的CLI版本
RUN python3 -c 'from pyplastimatch.utils.install import install_precompiled_binaries; install_precompiled_binaries()'
我们提供的plastimatch二进制文件是动态编译的,因此不安装一些依赖项(通过pip
安装的itk
和一些由install_precompiled_binaries()
函数自动处理的系统依赖项)将无法工作。根据您使用的Python版本和环境(即已安装的包),您可能需要先通过pip
安装itk
,然后再安装pyplastimatch
。
将来,我们可能会支持预编译的静态二进制文件,以及其他发行版/操作系统。
其他操作系统
对于Windows用户,可以按照此网页上的指南安装Plastimatch。
从源代码构建
您还可以按照此网页上的指南从源代码构建Plastimatch。该指南可能略有过时,但应该足以让您开始。
DCMQI
一些功能可能基于定量成像的DICOM(dcmqi)库,必须单独安装(例如,在Linux下,下载最新版本,将bin
文件夹的内容移动到usr/local/bin
下,并使文件可执行)。
使用示例
您可以在Google Colab上尝试PyPlastimatch,无需安装任何东西。要打开Colab笔记本,请点击这里:
由于Plastimatch和此包装器正在NIH CRDC影像数据共享平台上用于开发基于AI的医学图像分析流程,因此可以在IDC-Examples/notebooks存储库中找到一些使用PyPlastimatch的示例笔记本。
注意:如果您已正确设置Google Cloud Platform项目,您将能够免费在云中运行此笔记本以及其他所有笔记本。如果您在笔记本中发现任何问题或想了解更多信息,您可以通过IDC存储库或IDC论坛联系。
Ubuntu 22.04 LTS Plastimatch Docker容器
如果您想测试Ubuntu 22.04 LTS版本的Plastimatch,您可以使用我们在dockerfiles
下分享的Docker镜像。
构建Docker容器
要构建Ubuntu 22.04 LTS Platimatch Docker容器,请从PyPlastimatch仓库的根目录运行以下命令
cd dockerfiles/
docker build --tag pypla_22.04 . --no-cache
运行Docker容器
假设您想使用Plastimatch转换/操作的数据存储在/home/dennis/Desktop/sample_data/
,运行的Docker命令将如下所示
docker run --rm -it --entrypoint bash -v /home/dennis/Desktop/sample_data/:/app/data pypla_22.04
这将挂载数据目录到容器的/app/data
目录,然后您可以在容器内运行Plastimatch命令。例如,如果/home/dennis/Desktop/sample_data/
的目录结构如下
(base) dennis@W2-S1:~$ tree /home/dennis/Desktop/sample_data/ -L 1
/home/dennis/Desktop/sample_data/
└── dicom
那么,一旦进入容器,您可以运行以下命令将DICOM文件转换为保存为NRRD格式的卷
cd /app/data
plastimatch convert --input input_dcm/ --output-img test.nrrd
进一步阅读
关于Plastimatch的Python包装的进一步讨论可以在这个discourse.slicer线程中找到。
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。