Python - 3D 医学图像配准库
Python - 3D Medical Image Registration Libraries
Python 中有哪些库能够读取扩展名为 .vtk
或 .stl
的 CT 模型文件,并使用普通视频执行 3D 图像配准。我发现很多软件都有这种能力,但我要找的不是程序,而是 Python 库,例如 Numpy 或 OpenCV,我需要做的只是 import numpy
或 import cv2
.
编造了我想做的事的例子
- 第 1 步 - 获取人头骨的 3D CT 模型
- 第 2 步 - 将 3D CT 模型读入 Python
- 第 3 步 - 获取一个人静止不动的普通视频
- 第 4 步 - 执行 3D CT 头骨的配准和
普通视频的人头
- 第 5 步 - 显示注册输出
我找到了几个 Python 库,它们 "seem" 可以做这种事情,但是它们在库描述中没有足够的信息来确定这就是我想要的。我也愿意使用多个库。有没有人做过类似的事情,如果有任何图书馆经验的人可以给我一些建议,那就太好了,谢谢。如果没有,我也会考虑其他语言的库。
到目前为止我考虑的是什么
- C++ 中的 FW4SPL 库
- C++ 中的 MITK 库
- Python
中的 MeVisLab 软件
- C++ 中的 Elastix 库
- Python
中的 SimpleElastix 库
- C++ 中的 ITK 库
- Python
中的 SimpleITK 库
对于FW4SPL
和MITK
,由于调试旧错误后不断出现新错误,我一直无法成功编译源代码。看来新错误的发生不会停止(我花了很多时间做这个,不想再继续了)。
对于 MeVisLab
,这不是 Python 库,例如 numpy
或 opencv
,但它是一个 GUI,据说也是可编程的。
对于Elastix
、SimpleElastix
、ITK
和SimpleITK
,它们确实是C++和Python库,看起来很完美,但我不确定是否他们提供了我上述申请的要求。还有,我对彼此之间的关系很困惑。
我是第一次玩 vtk 和 stl 文件。你的问题让我很好奇,但我显然没有经验。在上述评论之前,我开始研究这个。对不起,我没有意识到我们跑题了。所以我在这一点上给你我的结论,因为那里是为分享而建的。
1) 对于 .vtk 文件
事实证明,我看到的大多数库都是针对 python 2.7 的,而我更喜欢最新版本(目前为 3.5)。
对于 3.5,我最终采用了看起来很有前途的“woodscn”版本,在我看来,所有需要的信息都在 Reading a .vtk file with python
上进行编码
2) 对于 .stl 文件
来自“conda-forge”的“nestly”包看起来不错,在 https://github.com/fhcrc/nestly/blob/master/examples/basic_nest/make_nest.py
上有一个典型的例子
那么你只需要在 python 脚本中写 import vtk
和 import nestly
。
希望这对您有所帮助
Python 中有哪些库能够读取扩展名为 .vtk
或 .stl
的 CT 模型文件,并使用普通视频执行 3D 图像配准。我发现很多软件都有这种能力,但我要找的不是程序,而是 Python 库,例如 Numpy 或 OpenCV,我需要做的只是 import numpy
或 import cv2
.
编造了我想做的事的例子
- 第 1 步 - 获取人头骨的 3D CT 模型
- 第 2 步 - 将 3D CT 模型读入 Python
- 第 3 步 - 获取一个人静止不动的普通视频
- 第 4 步 - 执行 3D CT 头骨的配准和 普通视频的人头
- 第 5 步 - 显示注册输出
我找到了几个 Python 库,它们 "seem" 可以做这种事情,但是它们在库描述中没有足够的信息来确定这就是我想要的。我也愿意使用多个库。有没有人做过类似的事情,如果有任何图书馆经验的人可以给我一些建议,那就太好了,谢谢。如果没有,我也会考虑其他语言的库。
到目前为止我考虑的是什么
- C++ 中的 FW4SPL 库
- C++ 中的 MITK 库
- Python 中的 MeVisLab 软件
- C++ 中的 Elastix 库
- Python 中的 SimpleElastix 库
- C++ 中的 ITK 库
- Python 中的 SimpleITK 库
对于FW4SPL
和MITK
,由于调试旧错误后不断出现新错误,我一直无法成功编译源代码。看来新错误的发生不会停止(我花了很多时间做这个,不想再继续了)。
对于 MeVisLab
,这不是 Python 库,例如 numpy
或 opencv
,但它是一个 GUI,据说也是可编程的。
对于Elastix
、SimpleElastix
、ITK
和SimpleITK
,它们确实是C++和Python库,看起来很完美,但我不确定是否他们提供了我上述申请的要求。还有,我对彼此之间的关系很困惑。
我是第一次玩 vtk 和 stl 文件。你的问题让我很好奇,但我显然没有经验。在上述评论之前,我开始研究这个。对不起,我没有意识到我们跑题了。所以我在这一点上给你我的结论,因为那里是为分享而建的。
1) 对于 .vtk 文件 事实证明,我看到的大多数库都是针对 python 2.7 的,而我更喜欢最新版本(目前为 3.5)。 对于 3.5,我最终采用了看起来很有前途的“woodscn”版本,在我看来,所有需要的信息都在 Reading a .vtk file with python
上进行编码2) 对于 .stl 文件 来自“conda-forge”的“nestly”包看起来不错,在 https://github.com/fhcrc/nestly/blob/master/examples/basic_nest/make_nest.py
上有一个典型的例子那么你只需要在 python 脚本中写 import vtk
和 import nestly
。
希望这对您有所帮助