atom-predict/egnn_v2/plot_vor_xj_02(1).py

108 lines
4.0 KiB
Python

import os
import cv2
import glob
import json
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from tqdm import tqdm
from PIL import Image
from core.data import load_data_v2_plot,load_data_v2_plot_jj
from sklearn.metrics import accuracy_score, f1_score, recall_score, precision_score, confusion_matrix
def plot1(json_path, psize=24, img_size=2048):
bg = np.zeros((img_size, img_size)) + 255
bg[0, 0] = 0
points, edge_index, labels, _ = load_data_v2_plot(json_path,max_edge_length=28)
mask_pd = np.zeros((img_size, img_size))
mask_pd[points[:, 0], points[:, 1]] = 1
mask_pd = np.array(mask_pd, np.uint8)
plt.figure(figsize=(9, 9))
plt.imshow(bg, cmap='gray')
h, w = np.where(mask_pd != 0)
plt.scatter(points[:, 1], points[:, 0], s=16, c='#8EB9D9', zorder=2)
#
for idx, (s, e) in enumerate(edge_index.T):
s = points[s]
e = points[e]
plt.plot([s[1], e[1]], [s[0], e[0]], linewidth=1, c='#C0C0C0', zorder=1)
plt.axis('off')
plt.tight_layout()
def plot2(img_path, json_path, psize=40):
# c = ['#84aad0', '#84aad0', '#84aad0']
c = [ '#dfc8a0', '#84aad0','#93ba66']
# c = [ '#dfc8a0','#debd97', '#84aad0']
# c = ['#9BB6CF', '#9BB6CF', '#9BB6CF']
# c = ['#83a2c1', '#9BB6CF', '#9BB6CF']
img = cv2.imread(img_path, 0)
# points, edge_index, labels, _ = load_data_v2_plot(json_path,max_edge_length=25)
points, edge_index, labels, _ = load_data_v2_plot(json_path,max_edge_length=28)
# points, edge_index, labels, _ = load_data_v2_plot_jj(json_path,max_edge_length=31)
mask_pd = np.zeros(img.shape)
# mask_pd = np.zeros((512, 512)) + 256
# mask_pd = np.zeros((w, h)) + 256
mask_pd[points[:, 0], points[:, 1]] = labels + 1
mask_pd = np.array(mask_pd, np.uint8)
plt.figure(figsize=(9, 9))
plt.imshow(img, cmap='gray')
# img = np.array(Image.open(img_path))
# bg = np.zeros_like(img) + 255
# bg[0, 0] = 0
# plt.imshow(bg, cmap='gray')
for idx, (s, e) in enumerate(edge_index.T):
s = points[s]
e = points[e]
plt.plot([s[1], e[1]], [s[0], e[0]], linewidth=1, c='#C0C0C0', zorder=1)
for i in range(3):
h, w = np.where(mask_pd == i + 1)
plt.scatter(w, h, s=psize, c=c[i])
plt.axis('off')
plt.tight_layout()
plt.savefig('2.jpg',dpi=300)
plt.show()
# json_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/xj_gnn/train/raw/train1.json'
# img_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/xj_gnn/train/raw/train1.jpg'
# json_path = '/home/gao/mouclear/cc/data/e2e-xj-adjust/xj-adjust/atom/test-5.json'
# img_path = '/home/gao/mouclear/cc/data/e2e-xj-adjust/xj-adjust/atom/test-5.jpg'
# json_path = '/home/gao/mouclear/cc/data/e2e_xj_final/xj_result/raw/test.json'
# img_path = '/home/gao/mouclear/cc/data/e2e_xj_final/xj_result/raw/test.jpg'
# json_path = '/home/gao/mouclear/cc/data/e2e_xj_final/atom/test.json'
# img_path = '/home/gao/mouclear/cc/data/e2e_xj_final/atom/test.jpg'a,m,,,,,
# json_path = '/home/gao/mouclear/cc/code/pd_2/data/gnn_vor/train/raw/1.json'
# img_path = '/home/gao/mouclear/cc/code/pd_2/data/gnn_vor/train/raw/1.jpg'
json_path = '/home/gao/mouclear/cc/final_todo/fig_50/53-1/xj/after_norm/53-1.json'
img_path = '/home/gao/mouclear/cc/final_todo/fig_50/53-1/xj/after_norm/53-1.jpg'
# json_path = '/home/gao/mouclear/cc/data/e2e-xj-adjust/xj-adjust/atom/another/test.json'
# img_path = '/home/gao/mouclear/cc/data/e2e-xj-adjust/xj-adjust/atom/another/test.jpg'
# json_path = '/home/gao/mouclear/cc/data/edge/point-2.json'
# img_path = '/home/gao/mouclear/cc/data/edge/point-2.jpg'
# json_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/end-to-end-gnn/raw/test.json'
# img_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/end-to-end-gnn/raw/test.jpg'
# # json_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/end-to-end-gnn/gt/test.json'
# img_path = '/home/gao/mouclear/cc/data/end-to-end-result-xj/end-to-end-gnn/gt/test.jpg'
plot2(img_path, json_path)
# plot(img_path, json_path)