Data Preprocessing

Dont forget!

source

interpolate_nan_clip


def interpolate_nan_clip(
    x, physiological_range_clip:NoneType=None, percentile_clip:NoneType=None, return_mask_only:bool=False
):

Function to clip outliers based on percentiles or physiological range and then interpolate nearby values


source

calculate_samples_mp


def calculate_samples_mp(
    zarr_files, channels, frequency, sample_seq_len_sec, stride_sec, start_offset_sec:NoneType=None,
    max_seq_len_sec:NoneType=None, include_partial_samples:bool=True, constant_nan_tolerance:float=1.0,
    require_all_channels:bool=True, min_seq_len_sec:NoneType=None, constant_channels:NoneType=None
):

Multiprocessing function to generate samples


source

calculate_samples


def calculate_samples(
    zarr_file, channels, frequency, sample_seq_len_sec, stride_sec, start_offset_sec:NoneType=None,
    max_seq_len_sec:NoneType=None, include_partial_samples:bool=True, require_all_channels:bool=True,
    constant_nan_tolerance:float=1.0, min_seq_len_sec:NoneType=None, constant_channels:NoneType=None
):

Function to create a dataframe of samples and their sequence indices


source

check_signal_not_constant


def check_signal_not_constant(
    channel_data, constant_tolerance:float=1.0
):

Function to check if a signal is NOT constant. This works for NaNs and constant values.


source

check_hypnograms_mp


def check_hypnograms_mp(
    zarr_files, required_stages:list=[0, 1, 2, 3, 4], constant_tolerance:float=1.0
):

Multiprocessing function to check hypnograms


source

check_hypnogram


def check_hypnogram(
    zarr_file, required_stages:list=[0, 1, 2, 3, 4], constant_tolerance:float=1.0
):

Function to check if a hypnogram contains all required stages and is not constant