[chronojump] MIF. Added possibility of manual test length in R
- From: Xavier Padullés <xpadulles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] MIF. Added possibility of manual test length in R
- Date: Tue, 24 Oct 2017 16:24:47 +0000 (UTC)
commit 849a34782b1d9ed949f820330fc8ecb2060ce38b
Author: Xavier Padullés <x padulles gmail com>
Date: Tue Oct 24 18:21:20 2017 +0200
MIF. Added possibility of manual test length in R
r-scripts/maximumIsometricForce.R | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
---
diff --git a/r-scripts/maximumIsometricForce.R b/r-scripts/maximumIsometricForce.R
index dfc10f7..23822a2 100644
--- a/r-scripts/maximumIsometricForce.R
+++ b/r-scripts/maximumIsometricForce.R
@@ -605,7 +605,7 @@ getDynamicsFromLoadCellFolder <- function(folderName, resultFileName, export2Pdf
#Finds the sample in which the force start incresing (RFD > 20% of maxRFD)
#and decrease a given percentage of the maximum force.
#The maximum force is calculed from the moving average of averageLength seconds
-getTrimmingSamples <- function(test, rfd, movingAverageForce, averageLength = 0.1, percentChange = 5)
+getTrimmingSamples <- function(test, rfd, movingAverageForce, averageLength = 0.1, percentChange = 5,
testLength = -1)
{
movingAverageForce = getMovingAverageForce(test, averageLength = 0.1)
#maxAverageForce = max(movingAverageForce, na.rm = T)
@@ -620,19 +620,24 @@ getTrimmingSamples <- function(test, rfd, movingAverageForce, averageLength = 0.
startSample = startSample + 1
}
-
- endSample = startSample + 1
- maxAverageForce = movingAverageForce[endSample]
- while(movingAverageForce[endSample] > maxAverageForce*(100 - percentChange) / 100 &
- endSample < length(test$time))
- {
- if(movingAverageForce[endSample] > maxAverageForce)
+ if (testLength <= -1){
+ endSample = startSample + 1
+ maxAverageForce = movingAverageForce[endSample]
+ while(movingAverageForce[endSample] > maxAverageForce*(100 - percentChange) / 100 &
+ endSample < length(test$time))
{
- maxAverageForce = movingAverageForce[endSample]
+ if(movingAverageForce[endSample] > maxAverageForce)
+ {
+ maxAverageForce = movingAverageForce[endSample]
+ }
+ endSample = endSample + 1
}
- endSample = endSample + 1
+ } else if(testLength >= 0 && testLength < 0.1){
+ print("Test interval too short")
+ } else {
+ endSample = which.min(abs(test$time[startSample] + testLength - test$time))
}
-
+
return(list(startSample = startSample, endSample = endSample))
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]