我正在尝试使用Python(x,y)版本2.7来处理一些压缩的DICOM数据。我已经使用pip install安装了mudicom模块,并且工作正常。但是,我还需要gdcm 2.6模块,我不得不跳过一些箍来安装它使用它的.exe文件并将它添加到我的PATH中。
然后我将gdcm.py和gdcmswig.py添加到我的网站包文件夹中,并根据我找到的另一个论坛上的说明将_gdcmswig.pyd添加到我的DLLs文件夹中。
现在Python似乎至少看到我有gdcm,但它告诉我gdcmswig充满了语法错误,所以我确定我做错了其他的事情。
我正在运行的唯一代码是
import mudicom
但是我收到了这个错误:
runfile('C:/Users/shann/Desktop/CT Processing Tests/Test2.py', wdir='C:/Users/shann/Desktop/CT Processing Tests')
File "C:\Python27\lib\site-packages\gdcmswig.py", line 116
def value(self) -> "PyObject *":
^
SyntaxError: invalid syntax
当我点击该行号时,它会拉出这部分代码:
class SwigPyIterator(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined - class is abstract")
__repr__ = _swig_repr
__swig_destroy__ = _gdcmswig.delete_SwigPyIterator
__del__ = lambda self: None
def value(self) -> "PyObject *":
return _gdcmswig.SwigPyIterator_value(self)
def incr(self, n: 'size_t'=1) -> "swig::SwigPyIterator *":
return _gdcmswig.SwigPyIterator_incr(self, n)
def decr(self, n: 'size_t'=1) -> "swig::SwigPyIterator *":
return _gdcmswig.SwigPyIterator_decr(self, n)
def distance(self, x: 'SwigPyIterator') -> "ptrdiff_t":
return _gdcmswig.SwigPyIterator_distance(self, x)
def equal(self, x: 'SwigPyIterator') -> "bool":
return _gdcmswig.SwigPyIterator_equal(self, x)
def copy(self) -> "swig::SwigPyIterator *":
return _gdcmswig.SwigPyIterator_copy(self)
def next(self) -> "PyObject *":
return _gdcmswig.SwigPyIterator_next(self)
def __next__(self) -> "PyObject *":
return _gdcmswig.SwigPyIterator___next__(self)
我试着评论错误中提到的特定行,但后来我又得到了另一个错误,说下一行(def incr ...)在“n:”处有语法错误,所以我只能假设那样继续通过该课程的其余部分。
任何帮助都会受到赞赏!我一直在努力让这一切工作两三天。
谢谢!