优秀的编程知识分享平台

网站首页 > 技术文章 正文

给3D Slicer添加Python第三方插件库

nanyue 2024-09-11 05:21:24 技术文章 8 ℃

对临床医生或医学影像算法研究人员来说, 3D Slicer是不错的临床实践或科研工具。随着人工智能和深度学习技术的普及,python已经作为原型开发和验证的计算机编程语言。3D Slicer自带python交互器,可以帮助临床医生或科研人员利用python的第三方库加快医学影像算法原型的开发速度。

实际上3D Slicer的python自带的第三方库毕竟有限,况且每个3D Slicer用户或使用者对python的第三方库要求各有不同,这就涉及到3D Slicer安装Python第三方库的问题。

关于3D Slicer安装Python第三方库的方法有网友(https://www.cnblogs.com/xiangsui/p/14494346.html)给出3D Slicer官网的建议:https://discourse.slicer.org/t/automatic-install-of-python-packages/7078/4。结果笔者尝试使用这个方法后,发现长时间不反应卡住死机,而且没有任何提示信息或进度条指示。参考网友(https://www.qyyshop.com/info/613427.html)的文章:《给3D Slicer的Python插件加OpenCV库》基本解决了笔者在3D Slicer平台上安装Python第三方库的问题。写此文章,一是记录安装过程防止日后再次需要时遗忘,二是抛砖引玉希望高人指点提升技能,三是给有同样需求的网友参考以求共同进步。

笔者首先安装anaconda,然后创建python版本和3D Slicer的python版本基本一致(忽略版本号第二个小数,例如3.6.1和3.6.7认为版本号一致)的虚拟环境。在anaconda的python虚拟环境里安装自己需要的第三方库。例如,笔者安装完Opencv-Python后,在笔者的电脑里/opt/anaconda3/envs/foo/lib/python3.6/site-packages路径下存在三个文件夹:

因为我的笔记本macOS Catalina版本是10.15.7,最新的3D Slicer版本安装不上,所以安装的3D Slicer版本是4.11.20210226。我安装的3D Slicer的python第三方库存放路径是:/Applications/Slicer.app/Contents/lib/Python/lib/python3.6/site-packages。把上述的Opencv-Python三个文件夹复制-粘贴到3D Slicer的python第三方库存放路径下即可。然后就可以在3D Slicer内置的python命令交互窗口中输入“import cv2”,如果不报错就是安装好啦~

笔者按此方法成功地安装了opencv、itk、pydicom、SimpleITK:

在Windows系统中,给3D Slicer添加Python第三方插件库就相对容易。笔者的电脑是Windows11,安装完当前最新的稳定版本5.4.0后,启动3D Slicer,再点击Python交互器,界面如下:

输入:

import os

os.system('powershell.exe Start-Process cmd.exe -Verb runAs')

然后弹出访问控制权限对话框:

输入:

PythonSlicer.exe -m pip install Python第三方插件库名,

示例如下:

PythonSlicer.exe -m pip install itk

显示

回到3D Slicer的Python交互器界面,导入itk:

说明 itk 安装成功。

同理,可以安装其它Python第三方插件库。

以上是给3D Slicer添加Python第三方插件库全部内容,希望文章能够帮你解决给3D Slicer的Python插件添加第三方库所遇到的程序开发问题。 如果本文内容还不错,欢迎推荐。

补充: 今天刚摸索出MacOS系统下的相对简便方法,分享如下:

在访达的前往应用程序中,找到slicer,右键显示包内容,打开Contents文件夹,再打开bin文件夹,找到PythonSlicer(在我的苹果电脑的绝对路径是:/Applications/Slicer.app/Contents/bin)

终端输入:

cd /Applications/Slicer.app/Contents/bin

./PythonSlicer -m pip install itk

同理,可以安装其它Python第三方插件库。

Join~^~

Tags:

最近发表
标签列表