[chronojump] Added AVG and SD to encoder analyze table



commit e2b1932059f7272eff23a93a10e88a1556a90fee
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Nov 2 13:40:37 2015 +0100

    Added AVG and SD to encoder analyze table

 encoder/graph.R             |   41 +++++++++++++++++++++++++++++++++++++++++
 src/gui/encoderTreeviews.cs |   23 ++++++++++++++++++++---
 2 files changed, 61 insertions(+), 3 deletions(-)
---
diff --git a/encoder/graph.R b/encoder/graph.R
index 07d90a1..a455e77 100644
--- a/encoder/graph.R
+++ b/encoder/graph.R
@@ -2965,6 +2965,7 @@ doProcess <- function(options)
                                          curves[,6],           #massExtra
                                          curves[,1],           
                                          curves[,2]-curves[,1],curvesHeight,pafCurves)
+
                        }
 
                        colnames(pafCurves) = c("series","exercise","massBody","massExtra",
@@ -2975,6 +2976,46 @@ doProcess <- function(options)
                                        "meanForce", "maxForce", "maxForceT",
                                        "laterality"
                                        )
+               
+
+                       #Add "AVG" and "SD" when analyzing, not on "curves"
+                       if(op$Analysis != "curves") {
+                               addSD = FALSE
+                               if(length(pafCurves[,1]) > 1)
+                                       addSD = TRUE
+
+                               if(typeof(pafCurves) == "list") {
+                                       #1) AVG
+                                       pafCurves = rbind(pafCurves, 
+                                                         c("","", mean(pafCurves$massBody), 
mean(pafCurves$massExtra),
+                                                           
mean(pafCurves$start),mean(pafCurves$width),mean(pafCurves$height),
+                                                           
mean(pafCurves$meanSpeed),mean(pafCurves$maxSpeed),mean(pafCurves$maxSpeedT),
+                                                           
mean(pafCurves$meanPower),mean(pafCurves$peakPower),mean(pafCurves$peakPowerT),
+                                                           mean(pafCurves$pp_ppt),
+                                                           mean(pafCurves$meanForce), 
mean(pafCurves$maxForce), mean(pafCurves$maxForceT),
+                                                           ""
+                                                           )
+                                                         )
+                                       rownames(pafCurves)[length(pafCurves[,1])] = "AVG"
+
+                                       #2) Add SD if there's more than one data row.
+                                       if(addSD) {     
+                                               pafCurves = rbind(pafCurves, 
+                                                                 c("","", sd(pafCurves$massBody), 
sd(pafCurves$massExtra),
+                                                                   
sd(pafCurves$start),sd(pafCurves$width),sd(pafCurves$height),
+                                                                   
sd(pafCurves$meanSpeed),sd(pafCurves$maxSpeed),sd(pafCurves$maxSpeedT),
+                                                                   
sd(pafCurves$meanPower),sd(pafCurves$peakPower),sd(pafCurves$peakPowerT),
+                                                                   sd(pafCurves$pp_ppt),
+                                                                   sd(pafCurves$meanForce), 
sd(pafCurves$maxForce), sd(pafCurves$maxForceT),
+                                                                   ""
+                                                                   )
+                                                                 )
+                                               rownames(pafCurves)[length(pafCurves[,1])] = "SD"
+                                       }
+                               }
+                       }
+
+                       print(pafCurves)
 
                        write.csv(pafCurves, op$OutputData1, quote=FALSE)
                        #print("curves written")
diff --git a/src/gui/encoderTreeviews.cs b/src/gui/encoderTreeviews.cs
index ba64608..b68d07d 100644
--- a/src/gui/encoderTreeviews.cs
+++ b/src/gui/encoderTreeviews.cs
@@ -889,6 +889,11 @@ public partial class ChronoJumpWindow
        private void RenderNAnalyze (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, 
Gtk.TreeIter iter)
        {
                EncoderCurve curve = (EncoderCurve) model.GetValue (iter, 0);
+
+               if(curve.N == "AVG" || curve.N == "SD") {
+                       (cell as Gtk.CellRendererText).Text = curve.N;
+                       return;
+               }
                
                if(check_encoder_analyze_signal_or_curves.Active && findEccon(false) == "ecS") 
                {
@@ -916,19 +921,31 @@ public partial class ChronoJumpWindow
        private void RenderSeries (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, 
Gtk.TreeIter iter)
        {
                EncoderCurve curve = (EncoderCurve) model.GetValue (iter, 0);
-               (cell as Gtk.CellRendererText).Text = curve.Series;
+
+               if(curve.Series == "NA")
+                       (cell as Gtk.CellRendererText).Text = "";
+               else 
+                       (cell as Gtk.CellRendererText).Text = curve.Series;
        }
 
        private void RenderExercise (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, 
Gtk.TreeIter iter)
        {
                EncoderCurve curve = (EncoderCurve) model.GetValue (iter, 0);
-               (cell as Gtk.CellRendererText).Text = curve.Exercise;
+               
+               if(curve.Exercise == "NA")
+                       (cell as Gtk.CellRendererText).Text = "";
+               else 
+                       (cell as Gtk.CellRendererText).Text = curve.Exercise;
        }
 
        private void RenderLaterality (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, 
Gtk.TreeIter iter)
        {
                EncoderCurve curve = (EncoderCurve) model.GetValue (iter, 0);
-               (cell as Gtk.CellRendererText).Text = curve.Laterality;
+               
+               if(curve.Laterality == "NA")
+                       (cell as Gtk.CellRendererText).Text = "";
+               else 
+                       (cell as Gtk.CellRendererText).Text = curve.Laterality;
        }
 
        private void RenderExtraWeight (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel 
model, Gtk.TreeIter iter)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]