我有几百张大图像(超过100K x 200K
像素)。我将这些图像分为256 x 256个补丁,并将它们全部存储在具有以下结构的HDF5文件中:
以下是我重新创建此HDF5结构的代码:
def save_to_hdf5(slide_name, patches, coords, labels, db_name , db_location):
with h5py.File(db_location + f'training{db_name}.h5' ,'a') as hf:
patient_index = "_".join(os.path.basename(slide_name).split('.')[0].split('_')[:2])
slide_index = "_".join(os.path.basename(slide_name).split('.')[0].split('_')[3])
slide_label = labels[os.path.basename(slide_name)]
grp = hf.require_group(patient_index)
subgrp = grp.require_group('wsi_{}'.format(slide_index))
for i, patch in enumerate(patches):
subsubgrp = subgrp.require_group('patch_{}'.format(i))
subsubgrp.create_dataset('image', np.shape(patch), data=patch, compression="gzip", compression_opts=7)#, chunks=True)
subsubgrp.create_dataset('label', np.shape(slide_label), data=slide_label)
subsubgrp.attrs["patch_coords"] = (coords[i][0], coords[i][1])
现在,一些大型图像的HDF5文件的大小甚至比原始图像本身还要大。我想知道代码中的组和数据集创建步骤是否有问题
目前没有回答
相关问题 更多 >
编程相关推荐