artiq/artiq/examples/no_hardware/repository/histograms.py

32 lines
930 B
Python
Raw Normal View History

2016-01-13 20:51:53 +08:00
from time import sleep
import numpy as np
from artiq.experiment import *
2016-01-13 20:51:53 +08:00
class Histograms(EnvExperiment):
"""Histograms demo"""
def run(self):
nbins = 50
npoints = 20
bin_boundaries = np.linspace(-10, 30, nbins + 1)
self.set_dataset("hd_bins", bin_boundaries,
broadcast=True, archive=False)
2016-01-13 20:51:53 +08:00
xs = np.empty(npoints)
xs.fill(np.nan)
self.set_dataset("hd_xs", xs,
broadcast=True, archive=False)
2016-01-13 20:51:53 +08:00
self.set_dataset("hd_counts", np.empty((npoints, nbins)),
broadcast=True, archive=False)
2016-01-13 20:51:53 +08:00
for i in range(npoints):
histogram, _ = np.histogram(np.random.normal(i, size=1000),
bin_boundaries)
self.mutate_dataset("hd_counts", i, histogram)
self.mutate_dataset("hd_xs", i, i % 8)
2016-01-13 20:51:53 +08:00
sleep(0.3)