# -*- coding:utf-8 -*-
import os.path
from collections import defaultdict, OrderedDict
import json
import numpy as np
import cv2
import json
# /8Tdata/gaofei/data/tomo/tianjin/b1_106/image2/
# /8Tdata/gaofei/data/tomo/tianjin/b2_400/image2/
#json文件
with open('task_3519_0-1650519004.json', 'r', encoding='utf8') as f:
patients = json.load(f) # 此时a是一个字典对象
#从json文件取轮廓,序列号
for patient in patients:
patientID=patient["patientID"]#病人
# 依据json—ID取病人图像数据集
# /8Tdata/gaofei/data/tomo/tianjin/b1_106/image2/
psfiles = os.path.join('./b1_106/image2/', patientID)
pfiles = os.listdir(psfiles)
# ID病人图像数据集排序
pfiles.sort()
nodes=patient["nodes"]
rois=nodes[0]["rois"]
#序列集切片
for roi in rois:
slice_index=roi["slice_index"]#切片序列号
print(patientID,slice_index )
pfile=pfiles[slice_index]#依据slice_index取病人图像
pname=os.path.abspath(pfile).split('/')[-1]
image0_path = os.path.join(os.path.join('./b1_106/image2/', patientID), pname)
imbgr = cv2.imread(image0_path)
edge=roi[edge]#轮廓集合
for i in edge[i]:#轮廓
contours=edge[i]
# 对应画到原图上
cv2.drawContours(imbgr, contours, -1, (20*i, 0, 255-20*i), 1, )
image1_dir=os.path.join('./Breast/b1_106/image/', patientID)
if not os.path.exists(image1_dir):
os.mkdir(image1_dir)
image1_path=os.path.join(image1_dir,pname)
cv2.imwrite(image1_path, imbgr)