Skip to content

Commit 77f5fb8

Browse files
committed
MAINT: make ellipse fitting forward compatible
1 parent b3b128c commit 77f5fb8

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/skimage/measure/fit.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,16 @@ def _estimate(self, data, warn_only=True):
904904
# from this equation [eqn. 28]
905905
eig_vals, eig_vecs = np.linalg.eig(M)
906906

907+
# https://github.com/scikit-image/scikit-image/issues/7013
908+
if np.any(eig_vals.imag != 0) or np.any(eig_vecs.imag != 0):
909+
raise TypeError(
910+
"Non-real eigvalues/eigvec are not currently supported. Please "
911+
"report the reproducer to "
912+
"https://github.com/scikit-image/scikit-image/issues/7013"
913+
)
914+
eig_vals = eig_vals.real
915+
eig_vecs = eig_vecs.real
916+
907917
# eigenvector must meet constraint 4ac - b^2 to be valid.
908918
cond = 4 * np.multiply(eig_vecs[0, :], eig_vecs[2, :]) - np.power(
909919
eig_vecs[1, :], 2

0 commit comments

Comments
 (0)