def test_semi_len_max(self): xf, yf, a, b, r = 50, 55, 21, 20, 2 data = ret.make_ellipse_data_points(xf, yf, a, b, r, nt=25) model_ransac0, inliers0 = ret.get_ellipse_model_ransac_single_frame( data, xf=50, yf=55, rf_lim=2, semi_len_min=None, 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_ransac0.params, xf, yf) assert inliers0.all() compare_model_params(params0f, params1f, abs=0.1) model_ransac1, inliers1 = ret.get_ellipse_model_ransac_single_frame( data, xf=50, yf=55, rf_lim=2, semi_len_min=None, semi_len_max=15, semi_len_ratio_lim=2, min_samples=6, residual_threshold=10, max_trails=100, ) assert model_ransac1 is None
def test_yf(self): xf, yf0, yf1, a, b, r = 50, 55, 140, 21, 20, 2 data0 = ret.make_ellipse_data_points(xf, yf0, a, b, r, nt=25) data1 = ret.make_ellipse_data_points(xf, yf1, a, b, r, nt=25) data = np.vstack((data0, data1)) model_ransac0, inliers0 = ret.get_ellipse_model_ransac_single_frame( data, xf=50, yf=yf0, 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 = (xf, yf0, a, b, r) params01f = ret._ellipse_model_centre_to_focus(*model_ransac0.params, xf, yf0) compare_model_params(params00f, params01f, abs=0.1) model_ransac1, inliers1 = ret.get_ellipse_model_ransac_single_frame( data, xf=50, yf=yf1, 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 = (xf, yf1, a, b, r) params11f = ret._ellipse_model_centre_to_focus(*model_ransac1.params, xf, yf1) compare_model_params(params10f, params11f, abs=0.1)