DataHandling module

DataHandling.MissingTimeline(data, side, days=None, filtered=None)[source]

Checks missing points in timeline (missing point: when difference between points is >= than 11 minutes) and returns a new corrected timeline dict, correcting missing LFP values through mean interpolation.

new_dic = {

'X': corrected timeline, 'Y': corrected LFP, 'X_missing': missing timeline points, 'Y_missing': missing LFP values}

Parameters:

Data -- dict, from DataHandling.getData()

Paam side:

str

Returns:

dict

DataHandling.add_utc_conversion_to_dates(data, offset)[source]

Recursively convert all 'Date'-related fields to UTC with offset (time-shifted). Assumes naive datetimes are in the specified local timezone.

Parameters:
  • Data -- dict, from DataHandling.getData(), from DataHandling.getData()

  • offset --

DataHandling.correctMissingTimeline(Data, Timeline, axis='X', days=None, filtered=None)[source]

Corrects timeline recordings for both hemispheres.

Parameters:
  • Data -- dict, from DataHandling.getData()

  • Timeline -- dict

  • axis -- str

Returns:

dict, corrected Timeline dict

DataHandling.extract_time_offset(Data, string=False)[source]

Get time offset, from organized Data dictionary.

Parameters:
  • Data -- dict, from DataHandling.getData()

  • string -- boolean, default to False. If true returns string of the time offset, else returns timedelta object of time offset.

Returns:

timedelta/string

DataHandling.getBatteryInfo(Data)[source]

Returns battery information.

Parameters:

Data -- dict, from DataHandling.getData()

DataHandling.getData(file_path)[source]

Creates organized dictionary with information in JSON file. Dictionary has 7 main keys, organized by the recording modes and device information. Data = {

'Device': all information relative to device, stimulation, programming, session metadata, battery and electrode status, 'Survey': recording data from BrainSense Survey (TD and PSD), 'Setup': recording data from BrainSense Setup (Stimulation ON/OFF and PSD artifact checking), 'Streaming': recording data from BrainSense Streaming (Stimulation ON/OFF), 'Indefinite': recording data from BrainSense Indefinite Streaming, 'Events': at-home marked events, recorded 30s PSD, 'Timeline': at-home LFP recordings,

}

Parameters:

file_path -- str, path to JSON file.

Returns:

dict

DataHandling.getDeviceInfo(Data)[source]

Returns device information.

Parameters:

Data -- dict, from DataHandling.getData()

DataHandling.getEventLog(Data)[source]

Returns log of marked events.

Parameters:

Data -- dict, from DataHandling.getData()

DataHandling.getEventSummary(Data)[source]

Returns event summary (number of occurences of each event).

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

dict

DataHandling.getEventsElectrodes(data)[source]

Returns active electrodes at beginning and end, for at-home recordings.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

list, [initial, final]

DataHandling.getImpedance(Data)[source]

Returns monopolar and bipolar impedance test results, per hemisphere.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

list, [status (str), Left (dict), Right (dict)]

DataHandling.getLastSessionDate(Data)[source]

Returns date of previous session.

Parameters:

Data -- dict, from DataHandling.getData()

DataHandling.getModeSignals(Data, mode)[source]

Returns signals of respective mode, from Data dictionary.

Parameters:
  • Data -- dict, from DataHandling.getData()

  • mode -- str

Returns:

list

DataHandling.getModes(Data)[source]

Gets recording modes present in Data dictionary. Verifies if Data is empty or damaged (with recordings available).

Modes:
  • Survey

  • Setup

  • Indefinite (Streaming)

  • Streaming

  • Timeline

  • Events

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

list

DataHandling.getPatientInfo(Data)[source]

Returns patient information.

Parameters:

Data -- dict, from DataHandling.getData().

DataHandling.getRecordingDuration(mode, recording)[source]

Returns recording duration.

Parameters:
  • mode -- str

  • recording -- dict

Returns:

float

DataHandling.getSessionDate(Data)[source]

Returns string of session date.

Parameters:

Data -- dict, from DataHandling.getData()

DataHandling.getSessionDuration(Data)[source]

Gets session duration.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

int

DataHandling.getSignals(Data, mode)[source]

Returns signals in respective mode, properly handled into a clean dictionary.

dict = {

'Date': utl.parse_datetime(rec['FirstPacketDateTime']), 'Channel': rec['Channel'], 'Y' : raw, 'X': time_array

}

Parameters:
  • Data -- dict, from DataHandling.getData()

  • mode -- str

Returns:

list, list of signal's dictionaries.

DataHandling.getStimStatus(Data)[source]

Gets status (ON/OFF) of stimulation, from beginning and end of recording session.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

tuple, (initial,final)

DataHandling.getStimulation(Data, side='Right')[source]

Returns at-home stimulation amplitude.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

dict

DataHandling.getStreamingStimulation(Data, date)[source]

Returns active stimulation group.

Parameters:
  • Data -- dict, from DataHandling.getData()

  • date -- str

Returns:

str

DataHandling.getStreamingStimulationValues(data)[source]

Returns streaming stimulation amplitude.

Parameters:

Data -- dict, from DataHandling.getData()

Returns:

str (status), dict (right amplitude), dict (left amplitude)

DataHandling.info_electrodes(data, version='Initial', side=0)[source]

Return information of the active electrodes from TIMELINE mode side 0 - Left; side 1 - Right

Parameters:
  • Data -- dict, from DataHandling.getData(), reorganized using DataHandling.getData()

  • version -- str, default to 'Initial'. Access to version configuration

  • side -- int, default to 0 ('Left')

Returns:

dict