예제 #1
0
    def generate_plottable_points_along_line(model:LineModelND, xmin:int,xmax:int, ymin:int, ymax:int):
        """
        Computes points along the specified line model
        The visual range is 
        between xmin and xmax along X axis
            and
        between ymin and ymax along Y axis
        return shape is [[x1,y1],[x2,y2]]
        """
        unit_vector=model.params[1]
        slope=abs(unit_vector[1]/unit_vector[0])
        x_values=None
        y_values=None
        if (slope > 1):
            y_values=np.arange(ymin, ymax,1)
            x_values=model.predict_x(y_values)
        else:        
            x_values=np.arange(xmin, xmax,1)
            y_values=model.predict_y(x_values)

        np_data_points=np.column_stack((x_values,y_values)) 
        return np_data_points
예제 #2
0
def test_line_model_nd_predict():
    model = LineModelND()
    model.params = (np.array([0, 0]), np.array([0.2, 0.8]))
    x = np.arange(-10, 10)
    y = model.predict_y(x)
    assert_almost_equal(x, model.predict_x(y))
예제 #3
0
def test_line_model_predict():
    model = LineModelND()
    model.params = ((0, 0), (1, 1))
    x = np.arange(-10, 10)
    y = model.predict_y(x)
    assert_almost_equal(x, model.predict_x(y))
예제 #4
0
def test_line_modelND_predict():
    model = LineModelND()
    model.params = (np.array([0, 0]), np.array([0.2, 0.98]))
    x = np.arange(-10, 10)
    y = model.predict_y(x)
    assert_almost_equal(x, model.predict_x(y))
예제 #5
0
def test_line_model_predict():
    model = LineModelND()
    model.params = ((0, 0), (1, 1))
    x = np.arange(-10, 10)
    y = model.predict_y(x)
    assert_almost_equal(x, model.predict_x(y))