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