Source code for src.plots.power_spectral_density.power_spectral_density_controller
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Power spectral density controller
"""
from plots.power_spectral_density.power_spectral_density_listener import powerSpectralDensityListener
from plots.power_spectral_density.power_spectral_density_view import powerSpectralDensityView
__author__ = "Lemahieu Antoine"
__copyright__ = "Copyright 2022"
__credits__ = ["Lemahieu Antoine"]
__license__ = "GNU General Public License v3.0"
__maintainer__ = "Lemahieu Antoine"
__email__ = "Antoine.Lemahieu@ulb.be"
__status__ = "Dev"
[docs]class powerSpectralDensityController(powerSpectralDensityListener):
def __init__(self, minimum_time, maximum_time):
"""
Controller for computing the power spectral density on the dataset.
Create a new window for specifying some parameters.
:param minimum_time: Minimum time of the epochs from which the power spectral density can be computed.
:type minimum_time: float
:param maximum_time: Maximum time of the epochs from which the power spectral density can be computed.
:type maximum_time: float
"""
self.main_listener = None
self.power_spectral_density_view = powerSpectralDensityView(minimum_time, maximum_time)
self.power_spectral_density_view.set_listener(self)
self.power_spectral_density_view.show()
[docs] def plot_psd(self, psd_fig, topo_fig):
"""
Send the information to the view for plotting the power spectral density computed.
:param psd_fig: The figure of the actual power spectral density's data computed
:type psd_fig: matplotlib.Figure
:param topo_fig: The figure of the topographies of the actual power spectral density's data computed
:type topo_fig: matplotlib.Figure
"""
self.power_spectral_density_view.plot_psd(psd_fig, topo_fig)
"""
Setters
"""
[docs] def set_listener(self, listener):
"""
Set the main listener so that the controller is able to communicate with the main controller.
:param listener: main listener
:type listener: mainController
"""
self.main_listener = listener