Source code for sensors.yei

'''
Import data saved with YEI-sensors
'''

'''
Author: Thomas Haslwanter
Version: 0.1
Date: May-2016
'''

import pandas as pd
import re

[docs]def get_data(in_file): '''Get the sampling rate, as well as the recorded data. Parameters ---------- in_file : string Filename of the data-file Returns ------- out_list: list Contains the following parameters: - rate - acceleration - angular_velocity - mag_field_direction ''' data = pd.read_csv(in_file) # Generate a simple list of column names newColumns = [] pattern = re.compile('.*%(\w+)\((\w+)\)') for name in data.columns: newColumns.append(pattern.match(name).groups()[1]) data.columns = newColumns # Calculate rate (ChipTime is in microsec) start = data.ChipTimeUS[0] * 1e-6 # microseconds to seconds stop = data.ChipTimeUS.values[-1] * 1e-6 # pandas can't count backwards rate = len(data) / (stop-start) returnValues = [rate] # Extract the columns that you want, by name paramList=['Accel', 'Gyro', 'Compass'] for Expression in paramList: returnValues.append(data.filter(regex=Expression).values) return returnValues