复现nnunetv1和nnunetv2过程的区别

ops/2024/12/19 0:41:19/

1. 存放数据集的文件夹data内文件命名及内容不同

 nnunetv1参考:nnUNetv1在linux平台上训练自己的数据集-CSDN博客

2. data.json文件内代码不同

# nnunetv2
# import setuptools
#
# if __name__ == "__main__":
#     setuptools.setup()
#
#
# import json
#
# nnUNet_dir = '/home/chengj/student/lhh/nnU-Net/1/DATASET/'
# # 此路径根据自己实际修改
#
# def sts_json():
#     info = {
#         "channel_names": {
#             "0": "CBCT"
#         },
#         "labels": {
#             "background": 0,
#             "pore": 1
#         },
#         # "training": 194,
#         "numTraining": 194,
#         "file_ending": ".nii.gz"
#     }
#     with open(nnUNet_dir + 'nnUNet_raw/nnUNet_raw_data/Task02_pore/dataset.json',
#               'w') as f:
#         json.dump(info, f, indent=4)
#
# sts_json()# -*- coding: utf-8 -*-
"""
Created on 2023/9/26 10:02
@author: zhengjie
"""
# nnunetv1"""
创建数据集的json
""""""
创建数据集的json
"""import os
import json
from collections import OrderedDictpath_originalData = r"/home/chengj/student/lhh/nnU-Net/1/DATASET/nnUNet_raw/nnUNet_raw_data/Task02_pore"train_real_image = os.listdir((path_originalData + "/imagesTr"))
train_real_label = os.listdir((path_originalData + "/labelsTr"))
test_real_image = os.listdir((path_originalData + "/imagesTs"))# 对文件列表进行排序,以确保image和label一一对应
train_real_image = sorted(train_real_image)
train_real_label = sorted(train_real_label)
test_real_image = sorted(test_real_image)# 打印检查
print(train_real_image)
for idx in range(len(train_real_image)):print({'image': "./imagesTr/%s" % train_real_image[idx],"label": "./labelsTr/%s" % train_real_label[idx]})# 创建json文件内容
json_dict = OrderedDict()
json_dict['name'] = "pore"
json_dict['description'] = "Segmentation"
json_dict['tensorImageSize'] = "3D"
json_dict['reference'] = "see challenge website"
json_dict['licence'] = "see challenge website"
json_dict['release'] = "0.0"
json_dict['modality'] = {"0": "MRI"}# labels键在nnU-Net中应为整数键,值为字符串名称
json_dict['labels'] = {"0": "Background", "1": "pore"}json_dict['numTraining'] = len(train_real_image)
json_dict['numTest'] = len(test_real_image)
json_dict['file_ending'] = '.nii.gz'json_dict['training'] = []
for idx in range(len(train_real_image)):json_dict['training'].append({'image': "./imagesTr/%s" % train_real_image[idx],"label": "./labelsTr/%s" % train_real_label[idx]})json_dict['test'] = ["./imagesTs/%s" % i for i in test_real_image]with open(os.path.join(path_originalData, "dataset.json"), 'w') as f:json.dump(json_dict, f, indent=4, sort_keys=True)


http://www.ppmy.cn/ops/143033.html

相关文章

深度与视差的关系及其转换

深度与视差的关系及其转换 在计算机视觉和立体视觉中,深度和视差是两个重要的概念。理解这两者之间的关系对于实现立体图像处理、三维重建以及深度估计至关重要。在这篇博客中,我们将深入探讨深度和视差的概念,并介绍它们之间的转换关系。 …

docker 搭建在线聊天应用

1、拉取阿里镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/upsnap/vocechat:latest 2、配置docker-compose.yml version: 3 services:vocechat:restart: alwaysports:- 8000:3000container_name: vocechat-servervolumes:- ./data:/home/voc…

【软件设计_设计模式】设计模式代码笔记

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。…

Databend 为什么使用 Rust 开发?

11 月 30 日,Rust China Tour 武汉站在武汉恺德光谷城际酒店举行。本次活动汇聚了来自 Databend、GreptimeDB、华中科技大学的多位 Rust 技术专家和研究者,共同探讨 Rust 语言在前沿技术中的创新应用。Databend 数据库研发工程师张祖前在活动中带来主题演…

详解MySQL在Windows上的安装

目录 查看电脑上是否安装了MySQL 下载安装MySQL 打开MySQL官网,找到DOWNLOADS 然后往下翻,找到MySQL Community(GPL) Downloads>> 然后找到MySQL Community Server 然后下载,选择No thanks,just start my download. 然后双击进行…

跑步训练(蓝桥杯2020试题A)

【问题描述】 小明要进行一个跑步训练。初始时,小明体力充沛,体力值计为10000。小明跑步时每分钟损耗600体力值。小明休息时每分钟增加300体力值。体力值的损耗和增加都是均匀变化的。 小明打算跑一分钟,休息一分钟,再跑一分钟&am…

leetcode69:x的平方根

原题地址:69. x 的平方根 - 力扣(LeetCode) 题目描述 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用…

uniapp 应用的生命周期、页面的生命周期、组件的生命周期

uniapp 作为一款跨平台的移动应用开发框架,其生命周期分为应用生命周期、页面生命周期和组件生命周期。下面分别介绍这三种生命周期的具体内容: 应用生命周期 应用生命周期仅适用于整个应用,在 App.vue 中可以监听到以下生命周期函数&#…