def test_random_state_gauss2d(): """With given random state, the output value should stay the same. Test performs on 2D gaussian. """ dlist = [] motor1 = SynAxis(name='motor1') motor2 = SynAxis(name='motor2') for i in range(2): s = np.random.RandomState(0) noisy_det = Syn2DGauss('noisy_det', motor1, 'motor1', motor2, 'motor2', center=(0, 0), Imax=1, noise='uniform', sigma=1, noise_multiplier=0.1, random_state=s) noisy_det.trigger() d = noisy_det.read()['noisy_det']['value'] dlist.append(d) assert dlist[0] == dlist[1]
def get_2d_det(): """Create a new 2d detector Returns ------- Syn2DGauss object """ x = get_motor() y = get_motor() detname = 'det2d_' + unique_name() det = Syn2DGauss(detname, x, x.name, y, y.name, center=(random.sample(range(-10, 10), 2)), Imax=random.randrange(1, 10), sigma=random.randrange(0, 5), noise=random.choice(['poisson', 'uniform', None]), noise_multiplier=random.random()*5) all_objects.add(det) return det