[chronojump] Run encoder export R code
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Run encoder export R code
- Date: Wed, 3 Mar 2021 10:44:18 +0000 (UTC)
commit d6387c6a02aec52b487339ab10f75fa3efdd56cf
Author: Xavier de Blas <xaviblas gmail com>
Date: Wed Mar 3 11:43:22 2021 +0100
Run encoder export R code
r-scripts/sprintEncoder.R | 82 ++++++++++++++++++++++++++++++++++++-----------
1 file changed, 63 insertions(+), 19 deletions(-)
---
diff --git a/r-scripts/sprintEncoder.R b/r-scripts/sprintEncoder.R
index a7e13f4e..e40bebbe 100644
--- a/r-scripts/sprintEncoder.R
+++ b/r-scripts/sprintEncoder.R
@@ -16,7 +16,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Copyright (C) 2018-2020 Xavier Padullés <x padulles gmail com>
-# Copyright (C) 2020 Xavier de Blas <xaviblas gmail com>
+# Copyright (C) 2020-2021 Xavier de Blas <xaviblas gmail com>
#-------------- get params -------------
@@ -57,7 +57,10 @@ assignOptions <- function(options) {
plotRawPower = as.logical(options[19]),
plotFittedPower = as.logical(options[20]),
triggersOnList = as.numeric(unlist(strsplit(options[21], "\\;"))),
- triggersOffList = as.numeric(unlist(strsplit(options[22], "\\;")))
+ triggersOffList = as.numeric(unlist(strsplit(options[22], "\\;"))),
+ singleOrMultiple = options[23],
+ decimalCharAtExport = options[24],
+ includeImagesOnExport = options[25]
))
}
@@ -254,15 +257,15 @@ plotSprintFromEncoder <- function(sprintRawDynamics, sprintFittedDynamics,
triggersOff = "",
plotRawMeanSpeed = TRUE,
plotRawSpeed = TRUE,
- plotRawAccel = op$plotRawAccel,
- plotRawForce = op$plotRawForce,
+ plotRawAccel,
+ plotRawForce,
plotMeanRawForce = TRUE,
- plotRawPower = op$plotRawPower,
+ plotRawPower,
plotMeanRawPower = TRUE,
plotFittedSpeed = TRUE,
- plotFittedAccel = op$plotFittedAccel,
- plotFittedForce = op$plotFittedForce,
- plotFittedPower = op$plotFittedPower,
+ plotFittedAccel,
+ plotFittedForce,
+ plotFittedPower,
startAccel,
plotStartDetection = TRUE)
{
@@ -700,12 +703,17 @@ tryNLS <- function(data){
)
}
-testEncoderCJ <- function(filename, testLength, mass, personHeight, tempC, startAccel)
+testEncoderCJ <- function(filename, testLength, splitLength, mass, personHeight, tempC, device, title,
datetime, startAccel)
{
- sprintRawDynamics = getSprintFromEncoder(filename, testLength, op$mass, op$tempC, op$personHeight,
Vw = 0, device = op$device, startAccel)
- # print("sprintRawDynamics:")
- # print(sprintRawDynamics)
- if (sprintRawDynamics$longEnough & sprintRawDynamics$regressionDone)
+ sprintRawDynamics = getSprintFromEncoder(filename, testLength, mass, tempC, personHeight, Vw = 0,
device = device, startAccel)
+ #print("sprintRawDynamics:")
+ #print(sprintRawDynamics)
+ #print("sprintRawDynamics$longEnough")
+ #print(sprintRawDynamics$longEnough)
+ #print("sprintRawDynamics$regressionDone")
+ #print(sprintRawDynamics$regressionDone)
+
+ if (sprintRawDynamics$longEnough && sprintRawDynamics$regressionDone)
{
print(paste("Vmax:", sprintRawDynamics$Vmax))
sprintFittedDynamics = getDynamicsFromSprint(K = sprintRawDynamics$K, Vmax =
sprintRawDynamics$Vmax, Mass = mass, T0 = 0, Temperature = tempC, Height = personHeight)
@@ -719,9 +727,9 @@ testEncoderCJ <- function(filename, testLength, mass, personHeight, tempC, start
# print("triggersOff in testEncoderCJ:")
print(op$triggersOffList)
plotSprintFromEncoder(sprintRawDynamic = sprintRawDynamics, sprintFittedDynamics =
sprintFittedDynamics,
- splitLength = op$splitLength,
- title = op$title,
- subtitle = op$datetime,
+ splitLength = splitLength,
+ title,
+ datetime, #subtitle
triggersOn = op$triggersOnList,
triggersOff = op$triggersOffList,
plotRawMeanSpeed = TRUE,
@@ -742,6 +750,42 @@ testEncoderCJ <- function(filename, testLength, mass, personHeight, tempC, start
print("Couldn't calculate the sprint model")
}
-prepareGraph(op$os, pngFile, op$graphWidth, op$graphHeight)
-testEncoderCJ(op$filename, op$testLength, op$mass, op$personHeight, op$tempC, op$startAccel)
-endGraph()
+start <- function(op)
+{
+ if(op$singleOrMultiple == "TRUE")
+ {
+ prepareGraph(op$os, pngFile, op$graphWidth, op$graphHeight)
+ testEncoderCJ(op$filename, op$testLength, op$splitLength, op$mass, op$personHeight, op$tempC,
op$device, op$title, op$datetime, op$startAccel)
+ endGraph()
+ return()
+ }
+
+ #op$singleOrMultiple == "FALSE"
+
+ #exportNames = c("Name","Date","Time","Exercise","result?")
+ #if(op$includeImagesOnExport)
+ #exportNames = c(exportNames, "Image")
+
+ #2) read the csv
+ dataFiles = read.csv(file = paste(tempPath, "/cj_race_analyzer_input_multi.csv", sep=""), sep=";",
stringsAsFactors=F)
+
+ #3) call doProcess
+ progressFolder = paste(tempPath, "/chronojump_race_analyzer_progress", sep ="")
+ tempGraphsFolder = paste(tempPath, "/chronojump_race_analyzer_graphs/", sep ="")
+
+ for(i in 1:length(dataFiles[,1]))
+ {
+ print("fullURL")
+ print(as.vector(dataFiles$fullURL[i]))
+
+ pngFile <- paste(tempGraphsFolder, i, ".png", sep="") #but remember to graph also when model
fails
+ prepareGraph(op$os, pngFile, op$graphWidth, op$graphHeight)
+ testEncoderCJ(as.vector(dataFiles$fullURL[i]), dataFiles$testLength[i],
dataFiles$splitLength[i],
+ dataFiles$mass[i], dataFiles$personHeight[i], dataFiles$tempC[i],
+ dataFiles$device[i], dataFiles$title[i], dataFiles$datetime[i],
+ op$startAccel)
+ endGraph()
+ }
+}
+
+start(op)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]