这是我试图在 Python 中完成的工作(请记住,我对 Python 比较陌生):
- 将 DICOM 图像转换为 xyz 坐标列表及其各自的像素值,并将列表导出到 .csv 文件。
- 从上一个任务中生成的 xyz 坐标和像素值列表重新生成相同的图像。
到目前为止,我已经能够读取 dicom 图像并通过使用 pydicom 和 numpy 将它们转换为数组。我还能够通过几个 for 循环提取像素和坐标值,并将该列表导出为 .csv。但是必须有更好的方法来保持某种质量控制,因为当我尝试重新生成图像时(通过使用另一组 for 循环),我没有得到原始图像。
我需要这两个函数在不同的 python 脚本中单独运行。
这是我到目前为止所拥有的:
#Raster through all pixels and copy each value and coordinates to arrays
rc_cntr = 0
for r in range(0,img_rows):
for c in range(0,img_cols):
pixel = dcmarray[r, c]
rArray[rc_cntr] = r
cArray[rc_cntr] = c
zArray[rc_cntr] = z_cntr
imgArray[rc_cntr] = dcmarray[r,c]
rc_cntr = rc_cntr + 1;
#Combine arrays into one file
XYZV = numpy.column_stack([rArray,cArray,zArray, imgArray])
numpy.savetxt(output_path,XYZV,'%0i','\t') #Save XYZV files for each image
对此问题的任何帮助将不胜感激。
干杯 AFH