网站首页 > 技术文章 正文
对临床医生或医学影像算法研究人员来说, 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~^~
猜你喜欢
- 2025-01-11 Python国内第三方镜像下载
- 2025-01-11 Python其实很简单 第十四章 模块
- 2025-01-11 TTS它又来了!OpenVoice一款借鉴于TTS实现的强大AI语音克隆工具
- 2025-01-11 一段获取磁盘空间信息的python脚本
- 2025-01-11 Qt 调用Python引擎混合编程
- 2025-01-11 如何利用Python开发一个Web网站路径扫描工具?
- 2025-01-11 Pydantic:强大的Python 数据验证库
- 2025-01-11 新一代Python包管理工具来了
- 2025-01-11 python 基础(四)
- 2025-01-11 Python每日一库之orjson
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)