Episode 1: Paradigm Presenter
In this episode, you learn how to use Paradigm Presenter with g.Pype.
Note
This page is still under development. Until we have the step-by-step instructions ready, please refer to the code example below.
File example_paradigm_presenter.py – View file on GitHub
1import os
2
3import gpype as gp
4
5parent_dir = os.path.dirname(os.path.abspath(__file__))
6paradigm_root_folder = os.path.join(parent_dir, "paradigms")
7fs = 250
8
9if __name__ == "__main__":
10
11 # main app
12 app = gp.MainApp()
13
14 # pipeline
15 p = gp.Pipeline()
16
17 # signal generator
18 source = gp.Generator(
19 sampling_rate=fs,
20 channel_count=8,
21 signal_frequency=10,
22 signal_amplitude=10,
23 signal_shape="sine",
24 noise_amplitude=10,
25 )
26
27 # presenter trigger via UDP
28 trigger = gp.UDPReceiver()
29
30 # router
31 router = gp.Router(input_selector=[gp.Router.ALL, gp.Router.ALL])
32
33 # scope
34 mk = gp.TimeSeriesScope.Markers
35 markers = [
36 mk(color="r", label="task 1", channel=8, value=1),
37 mk(color="b", label="task 2", channel=8, value=2),
38 mk(color="k", label="task 3", channel=8, value=3),
39 ]
40 scope = gp.TimeSeriesScope(
41 amplitude_limit=30, time_window=10, markers=markers
42 )
43
44 # connect nodes
45 p.connect(source, router["in1"])
46 p.connect(trigger, router["in2"])
47 p.connect(router, scope)
48
49 # presenter
50 presenter = gp.ParadigmPresenter(paradigm_root_folder)
51
52 # add widgets
53 app.add_widget(presenter)
54 app.add_widget(scope)
55
56 # start pipeline and main app
57 p.start()
58 app.run()
59 p.stop()