Skip to content

Commit

Permalink
Merged in fix_output (pull request #6)
Browse files Browse the repository at this point in the history
fix: reset eurobench pi format and update reference pis
  • Loading branch information
aremazeilles authored and cdemarchis committed Feb 9, 2022
2 parents 226f7ed + 5e09500 commit d808382
Show file tree
Hide file tree
Showing 23 changed files with 91 additions and 65 deletions.
6 changes: 5 additions & 1 deletion Eurobench_format_code/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ RUN apt-get update \
RUN wget -O signal-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=signal-1.4.1.tar.gz \
&& wget -O control-3.2.0.tar.gz https://octave.sourceforge.io/download.php?package=control-3.2.0.tar.gz \
&& wget -O io-2.4.12.tar.gz https://octave.sourceforge.io/download.php?package=io-2.4.12.tar.gz \
&& wget -O statistics-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=statistics-1.4.1.tar.gz
&& wget -O statistics-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=statistics-1.4.1.tar.gz \
&& wget -O mapping-1.4.1.tar.gz https://octave.sourceforge.io/download.php?package=mapping-1.4.1.tar.gz \
&& wget -O matgeom-1.2.2.tar.gz https://octave.sourceforge.io/download.php?package=matgeom-1.2.2.tar.gz \
&& wget -O geometry-4.0.0.tar.gz https://octave.sourceforge.io/download.php?package=geometry-4.0.0.tar.gz


ADD Eurobench_format_code/package_install.m package_install.m
RUN pwd; ls
Expand Down
3 changes: 3 additions & 0 deletions Eurobench_format_code/package_install.m
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
pkg install io-2.4.12.tar.gz;
pkg install statistics-1.4.1.tar.gz;
pkg install signal-1.4.1.tar.gz;
pkg install matgeom-1.2.2.tar.gz
pkg install geometry-4.0.0.tar.gz;
pkg install mapping-1.4.1.tar.gz;
4 changes: 2 additions & 2 deletions Eurobench_format_code/run_bench_5sts_pi
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ is_ok = 0;

try
computePI_5sts(arg_list{1}, arg_list{2}, arg_list{3});
catch err
warning(err.identifier, err.message);
catch
printf("Error: %s\n", lasterr);
is_ok = 1;
end_try_catch

Expand Down
29 changes: 14 additions & 15 deletions Eurobench_format_code/src/computePI_30sts.m
Original file line number Diff line number Diff line change
Expand Up @@ -55,41 +55,40 @@

protocol = false;


disp("so far so good")

%computes the PIs

sts_metrics = calculate_sts_metrics(data, kinematics, fsamp, protocol);

sts_metrics
types = {"scalar\n", "array of scalars\n", "vector\n"};

labels = strcat("",'\n');
filename = strcat(result_dir, "/", "30sSTS_repetitions", ".yaml")
store_vector(filename, sts_metrics{1}, labels, types{1});
store_scalar(filename, sts_metrics{1});

labels = strcat("{Flexion Momentum, Momentum Transfer, Extension}",'\n');
labels = "[Flexion Momentum, Momentum Transfer, Extension]"
filename = strcat(result_dir, "/", "subphases_duration", ".yaml")
store_vector(filename, sts_metrics{2}, labels, types{2});
store_vector(filename, sts_metrics{2}, labels);

labels = strcat("",'\n');
labels = "";
filename = strcat(result_dir, "/", "CoP_stability", ".yaml")
store_vector(filename, sts_metrics{3}, labels, types{1});
reshape(sts_metrics{3}, 1, 2)
store_vector(filename, reshape(sts_metrics{3}, 1, 2), labels);

labels = strcat("",'\n');
filename = strcat(result_dir, "/", "ult_time", ".yaml")
store_vector(filename, sts_metrics{4}, labels, types{1});
store_scalar(filename, sts_metrics{4});

labels = strcat("{antero-posterior, medio-lateral}",'\n');
labels = "[antero-posterior, medio-lateral]";
filename = strcat(result_dir, "/", "ult_overshoot", ".yaml")
store_vector(filename, sts_metrics{5}, labels, types{2});
store_vector(filename, sts_metrics{5}, labels);

labels = strcat("{Ankle, Knee, Hip, Trunk}",'\n');
labels = "[Ankle, Knee, Hip, Trunk]";
filename = strcat(result_dir, "/", "kinematic_repeatability", ".yaml")
store_vector(filename, sts_metrics{6}, labels, types{2});
store_vector(filename, sts_metrics{6}, labels);

labels = strcat("",'\n');
filename = strcat(result_dir, "/", "CoM_work", ".yaml")
store_vector(filename, sts_metrics{7}, labels, types{1});
store_scalar(filename, sts_metrics{7});


PI = sts_metrics;
Expand Down
38 changes: 18 additions & 20 deletions Eurobench_format_code/src/computePI_5sts.m
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
else
disp('Using Matlab')
end

% get the csv data and calculate kinematics

calib = csv2cell(csv_calib_file);
Expand Down Expand Up @@ -55,40 +54,39 @@

protocol = true;


%computes the PIs

sts_metrics = calculate_sts_metrics(data, kinematics, fsamp, protocol);

sts_metrics
typeinfo(sts_metrics)
types = {"scalar\n", "array of scalars\n", "vector\n"};

labels = strcat("",'\n');
filename = strcat(result_dir, "/", "5STS_duration", ".yaml")
store_vector(filename, sts_metrics{1}, labels, types{1});
store_scalar(filename, sts_metrics{1});

labels = strcat("{Flexion Momentum, Momentum Transfer, Extension}",'\n');
labels = "[Flexion Momentum, Momentum Transfer, Extension]";
filename = strcat(result_dir, "/", "subphases_duration", ".yaml")
store_vector(filename, sts_metrics{2}, labels, types{2});
typeinfo(sts_metrics{2})
store_vector(filename, sts_metrics{2}, labels);

labels = strcat("",'\n');
labels = ""
filename = strcat(result_dir, "/", "CoP_stability", ".yaml")
store_vector(filename, sts_metrics{3}, labels, types{1});
typeinfo(sts_metrics{3})
sts_metrics{3}
reshape(sts_metrics{3}, 1, 2)
store_vector(filename, reshape(sts_metrics{3}, 1, 2), labels);

labels = strcat("",'\n');
filename = strcat(result_dir, "/", "ult_time", ".yaml")
store_vector(filename, sts_metrics{4}, labels, types{1});
store_scalar(filename, sts_metrics{4}, labels);

labels = strcat("{antero-posterior, medio-lateral}",'\n');
labels = "[antero-posterior, medio-lateral]";
filename = strcat(result_dir, "/", "ult_overshoot", ".yaml")
store_vector(filename, sts_metrics{5}, labels, types{2});
store_vector(filename, sts_metrics{5}, labels);

labels = strcat("{Ankle, Knee, Hip, Trunk}",'\n');
labels = "[Ankle, Knee, Hip, Trunk]";
filename = strcat(result_dir, "/", "kinematic_repeatability", ".yaml")
store_vector(filename, sts_metrics{6}, labels, types{2});

labels = strcat("",'\n');
store_vector(filename, sts_metrics{6}, labels);

filename = strcat(result_dir, "/", "CoM_work", ".yaml")
store_vector(filename, sts_metrics{7}, labels, types{1});
store_scalar(filename, sts_metrics{7});


PI = sts_metrics;
Expand Down
19 changes: 19 additions & 0 deletions Eurobench_format_code/src/store_scalar.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% store_scalar.m
%
% Store a scalar into yaml file
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function is_ok = store_scalar(filename, data)

file_id = fopen(filename, "w");

fprintf(file_id, "type: \'scalar\'\n");

value_str = sprintf("value: %.5f\n", data);

fprintf(file_id, value_str);
fclose(file_id);
is_ok = true;
end
13 changes: 8 additions & 5 deletions Eurobench_format_code/src/store_vector.m
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
function is_ok = store_vector(filename, data, labels, type)
function is_ok = store_vector(filename, data, labels)

%taken from https://github.com/eurobench/pi_octave_csic/blob/master/src/store_vector.m

file_id = fopen(filename, "w");
fprintf(file_id, type);
fprintf(file_id, labels);
value_str = "value: ";
fprintf(file_id, "type: \'vector\'\n");

if size(labels) != 0
fprintf(file_id, "label: %s\n", labels);
endif
value_str = "value: [";
for i = 1:size(data)(2)
value_str = sprintf("%s%.5f", value_str, data(i));
if (i != size(data)(2))
value_str = sprintf("%s, ", value_str);
endif
endfor
value_str = sprintf("%s\n", value_str);
value_str = sprintf("%s]\n", value_str);
fprintf(file_id, value_str);
fclose(file_id);
is_ok = true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'vector'
value: [24.11805, 58.74444]
type: 'scalar'
value: 678.03756
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.11515
type: 'vector'
value: [0.37768, 0.04183]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [Ankle, Knee, Hip, Trunk]
value: [0.78648, 0.99112, 0.98944, 0.94391]
value: [0.78648, 0.99112, 0.98944, 0.94836]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [Flexion Momentum, Momentum Transfer, Extension]
value: [0.21656, 0.19256, 0.62234]
value: [0.19089, 0.21824, 0.62234]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [antero-posterior, medio-lateral]
value: [0.01238, 0.01215]
value: [0.04233, 0.00340]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.80038
value: 0.75294
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'vector'
value: [9.84384, 12.28107]
type: 'scalar'
value: 221.31481
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.11301
type: 'vector'
value: [0.40186, 0.04002]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [Flexion Momentum, Momentum Transfer, Extension]
value: [0.20790, 0.22040, 0.60494]
value: [0.18289, 0.24541, 0.60494]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [antero-posterior, medio-lateral]
value: [0.01413, 0.01007]
value: [0.04413, 0.00419]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.95196
value: 0.88161
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'vector'
value: [3.40741, 343.27661]
type: 'scalar'
value: -1862.09669
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.12424
type: 'vector'
value: [0.41141, 0.02398]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [Flexion Momentum, Momentum Transfer, Extension]
value: [0.18292, 0.16103, 0.47527]
value: [0.16415, 0.17979, 0.47527]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
type: 'vector'
label: [antero-posterior, medio-lateral]
value: [0.01333, 0.01131]
value: [0.06211, 0.00319]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
type: 'scalar'
value: 0.67225
value: 0.47839

0 comments on commit d808382

Please sign in to comment.