Read edf and detect sleep ========================= This script demonstrates how to read an EDF file and predict sleep stages. Author: Tim Hermans (tim-hermans@hotmail.com). Link to script: `feature_extraction/read_edf_and_detect_sleep.py `_ .. code-block:: python import nnsa Settings. .. code-block:: python # Path to the EDF file. edf_filepath = r'C:\data_temp\test.edf' # Whether to use 4-class sleep staging (True) or 2-class (False). four_class = True # Path to the output file (Excel). output_filepath = r'C:\data_temp\test_sleep.xlsx' Read EEG data from EDF file. .. code-block:: python with nnsa.EdfReader(edf_filepath) as r: # Read (see the EdfReader.read_eeg_dataset() function for explanation of the options). # Returns an EegDataset object, which has some useful methods for processing the EEG. eeg_ds = r.read_eeg_dataset(discontinuous_mode='fill') Sleep staging (for neonates >= 36 weeks PMA). .. code-block:: python # Compute result. if four_class: result = eeg_ds.sleep_stages_robust() else: result = eeg_ds.sleep_stages_cnn(num_classes=2) # The sleep stages are contained in the attribute `df` as a pandas dataframe: df = result.df # Save the results to Excel (or you could also save to csv. by using df.to_csv()). df.to_excel(output_filepath, index=False) print(f'Saved results to {output_filepath}')