From 5da598e9c8a12b330666b3fdbad0be1eafa45216 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 1 Dec 2016 11:23:35 +0100 Subject: [PATCH] Dataprep for Empower data --- rowers/dataprep.py | 9 +++++++++ rowers/interactiveplots.py | 23 ++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 31720733..a9a17c89 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -350,6 +350,15 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, driveenergy = rowdatadf.ix[:,'driveenergy'] drivelength = driveenergy/(averageforce*4.44822) slip = rowdatadf.ix[:,'slip'] + if windowsize > 3: + wash = savgol_filter(wash,windowsize,3) + catch = savgol_filter(catch,windowsize,3) + finish = savgol_filter(finish,windowsize,3) + peakforce = savgol_filter(peakforce,windowsize,3) + averageforce = savgol_filter(averageforce,windowsize,3) + peakforceangle = savgol_filter(peakforceangle,windowsize,3) + driveenergy = savgol_filter(driveenergy,windowsize,3) + drivelength = savgol_filter(drivelength,windowsize,3) data['wash'] = wash data['catch'] = catch data['slip'] = slip diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 12bcbecb..c476e051 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -885,6 +885,11 @@ def interactive_flex_chart2(id=0,promember=0, 'forceratio': 'Average/Peak Drive Force Ratio', 'driveenergy': 'Work per Stroke (J)', 'drivespeed': 'Drive Speed (m/s)', + 'slip': 'Slip (degrees)', + 'catch': 'Catch (degrees)', + 'finish': 'Finish (degrees)', + 'wash': 'Wash (degrees)', + 'peakforceangle': 'Peak Force Angle (degrees)', 'None': '', } @@ -899,12 +904,17 @@ def interactive_flex_chart2(id=0,promember=0, 'drivelength':0.5, 'driveenergy': 0, 'drivespeed': 0, + 'slip': 0, + 'catch': -70, + 'finish': 30, + 'wash': 0, + 'peakforceangle': -20, } yaxmaxima = { 'hr':200, 'spm':45, - 'pace': 1.0e3*90, + 'pace': 1.0e3*75, 'power': 600, 'averageforce':200, 'peakforce':400, @@ -912,9 +922,20 @@ def interactive_flex_chart2(id=0,promember=0, 'drivelength':2.0, 'driveenergy': 1000, 'drivespeed':4, + 'slip': 30, + 'catch': -30, + 'finish': 70, + 'wash': 30, + 'peakforceangle': 20, } rowdata,row = dataprep.getrowdata_db(id=id) + #columns = [xparam,yparam1,yparam2, + # 'ftime','distance','fpace', + # 'power','hr','spm', + # 'time','pace'] + #rowdata = dataprep.getsmallrowdata_db(columns,ids=[id]) + #row = Workout.objects.get(id=id) if rowdata.empty: return "","CSV Data File Not Found"