学习记录——brats数据处理

数据读取

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值