shreyasvaidya's picture
Upload folder using huggingface_hub
01bb3bb verified
import sys
import scipy.io as sio
import math
import numpy as np
import cv2
import matplotlib
matplotlib.use('agg')
import pylab as plt
from matplotlib import cm
import os
def label2color(label):
label = label.astype(np.uint16)
height, width = label.shape
color3u = np.zeros((height, width, 3), dtype=np.uint8)
unique_labels = np.unique(label)
if unique_labels[-1] >= 2**24:
raise RuntimeError('Error: label overflow!')
for i in range(len(unique_labels)):
binary = '{:024b}'.format(unique_labels[i])
# r g b 3*8 24
r = int(binary[::3][::-1], 2)
g = int(binary[1::3][::-1], 2)
b = int(binary[2::3][::-1], 2)
color3u[label == unique_labels[i]] = np.array([r, g, b])
return color3u
def vis_direction_field(gt_flux):
norm_gt = np.sqrt(gt_flux[1, :, :] ** 2 + gt_flux[0, :, :] ** 2)
angle_gt = 180 / math.pi * np.arctan2(gt_flux[1, :, :], gt_flux[0, :, :])
fig = plt.figure(figsize=(10, 6))
ax1 = fig.add_subplot(121)
ax1.set_title('Norm_gt')
ax1.set_autoscale_on(True)
im1 = ax1.imshow(norm_gt, cmap=cm.jet)
plt.colorbar(im1, shrink=0.5)
ax2 = fig.add_subplot(122)
ax2.set_title('Angle_gt')
ax2.set_autoscale_on(True)
im2 = ax2.imshow(angle_gt, cmap=cm.jet)
plt.colorbar(im2, shrink=0.5)
plt.savefig('1.png')
plt.close(fig)
def vis_flux(vis_image, pred_flux, gt_flux, gt_mask, image_name, save_dir):
vis_image = vis_image.data.cpu().numpy()[0, ...]
pred_flux = pred_flux.data.cpu().numpy()[0, ...]
gt_flux = gt_flux.data.cpu().numpy()[0, ...]
gt_mask = gt_mask.data.cpu().numpy()[0, ...]
image_name = image_name[0]
norm_pred = np.sqrt(pred_flux[1,:,:]**2 + pred_flux[0,:,:]**2)
angle_pred = 180/math.pi*np.arctan2(pred_flux[1,:,:], pred_flux[0,:,:])
norm_gt = np.sqrt(gt_flux[1,:,:]**2 + gt_flux[0,:,:]**2)
angle_gt = 180/math.pi*np.arctan2(gt_flux[1,:,:], gt_flux[0,:,:])
fig = plt.figure(figsize=(10,6))
ax0 = fig.add_subplot(231)
ax0.imshow(vis_image[:,:,::-1])
ax1 = fig.add_subplot(232)
ax1.set_title('Norm_gt')
ax1.set_autoscale_on(True)
im1 = ax1.imshow(norm_gt, cmap=cm.jet)
plt.colorbar(im1,shrink=0.5)
ax2 = fig.add_subplot(233)
ax2.set_title('Angle_gt')
ax2.set_autoscale_on(True)
im2 = ax2.imshow(angle_gt, cmap=cm.jet)
plt.colorbar(im2, shrink=0.5)
ax5 = fig.add_subplot(234)
color_mask = label2color(gt_mask)
ax5.imshow(color_mask)
ax4 = fig.add_subplot(235)
ax4.set_title('Norm_pred')
ax4.set_autoscale_on(True)
im4 = ax4.imshow(norm_pred, cmap=cm.jet)
plt.colorbar(im4,shrink=0.5)
ax5 = fig.add_subplot(236)
ax5.set_title('Angle_pred')
ax5.set_autoscale_on(True)
im5 = ax5.imshow(angle_pred, cmap=cm.jet)
plt.colorbar(im5, shrink=0.5)
plt.savefig(save_dir + image_name + '.png')
plt.close(fig)