是否可以在pydicom中添加多值和列表

问题描述 投票:0回答:1

我正在尝试将MultiValue添加到列表中。但是我收到一条错误消息,指出我做不到。我也尝试了.append.extend将多值添加到列表中,但收到了无法将NaN值添加到列表中的错误。另外,我在理解MultiValue的确切含义方面遇到了麻烦。

我试图运行的代码是:

original_z_spacing = np.abs(patient_data[0].ImagePositionPatient[2]
                            - patient_data[1].ImagePositionPatient[2])
# obtain rescaled HU array
hu_array = get_hounsfield_unit_array(patient_data)

original_spacings = np.array(patient_data[0].PixelSpacing + [original_z_spacing], dtype='float32')  # the error occurs here 

患者数据是包含dicom文件的1595个文件夹的文件夹。我正在Python 3.7和pydicom版本1.4.2上运行此代码。我得到的错误是:

TypeError: unsupported operand type(s) for +: 'MultiValue' and 'list'

我正在尝试将MultiValue添加到列表中。但是我收到一条错误消息,指出我做不到。我也尝试了.append和.extend到列表的多值,但得到的错误是您不能添加NaN ...

python dicom pydicom
1个回答
0
投票

这里有两个问题:MultiValue确实不能添加到列表中,但是可以将其强制转换为list。在PixelSpacing具有VR“ DS”(例如,是作为字符串值编写的,因此您必须先将其转换为浮点型。

© www.soinside.com 2019 - 2024. All rights reserved.