def cli_sleep(data, hypno, config_file, annotations, downsample, use_mne, preload, show): """Open the graphical user interface of Sleep.""" # File conversion : if data is not None: data = click.format_filename(data) if hypno is not None: hypno = click.format_filename(hypno) if config_file is not None: config_file = click.format_filename(config_file) if annotations is not None: annotations = click.format_filename(annotations) s = Sleep(data=data, hypno=hypno, downsample=downsample, use_mne=use_mne, preload=preload, config_file=config_file, annotations=annotations) if show: s.show()
""" Load EDF file ============= This example demonstrate how to load an EDF file. Required dataset at : https://www.dropbox.com/s/bj1ra95rbksukro/sleep_edf.zip?dl=1 .. image:: ../../picture/picsleep/ex_LoadEDF.png """ import os from visbrain import Sleep from visbrain.io import download_file current_path = os.getcwd() target_path = os.path.join(current_path, 'data', 'edf') download_file('sleep_edf.zip', unzip=True, to_path=target_path) dfile = os.path.join(target_path, 'excerpt2.edf') hfile = os.path.join(target_path, 'Hypnogram_excerpt2.txt') cfile = os.path.join(target_path, 'excerpt2_config.txt') Sleep(data=dfile, hypno=hfile, config_file=cfile).show()
from visbrain.io import download_file, path_to_visbrain_data # Get data path and where to save it : current_path = path_to_visbrain_data() target_path = os.path.join(current_path, 'sleep_data', 'edf') # Download the file : download_file('sleep_edf.zip', unzip=True, to_path=target_path) # Get data path : dfile = os.path.join(target_path, 'excerpt2.edf') # data hfile = os.path.join(target_path, 'Hypnogram_excerpt2.txt') # hypnogram cfile = os.path.join(target_path, 'excerpt2_config.txt') # GUI config # Define an instance of Sleep : sp = Sleep(data=dfile, hypno=hfile, config_file=cfile) ############################################################################### # Define new methods ############################################################################### ############################################################################### # Spindle function # ~~~~~~~~~~~~~~~~ ############################################################################### # # This function does NOT perform a real spindle detection. It's purpose is to # show how to replace the default detection behavior by a custom function. # It just highlights samples between [0, 100], [200, 300] and [400, 500].
import os from visbrain import Sleep from glob import glob import numpy as np fs = 250 source_dir = r'C:\Users\Rory\raw_data\CIT_WAY\eeg_numpy\CIT_WAY_1_2018-05-01_15-59-19_PRE' data = np.load(glob(os.path.join(source_dir, '*.npy'))[0]) path_to_txt = glob(os.path.join(source_dir, '*.txt'))[0] with open(path_to_txt) as f: labs = np.array(f.read().splitlines()) Sleep(data=data, sf=fs, channels=labs).show()
""" Load a BrainVision file ======================= This example demonstrate how to load a BrainVision file. Required dataset at : https://drive.google.com/drive/folders/0B6vtJiCQZUBvRjc3cFFYcmFIeW8?usp=sharing .. image:: ../../picture/picsleep/ex_LoadBrainVision.png """ from visbrain import Sleep Sleep(file='sub-02.eeg', hypno_file='sub-02.hyp', config_file='sub-02_config.txt').show()
from visbrain import Sleep from visbrain.io import download_file, path_to_visbrain_data from visbrain.tests._tests_visbrain import _TestVisbrain # File to load : sleep_file = path_to_visbrain_data('excerpt2.edf') hypno_file = path_to_visbrain_data('Hypnogram_excerpt2.txt') # Download sleep file : if not os.path.isfile(sleep_file): download_file('sleep_edf.zip', unzip=True) onset = np.array([100, 2000, 5000]) # Create Sleep application : sp = Sleep(data=sleep_file, hypno=hypno_file, axis=True, annotations=onset) class TestSleep(_TestVisbrain): """Test sleep.py.""" ########################################################################### # TOOLS ########################################################################### def test_reference_switch(self): """Test function reference_switch.""" for k in [2]: # range(3) sp._ToolsRefMeth.setCurrentIndex(k) sp._fcn_ref_switch() sp._fcn_ref_apply() sp._fcn_ref_chan_ignore()
""" import os from mne import io from visbrain import Sleep from visbrain.io import download_file, path_to_visbrain_data ############################################################################### # LOAD YOUR FILE ############################################################################### current_path = path_to_visbrain_data() target_path = os.path.join(current_path, 'sleep_data', 'brainvision') # Download dataset : download_file("sleep_brainvision.zip", unzip=True, to_path=target_path) dfile = os.path.join(target_path, 'sub-02.vhdr') hfile = os.path.join(target_path, 'sub-02.hyp') # Read raw data using MNE-python : raw = io.read_raw_brainvision(vhdr_fname=dfile, preload=True) # Extract data, sampling frequency and channels names data, sf, chan = raw._data, raw.info['sfreq'], raw.info['ch_names'] # Now, pass all the arguments to the Sleep module : Sleep(data=data, sf=sf, channels=chan, hypno=hfile).show() # Alternatively, these steps can be done automatically by using the 'use_mne' # input argument of sleep # Sleep(data=dfile, hypno=hfile, use_mne=True).show()
.. image:: ../../picture/picsleep/ex_LoadMatlab.png """ import os import numpy as np from scipy.io import loadmat from visbrain import Sleep from visbrain.io import download_file, path_to_visbrain_data ############################################################################### # LOAD YOUR FILE ############################################################################### current_path = path_to_visbrain_data() target_path = os.path.join(current_path, 'sleep_data', 'matlab') # Download matlab file : download_file("sleep_matlab.zip", unzip=True, to_path=target_path) # Load the matlab file : mat = loadmat(os.path.join(target_path, 's2_sleep.mat')) # Get the data, sampling frequency and channel names : raw_data = mat['data'] raw_sf = float(mat['sf']) raw_channels = np.concatenate(mat['channels'].flatten()).tolist() raw_hypno = mat['hypno'].flatten() # Open the GUI : Sleep(data=raw_data, sf=raw_sf, channels=raw_channels, hypno=raw_hypno).show()
# Create a random dataset : sf, nelec, npts = 1000., 8, 100000 data = 10. * np.random.rand(nelec, npts) channels = ['Cz', 'Fz', 'C1', 'C2', 'C3', 'C4', 'F1', 'other'] hypno = np.random.randint(-1, 3, (npts, )) file, hypno_file = None, None onset = np.array([100, 2000, 5000]) # Create Sleep application : app = QtWidgets.QApplication([]) sp = Sleep(file=file, hypno_file=hypno_file, data=data, channels=channels, sf=sf, downsample=100., hypno=hypno, axis=False, hedit=True, annotation_file=onset) class TestSleep(object): """Test sleep.py.""" ########################################################################### # SETTINGS ########################################################################### def test_create_tmp_folder(self): """Create tmp folder.""" if not os.path.exists(path_to_tmp):
""" Load a file using MNE-python ============================ This example shows how to load data using MNE-Python package. https://martinos.org/mne/stable/index.html Install MNE-python : pip install mne A full list of supported format can be found here: https://martinos.org/mne/stable/python_reference.html#reading-raw-data Required dataset at : https://drive.google.com/drive/folders/0B6vtJiCQZUBvRjc3cFFYcmFIeW8?usp=sharing .. image:: ../../picture/picsleep/ex_LoadMNE.png """ from mne import io from visbrain import Sleep raw = io.read_raw_brainvision(vhdr_fname='sub-02.vhdr', preload=True) # Extract data, sampling frequency and channels names data, sf, chan = raw._data, raw.info['sfreq'], raw.info['ch_names'] # Now, pass all the arguments to the Sleep module : Sleep(data=data, sf=sf, channels=chan, hypno_file='sub-02.hyp').show()
""" Load ELAN files =============== This example demonstrate how to load an ELAN file. Required dataset at : https://www.dropbox.com/s/95xvdqivpgk90hg/sleep_elan.zip?dl=1 .. image:: ../../picture/picsleep/ex_LoadElan.png """ import os from visbrain import Sleep from visbrain.io import download_file current_path = os.getcwd() target_path = os.path.join(current_path, 'data', 'elan') # Download dataset : download_file("sleep_elan.zip", unzip=True, to_path=target_path) dfile = os.path.join(target_path, 'sub-02.eeg') hfile = os.path.join(target_path, 'sub-02.hyp') Sleep(data=dfile, hypno=hfile).show()
============== This example demonstrate how to load a .rec file. Required dataset at : https://www.dropbox.com/s/hc18bgn2hlnmiph/sleep_edf.zip?dl=1 .. image:: ../../picture/picsleep/ex_load_rec.png """ import os from visbrain import Sleep from visbrain.io import download_file, path_to_visbrain_data ############################################################################### # LOAD YOUR FILE ############################################################################### current_path = path_to_visbrain_data() target_path = os.path.join(current_path, 'sleep_data', 'rec') # Download the rec file : download_file('sleep_rec.zip', unzip=True, to_path=target_path, remove_archive=True) dfile = os.path.join(target_path, '1.rec') # Open the GUI : Sleep(data=dfile).show()
""" Load a Matlab file ================== This example demonstrate how to load an ELAN file. Required dataset at : https://drive.google.com/drive/folders/0B6vtJiCQZUBvRjc3cFFYcmFIeW8?usp=sharing .. image:: ../../picture/picsleep/ex_LoadMatlab.png """ from visbrain import Sleep import numpy as np from scipy.io import loadmat mat = loadmat('s2_sleep.mat') # Get the data, sampling frequency and channel names : raw_data = mat['data'] raw_sf = float(mat['sf']) raw_channels = np.concatenate(mat['channels'].flatten()).tolist() raw_hypno = mat['hypno'].flatten() Sleep(data=raw_data, sf=raw_sf, channels=raw_channels, hypno=raw_hypno, config_file='s2_config.txt').show()
""" Load ELAN files =============== This example demonstrate how to load an ELAN file. Required dataset at : https://drive.google.com/drive/folders/0B6vtJiCQZUBvRjc3cFFYcmFIeW8?usp=sharing .. image:: ../../picture/picsleep/ex_LoadElan.png """ from visbrain import Sleep Sleep(file='s101_sleep.eeg', hypno_file='s101_hypno.hyp', config_file='s101_config.txt').show()
""" Load EDF file ============= This example demonstrate how to load an EDF file. Required dataset at : https://drive.google.com/drive/folders/0B6vtJiCQZUBvRjc3cFFYcmFIeW8?usp=sharing .. image:: ../../picture/picsleep/ex_LoadEDF.png """ from visbrain import Sleep Sleep(file='excerpt2.edf', hypno_file='Hypnogram_excerpt2.txt', config_file='excerpt2_config.txt').show()