Digital Imaging and Communications in Medicine (DICOM) 文件是医学上常用的一种数据存储格式,gdcm库可以方便地对数据进行读取。
1、Ubuntu系统
https://launchpad.net/ubuntu/+source/gdcm
可以直接安装
sudo apt-get install python-gdcm
这种安装方法会直接给系统的python(/usr/bin)下面那个python安装。如果只是简单地使用,这样就够了。
2、从源码安装
我是用的Anaconda的python,有多个虚拟环境,所以上文这种安装方式就不太适用。所以我要从源码安装。
2.1 swig安装
https://github.com/swig/swig 下载源码并解压
cd swig/
./autogen.sh
./configure
make -j8
sudo make install
2.2 编译安装gdcm
先下载源码并解压:
https://sourceforge.net/projects/gdcm/files/gdcm%202.x/
注意!!
由于我们是有多个虚拟环境的,在运行下面的步骤之前,要切换到你想要安装的那个虚拟环境
conda activate XXX
这一步很重要,因为在下面编译的时候,swig会根据你的python版本来创建python库。尤其是我们的虚拟环境python2和python3共存的时候,如果你当前的python是python3,编译好了之后想要放到python2里面用,就是不行的。
mkdir gdcm-build
cd gdcm-build
cmake ../gdcm-2.8.9 -DGDCM_BUILD_SHARED_LIBS=ON -DGDCM_WRAP_PYTHON=ON -DGDCM_DOCUMENTATION=OFF -DGDCM_BUILD_EXAMPLES=OFF -DGDCM_BUILD_TESTING=OFF
make -j8
sudo make install
接下来,就是把我们编译好的文件拷贝到对应的site-packages路径中。如果不知道你的路径是什么,可以再当前的虚拟环境中运行python,然后执行:
from distutils.sysconfig import get_python_lib
print(get_python_lib())
这样就可以看到我们的site-package路径了。最后我们把编译好的文件拷贝到该目录中
cd bin
sudo cp gdcm.py gdcmswig.py _gdcmswig.so /上面获取的路径/site-packages/
2.3* cmake版本问题
如果在执行
cmake ../gdcm-2.8.9 -DGDCM_BUILD_SHARED_LIBS=ON -DGDCM_WRAP_PYTHON=ON -DGDCM_DOCUMENTATION=OFF -DGDCM_BUILD_EXAMPLES=OFF -DGDCM_BUILD_TESTING=OFF
时候报错,提示cmake版本过低,需要自行更新cmake版本。参考:
https://blog.csdn.net/TwT520Ly/article/details/80496351
3.测试安装是否成功
在python中执行
import gdcm
未报错,则提示安装成功。
4.参考文章
本文主要参考这篇文章完成
https://blog.csdn.net/qq_16949707/article/details/70209492