问题描述
我一直在尝试使用 dicompyler-core 将来自两个不同剂量 dicom 的两个剂量网格放在一起。
import pydicom
import numpy as np
import os
import glob
from dicompylercore import dicomparser,dvh,dvhcalc
from dicompylercore import dose
我在尝试导入剂量时不断收到此错误
ImportError Traceback (most recent call last)
<ipython-input-120-6605335fa321> in <module>
5 import glob
6 from dicompylercore import dicomparser,dvhcalc
----> 7 from dicompylercore import dose
ImportError: cannot import name 'dose' from 'dicompylercore'
由于这个导入错误,我认为这就是为什么当我尝试将两个剂量网格添加在一起时找不到属性
dose1 = dicomparser.DicomParser("RD.CW.dcm")
dose2 = dicomparser.DicomParser("RD.ccw.dcm")
grid_1 = dose.DoseGrid()
grid_2 = dose.DoseGrid()
grid_sum = grid_1 + grid_2
grid_sum.save_dcm("grid_sum.dcm")
它给了我这个错误
~\Anaconda3\lib\site-packages\pydicom\dataset.py in __getattr__(self,name)
550 if tag is None: # `name` isn't a DICOM element keyword
551 # Try the base class attribute getter (fix for issue 332)
--> 552 return super(Dataset,self).__getattribute__(name)
553 tag = Tag(tag)
554 if tag not in self._dict: # DICOM DataElement not in the Dataset
AttributeError: 'FileDataset' object has no attribute 'DoseGrid'
我是使用 dicom 文件和 dicompylercore 的新手。我不确定这是否与我自己工作的 dicom 文件有关,或者 dicomplyercore 包本身是否存在一些问题。有什么建议可以解决这个问题吗?
解决方法
dose
模块已在上次 PyPi 发布后添加到 dicompylercore
,因此您必须从 GitHub 安装该版本,如果您想使用它:
pip install git+https://github.com/dicompyler/dicompyler-core
我不确定此版本的稳定性如何,但您可以在 development site 上询问下一个版本。