Private
Public Access
1
0

added calcdps routine

This commit is contained in:
Sander Roosendaal
2017-09-20 11:18:42 +02:00
parent d95ac01172
commit e689955802
5 changed files with 225 additions and 63 deletions

View File

@@ -95,6 +95,7 @@ columndict = {
'wash':'wash',
'slip':'slip',
'workoutstate':' WorkoutState',
'cumdist':'cum_dist',
}
from scipy.signal import savgol_filter
@@ -1506,7 +1507,6 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
hr = rowdatadf.ix[:,' HRCur (bpm)']
spm = rowdatadf.ix[:,' Cadence (stokes/min)']
cumdist = rowdatadf.ix[:,'cum_dist']
power = rowdatadf.ix[:,' Power (watts)']
averageforce = rowdatadf.ix[:,' AverageDriveForce (lbs)']
drivelength = rowdatadf.ix[:,' DriveLength (meters)']
@@ -1605,6 +1605,11 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
data['hr_max'] = rowdatadf.ix[:,'hr_max']
data['hr_bottom'] = 0.0*data['hr']
try:
tel = rowdatadf.ix[:,' ElapsedTime (sec)']
except KeyError:
rowdatadf[' ElapsedTime (sec)'] = rowdatadf['TimeStamp (sec)']
if barchart:
# time increments for bar chart
time_increments = rowdatadf.ix[:,' ElapsedTime (sec)'].diff()
@@ -1656,18 +1661,50 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
except KeyError:
slip = 0*power
totalangle = finish-catch
effectiveangle = finish-wash-catch-slip
try:
totalangle = finish-catch
effectiveangle = finish-wash-catch-slip
except ValueError:
totalangle = 0*power
effectiveangle = 0*power
if windowsize > 3 and windowsize<len(slip):
wash = savgol_filter(wash,windowsize,3)
slip = savgol_filter(slip,windowsize,3)
catch = savgol_filter(catch,windowsize,3)
finish = savgol_filter(finish,windowsize,3)
peakforceangle = savgol_filter(peakforceangle,windowsize,3)
driveenergy = savgol_filter(driveenergy,windowsize,3)
drivelength = savgol_filter(drivelength,windowsize,3)
totalangle = savgol_filter(totalangle,windowsize,3)
effectiveangle = savgol_filter(effectiveangle,windowsize,3)
try:
wash = savgol_filter(wash,windowsize,3)
except TypeError:
pass
try:
slip = savgol_filter(slip,windowsize,3)
except TypeError:
pass
try:
catch = savgol_filter(catch,windowsize,3)
except TypeError:
pass
try:
finish = savgol_filter(finish,windowsize,3)
except TypeError:
pass
try:
peakforceangle = savgol_filter(peakforceangle,windowsize,3)
except TypeError:
pass
try:
driveenergy = savgol_filter(driveenergy,windowsize,3)
except TypeError:
pass
try:
drivelength = savgol_filter(drivelength,windowsize,3)
except TypeError:
pass
try:
totalangle = savgol_filter(totalangle,windowsize,3)
except TypeError:
pass
try:
effectiveangle = savgol_filter(effectiveangle,windowsize,3)
except TypeError:
pass
velo = 500./p
@@ -1678,17 +1715,20 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
efficiency = efficiency.replace([-np.inf,np.inf],np.nan)
efficiency.fillna(method='ffill')
data['wash'] = wash
data['catch'] = catch
data['slip'] = slip
data['finish'] = finish
data['peakforceangle'] = peakforceangle
data['driveenergy'] = driveenergy
data['drivelength'] = drivelength
data['totalangle'] = totalangle
data['effectiveangle'] = effectiveangle
data['efficiency'] = efficiency
try:
data['wash'] = wash
data['catch'] = catch
data['slip'] = slip
data['finish'] = finish
data['peakforceangle'] = peakforceangle
data['driveenergy'] = driveenergy
data['drivelength'] = drivelength
data['totalangle'] = totalangle
data['effectiveangle'] = effectiveangle
data['efficiency'] = efficiency
except ValueError:
pass
if otwpower:
try:
nowindpace = rowdatadf.ix[:,'nowindpace']