コード例 #1
0
def test_Tree_locations():
    M, N = 300, 200
    FOV = [[-10, 20], [0, 360]]
    L = LG.LGenerator([M, N], field_of_view=FOV)
    L.add_feature(LGF.TreeFeature(phi=0))

    #Test a tree that doesn't appear in the FOV
    #It should be forcibly drawn for now, but this is not desirable
    #TODO - fix trees that are outside the FOV
    FOV = [[-10, 20], [0, 20]]
    L = LG.LGenerator([M, N], field_of_view=FOV)
    L.add_feature(LGF.TreeFeature(phi=-5, distance=100))

    rgb = L.generate()
コード例 #2
0
def test_reset_features():
    M, N = 300, 200
    L = LG.LGenerator([M, N])
    rgb1 = L.generate(seed=1)
    L.reset_canvas()
    rgb2 = L.generate(seed=1)
    npt.assert_equal(rgb1, rgb2)
コード例 #3
0
def test_TreeFeature():
    M, N = 300, 200
    L = LG.LGenerator([M, N])
    L.add_feature(LGF.TreeFeature())
    rgb = L.generate()
    npt.assert_equal(len(rgb), M)
    npt.assert_equal(len(rgb[0]), N)
    npt.assert_equal(len(rgb[0][0]), 3)
    npt.assert_equal(rgb.shape, (M, N, 3))
コード例 #4
0
def test_SkyGradientFeature():
    M, N = 120, 120
    L = LG.LGenerator([M, N])
    L.add_feature(LGF.SkyGradientFeature())
    rgb = L.generate()
    npt.assert_equal(len(rgb), M)
    npt.assert_equal(len(rgb[0]), N)
    npt.assert_equal(len(rgb[0][0]), 3)
    npt.assert_equal(rgb.shape, (M, N, 3))
コード例 #5
0
def test_clear_features():
    import LandscapeGenerator.BackgroundFeatures as LGF

    M, N = 300, 200
    L = LG.LGenerator([M, N])
    L.add_feature(LGF.SkyFeature())
    L.clear_features()
    L.reset_canvas()
    rgb3 = L.generate(seed=1)
    npt.assert_equal(rgb3, np.zeros_like(rgb3))
コード例 #6
0
def test_GrassFeature():
    M, N = 100, 50
    L = LG.LGenerator([M, N])
    L.add_feature(LGF.GrassFeature())

    #Test that this grass feature doesn't generate anything
    L.add_feature(LGF.GrassFeature(theta_boundary=-90))

    rgb = L.generate()
    npt.assert_equal(len(rgb), M)
    npt.assert_equal(len(rgb[0]), N)
    npt.assert_equal(len(rgb[0][0]), 3)
    npt.assert_equal(rgb.shape, (M, N, 3))
コード例 #7
0
def test_SkyFeature():
    M, N = 300, 200
    L = LG.LGenerator([M, N])
    L.add_feature(LGF.SkyFeature())

    #Test that this sky feature doesn't generate anything
    L.add_feature(LGF.SkyFeature(theta_boundary=90))

    rgb = L.generate()
    npt.assert_equal(len(rgb), M)
    npt.assert_equal(len(rgb[0]), N)
    npt.assert_equal(len(rgb[0][0]), 3)
    npt.assert_equal(rgb.shape, (M, N, 3))
コード例 #8
0
def test_assertions():
    #Test pixel dimensions
    with npt.assert_raises(AssertionError):
        LG.LGenerator([0])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([[0]])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200, 300])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([-100, 200])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, -200])
    #Test fields of view
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200], [[0, 10, 20], [10, 20]])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200], [[0, 10], [0, 10, 20]])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200], [[10, 20], [10, 20], [10, 20]])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200], [[0, 0], [0, 10]])
    with npt.assert_raises(AssertionError):
        LG.LGenerator([100, 200], [[0, 10], [0, 0]])
コード例 #9
0
def test_generate():
    M, N = 300, 200
    L = LG.LGenerator([M, N])
    rgb = L.generate()
    npt.assert_equal(len(rgb), M)
    npt.assert_equal(len(rgb[0]), N)
    npt.assert_equal(len(rgb[0][0]), 3)
    npt.assert_equal(rgb.shape, (M, N, 3))

    t, p = L.get_angular_coordinates()
    npt.assert_equal(np.shape(rgb[:, :, 0]), t.shape)
    npt.assert_equal(t.shape, p.shape)
    npt.assert_equal(t.shape, [M, N])

    rgb1 = L.generate(seed=123)
    rgb2 = L.generate(seed=123)
    npt.assert_equal(rgb1, rgb2)
コード例 #10
0
def test_LGenerator():
    #Smoke tests
    L = LG.LGenerator([300, 200])
    L = LG.LGenerator([300, 200], field_of_view=[[-20, 20], [-30, 30]])