跳转到主要内容

Plastimatch的基本Python封装

项目描述

PyPlastimatch

PyPlastimatch是Plastimatch的Python封装,Plastimatch是一个基于ITK的开源软件,旨在用于体积医学图像处理和放射治疗应用。

PyPlastimatch开发的初衷是在Python脚本中能够使用Plastimatch的功能,而无需始终使用os.systemsubprocess进行编码。此外,我们正在努力使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笔记本,请点击这里:Open In 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

进一步阅读

Paolo Zaffino的(非)官方包装器.

关于Plastimatch的Python包装的进一步讨论可以在这个discourse.slicer线程中找到。

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pyplastimatch-0.4.6.tar.gz (15.4 kB 查看散列)

上传时间

构建分布

pyplastimatch-0.4.6-py3-none-any.whl (14.2 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面