Example #1
0
def check_expectation_one(exp_class):
    e = exp_class()
    x = np.random.rand(2, 2)
    dt = np.random.rand()
    e.update(x, dt)
    v = e.get_value()
    assert_allclose(v, x)
Example #2
0
def check_efficient_exp(exp_class, sequence):
    """ Checks that the dt is working ok. """
    exp1 = exp_class()
    xs = []
    T = 0
    for x in sequence:
        dt = np.random.rand()
        xs.append(x * dt)
        T += dt
        exp1.update(x, dt=dt)

    es1 = exp1.get_value()
    expected = np.array(xs).sum(axis=0) / T

    assert_allclose(es1, expected)
Example #3
0
def check_my_doubt(exp_class):
    values = [100.0, 200.0]
    mean = 150.0
    
    for nd in [1, 10, 100, 1000, 2000]:
        
        samples = []
        for v in values:
            samples.extend([v] * nd)
        samples = np.array(samples)
    
        ex = exp_class()        
        for s in samples:
            ex.update(np.array([s]))
            
            # print('accum: %10.4f  mass: %10.4f ' % (ex.accum, ex.accum_mass))
            # ex.get_value()
        
            
        result = ex.get_value()
        # print('accum: %10.4f  mass: %10.4f ' % (ex.accum, ex.accum_mass))
                    
        assert_allclose(result, mean)
Example #4
0
def get_uniform_directions(fov_deg, num_sensels):
    """ Returns a set of directions uniform in space """
    if fov_deg == 360:
        ray_dist = 2 * np.pi / (num_sensels)
        directions = np.linspace(-np.pi + ray_dist / 2,
                                 + np.pi - ray_dist + ray_dist / 2,
                                 num_sensels)

        assert_allclose(directions[-1] - directions[0], 2 * np.pi - ray_dist)

        t = np.rad2deg(directions)
        a = t[1:] - t[:-1]
        b = t[0] - t[-1] + 360
        
        
        assert_allclose(a[0], b)

    else:
        fov_rad = np.radians(fov_deg)
        directions = np.linspace(-fov_rad / 2, +fov_rad / 2, num_sensels)

        assert_allclose(directions[-1] - directions[0], fov_rad)
    assert len(directions) == num_sensels
    return directions