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.pyView 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()