数据读取
if overwrite or not os.path.exists(config["data_file"]):
training_files = fetch_training_data_files()
write_data_to_file(training_files, config["data_file"], image_shape=config["image_shape"])
data_file_opened = open_data_file(config["data_file"])
config[“overwrite”] = True在main中调用调用函数fetch_training_data_files
把所有nii文件的路径都保存在training_files里
看下面的fetch_training_data_files()详解
def fetch_training_data_files(data_dir, return_subject_ids=True):
training_data_files = list()
subject_ids = list()
for subject_dir in glob.glob(os.path.join(data_dir, "*", "*")):
subject_ids.append(os.path.basename(subject_dir))
subject_files = list()
for modality in config["all_modalities"]+["truth"]:
subject_files.append(os.path.join(subject_dir, modality + ".nii.gz"))
training_data_files.append(tuple(subject_files))
if return_subject_ids:
return training_data_files, subject_ids
else:
return training_data_files
training_files包含训练数据文件的元组tuple列表。 在每个元组tuple中,几种模式应该以相同的顺序列出。 每个元组中的最后一项必须是带标签的图像(truth)。
例如:
[(‘sub1-T1.nii.gz’, ‘sub1-T2.nii.gz’, ‘sub1-truth.nii.gz’),
(‘sub2-T1.nii.gz’, ‘sub2-T2.nii.gz’, ‘sub2-truth.nii.gz’)]
write_data_to_file 功能是接收一组训练图像并将这些图像写入hdf5文件,在data文件中具体分析
config[“data_file”]是要将hdf5文件写入的位置。其定义为
config["data_file"] = os.path.abspath("brats_data.h5")#返回绝对路径
data_file_opened = open_data_file(config["data_file"])
最后用函数open_data_file()读取table文件的数据.
__file__表示了当前文件的path
os.path.dirname((__file__)就是得到当前文件的绝对路径
os.path.join()函数:连接两个或更多的路径名组件
os.path.dirname(path)功能:去掉文件名,返回目录
先用os.path.dirname返回当前文件(夹)的绝对路径,再用join把他和data,preprocessed连接起来,最后用glob寻找其下的所有图像文件夹,并循环遍历
for subject_dir in glob.glob(os.path.join(os.path.dirname(__file__), "data", "preprocessed", "*", "*")):
创建一个子文件路径来保存preprocessed文件夹下各个图像文件夹里的nii文件的路径
config["all_modalities"] = ["t1", "t1ce", "flair", "t2"]
config["training_modalities"] = config["all_modalities"]
把所有的路径都加到training_data_files里并返回
subject_files.append(os.path.join(subject_dir, modality + ".nii.gz"))
training_data_files.append(tuple(subject_files))
————————————————
版权声明:本文为CSDN博主「liyihao76」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38736504/article/details/106605903