m0_73920182 2023-08-21 22:21 采纳率: 0%
浏览 23
已结题

用3dslicer勾画的nrrd标签文件如何转换为json文件

  • 训练maskRCNN分割肿瘤,要用labelme勾画得到json格式mask文件,但为了勾画方便,我想用3dslicer勾画,然后将nrrd格式的mask转换为json格式。

  • 试过了将nrrd(只用了一层CT)直接格式转换为json(代码如下),但是发现转格式的json文件用labelme程序打不开,报错提示json文件无效。

有没有人能够解决这个,粗暴转格式貌似不行。(小白菜🥬的疑问)

import numpy as np
import json
import nrrd
 
# 加载NRRD文件
data, header = nrrd.read('input.nrrd')
 
# 创建用于存储标签的字典
labels_dict = {}
 
# 遍历所有唯一的标签值
unique_labels = np.unique(data)
for label in unique_labels:
    # 获取标签的坐标
    coordinates = np.argwhere(data == label).tolist()
 
    # 将坐标添加到标签字典中
    labels_dict[str(label)] = coordinates
 
# 将标签字典转换为JSON并保存到文件
with open('output.json', 'w') as f:
    json.dump(labels_dict, f)

  • 写回答

10条回答 默认 最新

  • 影子身后 2023-08-21 22:45
    关注

    如果你知道你要封装的JSON格式,可以采取这种操作

    d = {
        "name": "Jack",
        "children": [{
            'name': key,
            "size": value
            } for key, value in sample.items()]
        }
    j = json.dumps(d, indent=4)
    with open('sample.json', 'w') as f:
        print >> f, j
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月26日
  • 创建了问题 8月21日

悬赏问题

  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)