108 lines
4.0 KiB
Python
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) |