summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorTobias Klauser <tobias.klauser@uzh.ch>2013-02-12 15:16:44 +0100
committerTobias Klauser <tobias.klauser@uzh.ch>2013-02-12 15:16:44 +0100
commit00e307ff827229c6f86021b846a9ff1ddf0c5e55 (patch)
treedfdffe07a3dca3203872fd52bf5ac779376157a5 /scripts
parentb9ac39f134ad0be7786269532ec771d611708656 (diff)
scripts/csv2sto.py: Allow to scale y values as well
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/csv2sto.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/scripts/csv2sto.py b/scripts/csv2sto.py
index c43a990..d212494 100755
--- a/scripts/csv2sto.py
+++ b/scripts/csv2sto.py
@@ -14,6 +14,7 @@ import numpy as np
DEFAULT_NAME = 'control'
DEFAULT_MAXTIME = 100.0
+DEFAULT_MAXY = 50.0
def usage():
print("""usage: {} [OPTION...] CSV-FILE... STO-FILE
@@ -22,12 +23,13 @@ def usage():
-m NAMES use names from comma-separated list NAMES to name muscles instead
of CSV file name (# of names in list must match # of CSV files)
-n name of the activation data in sto file (default: {})
- -T N scale time such that it goes from 0.0 to N
+ -T N scale time into range 0.0 to N
+ -Y N scale y values into range 0.0 to N
-h show this help and exit""".format(os.path.basename(sys.argv[0]), DEFAULT_NAME))
def main():
try:
- opts, args = getopt.getopt(sys.argv[1:], "fm:n:hT:")
+ opts, args = getopt.getopt(sys.argv[1:], "fm:n:hT:Y:")
except getopt.GetoptError as err:
print(str(err))
usage()
@@ -41,6 +43,7 @@ def main():
muscles = None
name = DEFAULT_NAME
maxtime = DEFAULT_MAXTIME
+ maxy = DEFAULT_MAXY
for o, a in opts:
if o == '-f':
overwrite = True
@@ -50,6 +53,8 @@ def main():
name = a
elif o == '-T':
maxtime = float(a)
+ elif o == '-Y':
+ maxy = float(a)
elif o == '-h':
usage()
sys.exit(0)
@@ -99,7 +104,9 @@ def main():
print("Writing sto file {} with name {} ({} muscles)".format(f_sto, name, len(fs_csv)))
if maxtime != DEFAULT_MAXTIME:
- print("Scaling to maxtime {}".format(maxtime))
+ print("Scaling to max. time {}".format(maxtime))
+ if maxy != DEFAULT_MAXY:
+ print("Scaling to max. y {}".format(maxy))
fd_sto = open(f_sto, 'w')
fd_sto.write(name + "\n")
@@ -136,6 +143,9 @@ def main():
if maxtime != DEFAULT_MAXTIME:
# Assume default 0-100 time in all input files for now
t = (t / 100.0) * maxtime
+ if maxy != DEFAULT_MAXY:
+ # Assume default 0-50 time in all input files for now
+ y = (y / 50.0) * maxy
times[j,i] = t
vals[j,i] = y