def test_xf(self): xf0, xf1, yf, a, b, r = 50, 120, 55, 21, 20, 2 data0 = ret.make_ellipse_data_points(xf0, yf, a, b, r, nt=25) data1 = ret.make_ellipse_data_points(xf1, yf, a, b, r, nt=25) data = np.vstack((data0, data1)) model_ransac0, inliers0 = ret.get_ellipse_model_ransac_single_frame( data, xf=xf0, yf=55, rf_lim=2, semi_len_min=19, semi_len_max=None, semi_len_ratio_lim=2, min_samples=5, residual_threshold=10, max_trails=300, ) params00f = (xf0, yf, a, b, r) params01f = ret._ellipse_model_centre_to_focus(*model_ransac0.params, xf0, yf) compare_model_params(params00f, params01f, abs=0.1) model_ransac1, inliers1 = ret.get_ellipse_model_ransac_single_frame( data, xf=xf1, yf=55, rf_lim=2, semi_len_min=19, semi_len_max=None, semi_len_ratio_lim=2, min_samples=5, residual_threshold=10, max_trails=300, ) params10f = (xf1, yf, a, b, r) params11f = ret._ellipse_model_centre_to_focus(*model_ransac1.params, xf1, yf) compare_model_params(params10f, params11f, abs=0.1)
def test_all_inliers(self): xf, yf, a, b, r = 50, 55, 20, 16, 2 data = ret.make_ellipse_data_points(xf, yf, a, b, r, nt=25) model_ransac, inliers = ret.get_ellipse_model_ransac_single_frame( data, xf=50, yf=55, rf_lim=2, semi_len_min=10, semi_len_max=25, semi_len_ratio_lim=2, min_samples=6, residual_threshold=10, max_trails=100, ) params0f = (xf, yf, a, b, r) params1f = ret._ellipse_model_centre_to_focus(*model_ransac.params, xf, yf) assert inliers.all() compare_model_params(params0f, params1f, abs=0.01)
def test_simple(self): data = ret.make_ellipse_data_points(50, 55, 20, 16, 2, nt=15) ret.get_ellipse_model_ransac_single_frame(data)
def test_min_samples_smaller_than_data(self): data = ret.make_ellipse_data_points(50, 55, 20, 16, 2, nt=15) ret.get_ellipse_model_ransac_single_frame(data, min_samples=25)