预处理后将多目录图像保存在单个文件中
Posted
技术标签:
【中文标题】预处理后将多目录图像保存在单个文件中【英文标题】:save multi directory images in a single file after preprocessing 【发布时间】:2018-06-21 13:29:06 【问题描述】:我正在处理 DICOM 图像,我有 5 个扫描(文件夹),每个扫描包含多个图像,在对图像进行一些预处理之后,我想使用“np.save”将处理后的图像保存在一个文件中,我下面的代码将每个文件夹保存在一个单独的文件中:
data_path = 'E:/jupyter/test/LIDC-IDRI/'
patients_data = os.listdir(data_path)
for pd in range(len(patients_data)):
full_path = load_scan(data_path + patients_data[pd])
after_pixel_hu = get_pixels_hu(full_path)
after_resample, spacing = resample(after_pixel_hu, full_path, [1,1,1])
np.save(output_path + "images_of_%s_patient.npy" % (patients_data[pd]), after_resample)
load_scan 是一个用于加载(读取)DICOM 文件的函数,我想用这段代码将所有处理过的图像保存在一个文件中,而不是五个文件中,谁能告诉我该怎么做,好吗?
【问题讨论】:
【参考方案1】:首先要注意的是,您将%s
与patients_data[pd]
一起使用。我假设patients_data
是患者姓名的列表,这意味着您正在为每个患者构建不同的输出路径 - 您要求 numpy 将每个处理后的图像保存到新位置。
其次,.npy 可能不是您想要用于您的目的的文件类型,因为它是does not handle appending data。您可能想选择不同的文件类型,然后每次都将np.save()
指向相同的文件路径。
编辑:关于文件类型,pdf 可能是您的最佳选择,其中you can make each of your images a separate page。
【讨论】:
@Balasubramanian 谢谢你的好回答,我知道 %s,我可以随心所欲地玩它,你的第二个答案对我来说是新的,你能告诉我更多关于这个的信息吗?用于此目的的任何其他文件类型? 我想首先我很困惑为什么要将所有图像保存到同一个文件中 - 这似乎会使进一步的处理、查看或分发变得更加困难?将单个图像保存在指定的输出文件夹中还不够吗? 无论如何,我已经编辑了我的原始答案以包含一个带有 .pdf 的选项。希望有帮助! 感谢您的劳累,我想将预处理结果发送到深度学习模型中进行训练,我看看它是否在单个文件中更容易。将文件保存为 .pdf 文件对我来说不是一个好选择。 您能详细说明一下这个深度学习模型吗?如果没有更多信息,我什至不确定为什么单独的图像文件不起作用,因为您可以使用相同的命名约定自动加载许多图像,即使它们位于不同的文件中以上是关于预处理后将多目录图像保存在单个文件中的主要内容,如果未能解决你的问题,请参考以下文章
将多字节数组图像数据合并为一个字节数组数据,并将WriteAllBytes合并为单个图像输出