示例#1
0
    def start(self):

        # Mock data for this metric
        signal = sine_wave(self.number_points,
                           self.sampling_frequency,
                           self.alpha_amplitude,
                           self.alpha_freq,
                           self.beta_amplitude,
                           self.beta_freq,
                           self.notch_amplitude,
                           self.notch_freq)

        for publisher in self.publishers:
            metrics_to_num_channels = publisher.metrics_to_num_channels()

            # start a thread per metric to not block the main thread
            for (metric_name, num_channels) in metrics_to_num_channels.items():
                data = signal_generator(num_channels,
                                        self.sampling_frequency,
                                        signal)

                t = threading.Thread(target=_publish_data,
                                     args=(publisher, metric_name, data))
                t.daemon = True
                self.threads.append(t)
                t.start()
def main():

    # Sine wave params
    alpha_amplitude = 10.0
    alpha_freq = 10.0
    beta_amplitude = 5.0
    beta_freq = 25.0
    notch_amplitude = 10.0
    notch_freq = 60.0 # Simulate ambiant electrical noise

    # Mock data generator (sine wave)
    sampling_frequency = 250.0  # 1/250 = 0.004 s
    number_points = 250
    signal = sine_wave(number_points, sampling_frequency, alpha_amplitude, alpha_freq,
                       beta_amplitude, beta_freq, notch_amplitude, notch_freq)
    data = signal_generator(num_channels, sampling_frequency, signal)

    # Setup the publisher
    publisher = PikaPublisher(base_routing_key=base_routing_key,
                              rabbitmq_address=rabbitmq_address,
                              rabbitmq_user=rabbitmq_user,
                              rabbitmq_pwd=rabbitmq_pwd)
    publisher.connect()
    publisher.register(metric_name, num_channels, buffer_size)

    # Publish data
    print "Publishing data ..."
    try:
        for datapoint in data:
            publisher.publish(metric_name, datapoint)
    except KeyboardInterrupt:
        publisher.disconnect()
        time.sleep(0.1)
        sys.exit(0)
def main():
    # Params
    sampling_frequency = 250.0  # i.e. 0.004 seconds (=1/250.0)
    alpha_amplitude = 1.0
    alpha_freq = 10.0
    beta_amplitude = 1.0
    beta_freq = 25.0
    notch_amplitude = 10.0
    notch_freq = 60.0
    num_channels = 8
    number_points = 249
    buffer_size = 10
    num_buffers_to_plot = 20

    # Sine wave data
    signal = sine_wave(number_points, sampling_frequency, alpha_amplitude,
                       alpha_freq, beta_amplitude, beta_freq, notch_amplitude,
                       notch_freq)
    data = signal_generator(num_channels, sampling_frequency, signal)

    # plot data
    data_to_plot = []
    buffer = []
    for datapoint in data:
        buffer.append(datapoint)
        data_to_plot.append(datapoint)

        if len(buffer) == buffer_size:
            print buffer
            buffer = []

        if len(data_to_plot) == num_buffers_to_plot * buffer_size:
            plot_data(num_channels, data_to_plot)
            sys.exit(0)
示例#4
0
def main():

    # Sine wave params
    alpha_amplitude = 10.0
    alpha_freq = 10.0
    beta_amplitude = 5.0
    beta_freq = 25.0
    notch_amplitude = 10.0
    notch_freq = 60.0  # Simulate ambiant electrical noise

    # Mock data generator (sine wave)
    sampling_frequency = 250.0  # 1/250 = 0.004 s
    number_points = 250
    signal = sine_wave(number_points, sampling_frequency, alpha_amplitude,
                       alpha_freq, beta_amplitude, beta_freq, notch_amplitude,
                       notch_freq)
    data = signal_generator(num_channels, sampling_frequency, signal)

    # Setup the publisher
    publisher = PikaPublisher(base_routing_key=base_routing_key,
                              rabbitmq_address=rabbitmq_address,
                              rabbitmq_user=rabbitmq_user,
                              rabbitmq_pwd=rabbitmq_pwd)
    publisher.connect()
    publisher.register(metric_name, num_channels, buffer_size)

    # Publish data
    print "Publishing data ..."
    try:
        for datapoint in data:
            publisher.publish(metric_name, datapoint)
    except KeyboardInterrupt:
        publisher.disconnect()
        time.sleep(0.1)
        sys.exit(0)
示例#5
0
    def start(self):

        # Mock data for this metric
        signal = sine_wave(self.number_points, self.sampling_frequency,
                           self.alpha_amplitude, self.alpha_freq,
                           self.beta_amplitude, self.beta_freq,
                           self.notch_amplitude, self.notch_freq)

        for publisher in self.publishers:
            metrics_to_num_channels = publisher.metrics_to_num_channels()

            for (metric_name, num_channels) in metrics_to_num_channels.items():
                data = signal_generator(num_channels, self.sampling_frequency,
                                        signal)

                t = threading.Thread(target=_publish_data,
                                     args=(publisher, metric_name, data))
                t.daemon = True
                self.threads.append(t)
                t.start()
def main():
    # Params
    sampling_frequency = 250.0  # i.e. 0.004 seconds (=1/250.0)
    alpha_amplitude = 1.0
    alpha_freq = 10.0
    beta_amplitude = 1.0
    beta_freq = 25.0
    notch_amplitude = 10.0
    notch_freq = 60.0
    num_channels = 8
    number_points = 249
    buffer_size = 10
    num_buffers_to_plot = 20

    # Sine wave data
    signal = sine_wave(
        number_points,
        sampling_frequency,
        alpha_amplitude,
        alpha_freq,
        beta_amplitude,
        beta_freq,
        notch_amplitude,
        notch_freq,
    )
    data = signal_generator(num_channels, sampling_frequency, signal)

    # plot data
    data_to_plot = []
    buffer = []
    for datapoint in data:
        buffer.append(datapoint)
        data_to_plot.append(datapoint)

        if len(buffer) == buffer_size:
            print buffer
            buffer = []

        if len(data_to_plot) == num_buffers_to_plot * buffer_size:
            plot_data(num_channels, data_to_plot)
            sys.exit(0)