nnunet(十八) dataset_conversion

 json_dict = OrderedDict()
    json_dict['name'] = "ACDC"#文件夹名称
    json_dict['description'] = "cardias cine MRI segmentation"#描述
    json_dict['tensorImageSize'] = "4D"#数据组织形式
    json_dict['reference'] = "see ACDC challenge"#引用
    json_dict['licence'] = "see ACDC challenge"#许可
    json_dict['release'] = "0.0"#版本
    json_dict['modality'] = {#模式
        "0": "MRI",
    }
    json_dict['labels'] = {#标签
        "0": "background",
        "1": "RV",
        "2": "MLV",
        "3": "LVC"
    }
    json_dict['numTraining'] = len(all_train_files)#训练数据个数
    json_dict['numTest'] = len(all_test_files)#测试数据个数
    json_dict['training'] = [{'image': "./imagesTr/%s.nii.gz" % i.split("/")[-1][:-12], "label": "./labelsTr/%s.nii.gz" % i.split("/")[-1][:-12]} for i in
                             all_train_files]#所有训练数据名称
    json_dict['test'] = ["./imagesTs/%s.nii.gz" % i.split("/")[-1][:-12] for i in all_test_files]#测试数据名称

    save_json(json_dict, os.path.join(out_folder, "dataset.json"))#保存datase.json

    # create a dummy split (patients need to be separated)创建模拟的划分
    splits = []
    patients = np.unique([i[:10] for i in all_train_files])#获取患者文件夹
    patientids = [i[:-12] for i in all_train_files]#获取患者ID

   
 kf = KFold(5, True, 12345)#5折交叉验证,并且打乱数据,设置随机种子点
    for tr, val in kf.split(patients):#获取5折分别对应的训练集和验证集的划分
        splits.append(OrderedDict())#创建一个空的有序字典
        tr_patients = patients[tr]#获取训练数据
        splits[-1]['train'] = [i[:-12] for i in all_train_files if i[:10] in tr_patients]#分配为训练数据
        val_patients = patients[val]#获取验证数据
        splits[-1]['val'] = [i[:-12] for i in all_train_files if i[:10] in val_patients]#分配为验证数据

    save_pickle(splits, "/media/fabian/nnunet/Task027_ACDC/splits_final.pkl")#保存5折划分

这些文件挡住包含了一些数据转换和dataset.json和splits_final.pkl的文件

当然dataset.json的测试文件和相关的描述信息可以没有。而相应的五折交叉验证相关的splits_final.pkl也可以没有。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值