问题描述
我在一个生物医学项目中为同一患者提供 3 种输入:RTDOSE 文件 (RD)、RTSTRUCT 文件 (RS) 和 CT。所有这些文件都应该协同工作,而且我确实可以在 Slicer 上以 3D 形式正确地将它们可视化。
但是,我必须使用 Python 来完成这个项目,所以我编写了以下 Python 脚本:
import pydicom
from dcmrtstruct2nii import dcmrtstruct2nii
import nibabel as nib
list_ct_names = []
for r,d,f in os.walk(DATADIR):
for file in f:
if "RD." in file:
RD_NAME = os.path.join(r,file)
RD = pydicom.dcmread(RD_NAME)
print("Shape RD =",RD.pixel_array.shape)
for r,f in os.walk(DATADIR):
for file in f:
if "RS." in file:
RS_NAME = os.path.join(r,file)
dcmrtstruct2nii(RS_NAME,r,r)
NII_RS = nib.load(os.path.join(r+"image.nii.gz")).get_fdata()
print("Shape RS = ",NII_RS.shape)
LoadOneCT = True
for r,f in os.walk(DATADIR):
for file in f:
if "CT." in file:
if LoadOneCT:
print("CT shape = ",pydicom.dcmread(os.path.join(r,file)).pixel_array.shape)
LoadOneCT = False
list_ct_names.append(os.path.join(r,file))
print("Number of CT's = ",len(list_ct_names))
我获得的输出如下:
Shape RD = (71,74,71)
Shape RS = (512,512,80)
CT shape = (512,512)
Number of CT's = 80
因此我的问题是: 我如何才能获得相同尺寸的 RD 和 RS 输入?
非常感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)