def test_emg_plot(): sampling_rate = 1000 emg = nk.emg_simulate(duration=10, sampling_rate=1000, burst_number=3) emg_summary, _ = nk.emg_process(emg, sampling_rate=sampling_rate) # Plot data over samples. nk.emg_plot(emg_summary) # This will identify the latest figure. fig = plt.gcf() assert len(fig.axes) == 2 titles = ["Raw and Cleaned Signal", "Muscle Activation"] for (ax, title) in zip(fig.get_axes(), titles): assert ax.get_title() == title assert fig.get_axes()[1].get_xlabel() == "Samples" np.testing.assert_array_equal(fig.axes[0].get_xticks(), fig.axes[1].get_xticks()) plt.close(fig) # Plot data over time. nk.emg_plot(emg_summary, sampling_rate=sampling_rate) # This will identify the latest figure. fig = plt.gcf() assert fig.get_axes()[1].get_xlabel() == "Time (seconds)"
plot = nk.rsp_plot(signals, sampling_rate=250) plot.set_size_inches(10, 6, forward=True) plot.savefig("README_rsp.png", dpi=300, h_pad=3) # ============================================================================= # Electromyography (EMG) processing # ============================================================================= # Generate 10 seconds of EMG signal (recorded at 250 samples / second) emg = nk.emg_simulate(duration=10, sampling_rate=250, burst_number=3) # Process it signals, _ = nk.emg_process(emg, sampling_rate=250) # Visualise the processing nk.emg_plot(signals, sampling_rate=250) # Save it plot = nk.emg_plot(signals, sampling_rate=250) plot.set_size_inches(10, 6, forward=True) plot.savefig("README_emg.png", dpi=300, h_pad=3) # ============================================================================= # Photoplethysmography (PPG/BVP) # ============================================================================= # Generate 15 seconds of PPG signal (recorded at 250 samples / second) ppg = nk.ppg_simulate(duration=15, sampling_rate=250, heart_rate=70, random_state=333)