Skip to content

Commit

Permalink
Merge pull request #270 from hugohadfield/tool_fixes
Browse files Browse the repository at this point in the history
Tool fixes
  • Loading branch information
hugohadfield committed Mar 9, 2020
2 parents f20c21a + ca3f6aa commit 737c029
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions clifford/tools/g3c/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -609,8 +609,8 @@ def val_midpoint_between_lines(L1_val, L2_val):
"""
L3 = val_normalised(L1_val + L2_val)
Ldd = val_normalised(L1_val - L2_val)
S = val_normalised(gmt_func(I5_val, val_get_line_intersection(L3, Ldd)))
return val_normalise_n_minus_1(gmt_func(S, gmt_func(ninf_val, S)))
S = val_get_line_intersection(L3, Ldd)
return val_normalise_n_minus_1(project_val(gmt_func(S, gmt_func(ninf_val, S)), 1))


def midpoint_between_lines(L1, L2):
Expand Down
14 changes: 10 additions & 4 deletions clifford/tools/g3c/object_fitting.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,20 @@ def val_fit_circle(point_list):
e_vals, e_vecs = np.linalg.eig(accumulator_matrix)
# Find the smallest and second smallest non negative eigenvalues
min_eval = np.inf
min_eval2 = np.inf
min_eval_index = -1
min_eval_index2 = -1
for i in range(len(e_vals)):
this_e_val = e_vals[i]
if this_e_val < min_eval and this_e_val > 0:
min_eval = this_e_val
min_eval_index2 = min_eval_index
min_eval_index = i
if this_e_val > 0:
if this_e_val < min_eval:
min_eval2 = min_eval
min_eval = this_e_val
min_eval_index2 = min_eval_index
min_eval_index = i
elif this_e_val < min_eval2:
min_eval2 = this_e_val
min_eval_index2 = i
best_sphere = val_normalised(mask1@np.real(e_vecs[:, min_eval_index]))
second_best_sphere = val_normalised(mask1@np.real(e_vecs[:, min_eval_index2]))
best_circle = val_normalised(mask3@dual_func(omt_func(best_sphere, second_best_sphere)))
Expand Down

0 comments on commit 737c029

Please sign in to comment.