-
Notifications
You must be signed in to change notification settings - Fork 4
Plots
Jelena Banjac edited this page Mar 23, 2020
·
8 revisions
The summary of different plotting methods used.
datapoint = 0
image = data["Projections"][datapoint]
angles = [ float(f"{x:.2f}") for x in data["Angles"][datapoint] ]
title = f'Projection {datapoint}\nAngles {angles}'
plot_projection(image, title)
Reference notebook: Data Generation and Exploration
nrows, ncols = 2, 5
start_row, start_col = 0, 0
images = []
titles = []
cr = [(i, j) for i in range(nrows) for j in range(ncols)]
for i, j in cr:
datapoint = (start_row + i)*(start_col + ncols) + j
image = data["Projections"][datapoint]
image = image + gaussian_noise(shape=image.shape, mean=0, var=0)
angles = [ float(f"{x:.2f}") for x in data["Angles"][datapoint] ]
title = f'Projection {datapoint}\nAngles {angles}'
images.append(image)
titles.append(title)
plot_projections(images, titles, nrows=nrows, ncols=ncols)
Reference notebook: Data Generation and Exploration
# plot 3D interactive ball
plot_euclidean_space(data['Angles'])
Reference notebook: Data Generation and Exploration
plot_rays(data["Angles"], indices=range(100))
Reference notebook: Angle Recovery with Perfect Distances
plot_images(data["Angles"], data["Projections"], indices=range(100), img_size_scale=0.05)
Reference notebook: Angle Recovery with Perfect Distances
idx1 = list(np.random.choice(range(NUM_PROJECTIONS), size=5000))
idx2 = list(np.random.choice(range(NUM_PROJECTIONS), size=5000))
q1_true = euler2quaternion([angles_true[i] for i in idx1])
q2_true = euler2quaternion([angles_true[i] for i in idx2])
dP_values = d_p(q1_true, q2_true)
dQ_values = d_q(q1_true, q2_true)
plot_dP_dQ(dP_values, dQ_values)
Reference notebook: Angle Recovery with Perfect Distances
plot_dP_dQ_density(dP_values, dQ_values)
Reference notebook: Angle Recovery with Perfect Distances
- Z1 axis rotation angle is rotation angle
- Y2 axis rotation angle is tilt angle
- Z3 axis rotation angle is in-plane rotation See image below:
plot_angles_count(data["Angles"])
Reference notebook: Angle Recovery with Perfect Distances
plot_distances_count(angles_predicted, angles_true)
Reference notebook: Angle Recovery with Perfect Distances
TODO:
- plot_one_closest_vs_all_in_euclidean_space
- plot_only_selected_in_euclidean_space
- plot_angles_with_3rd_angle_magnitude
- plot_selected_angles_with_3rd_angle_magnitude