Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)