'FileDataset' 对象没有属性 'DoseGrid'

问题描述

我一直在尝试使用 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 上询问下一个版本。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...