-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAIMs_Score_single_mouse.m
More file actions
114 lines (106 loc) · 4.64 KB
/
AIMs_Score_single_mouse.m
File metadata and controls
114 lines (106 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
% Function to calculate AIMs score
% ACcording to the AIMs score scale
% from Cenci & Lundblad1 2007
% and Sebastianutto et al 2016 [Cenci's]
% Type of Input Data
% 36 values of 9 intervals
% in 4 AIMs:
% Lo|Li|Ax|Ol
% And 2 Scales each AIM:
% Amplitude
% Basic
% Input:
% X: Measured Values
% Ouput
% Y.globalscores
function Y=AIMs_Score_single_mouse(X)
% Initialize Output
Y.sessionscores=0; % Session Score
Y.globalscores=zeros(1,9); % Global Per Period Score
Y.globalscores_Lo=zeros(1,9); % Locomotive score Per Period
Y.globalscores_Li=zeros(1,9); % Limb score Per Period
Y.globalscores_Ax=zeros(1,9); % Axial score Per Period
Y.globalscores_Ol=zeros(1,9); % Orolingual score Per Period
Y.globalsumscores=zeros(1,9); % Global-Sum Per Period Score
Y.globalsumscores_Lo=zeros(1,9); % Locomotive score Per Period
Y.globalsumscores_Li=zeros(1,9); % Limb score Per Period
Y.globalsumscores_Ax=zeros(1,9); % Axial score Per Period
Y.globalsumscores_Ol=zeros(1,9); % Orolingual score Per Period
Y.basic_scores=zeros(1,9); % Basic Per Period Score
Y.basicscores_Lo=zeros(1,9); % Locomotive score Per Period
Y.basicscores_Li=zeros(1,9); % Limb score Per Period
Y.basicscores_Ax=zeros(1,9); % Axial score Per Period
Y.basicscores_Ol=zeros(1,9); % Orolingual score Per Period
Y.amplitudescores=zeros(1,9); % Amplitude Per Period Score
Y.amplitudescores_Lo=zeros(1,9); % Locomotive score Per Period
Y.amplitudescores_Li=zeros(1,9); % Limb score Per Period
Y.amplitudescores_Ax=zeros(1,9); % Axial score Per Period
Y.amplitudescores_Ol=zeros(1,9); % Orolingual score Per Period
Y.alosumscores=zeros(1,9); % ALO-SUM Only Li, Ax & Ol:
Y.alosumscores_Lo=zeros(1,9); % Locomotive score Per Period
Y.alosumscores_Li=zeros(1,9); % Limb score Per Period
Y.alosumscores_Ax=zeros(1,9); % Axial score Per Period
Y.alosumscores_Ol=zeros(1,9); % Orolingual score Per Period
Y.alobasicscores=zeros(1,9); % ALO BASIC Only Li, Ax & Ol:
Y.alobasicscores_Lo=zeros(1,9); % Locomotive score Per Period
Y.alobasicscores_Li=zeros(1,9); % Limb score Per Period
Y.alobasicscores_Ax=zeros(1,9); % Axial score Per Period
Y.alobasicscores_Ol=zeros(1,9); % Orolingual score Per Period
[~,Periods]=size(X);
Nmovements=4;
% TimeIntervals=20:20:180;
if Periods~=36
disp('[{<{<ERROR>}>}]')
else
Naux=0; % it Increases +4
for period=1:9
AIMs=X(:,Naux+1:Naux+Nmovements); % 2 x 4 Matrix of AIMs score
Score=prod(AIMs); % sum{ basic x amplitude }
ScoreSum=sum(AIMs); % sum{ basic + amplitude }
% Output Scores
% GLOBAL Only Li, Ax & Ol:
Y.globalscores(period)=sum(Score(2:end));
Y.globalscores_Lo(period)=Score(1);
Y.globalscores_Li(period)=Score(2);
Y.globalscores_Ax(period)=Score(3);
Y.globalscores_Ol(period)=Score(4);
% GLOBAL-SUM Lo, Li, Ax & Ol:
Y.globalsumscores(period)=sum(ScoreSum);
Y.globalsumscores_Lo(period)=ScoreSum(1);
Y.globalsumscores_Li(period)=ScoreSum(2);
Y.globalsumscores_Ax(period)=ScoreSum(3);
Y.globalsumscores_Ol(period)=ScoreSum(4);
% BASIC Lo, Li, Ax & Ol:
Y.basic_scores(period)=sum(AIMs(1,:));
Y.basicscores_Lo(period)=AIMs(1,1);
Y.basicscores_Li(period)=AIMs(1,2);
Y.basicscores_Ax(period)=AIMs(1,3);
Y.basicscores_Ol(period)=AIMs(1,4);
% AMPLITUDE Only Li, Ax & Ol:
Y.amplitudescores(period)=sum(AIMs(2,:));
Y.amplitudescores_Lo(period)=AIMs(2,1);
Y.amplitudescores_Li(period)=AIMs(2,2);
Y.amplitudescores_Ax(period)=AIMs(2,3);
Y.amplitudescores_Ol(period)=AIMs(2,4);
% ALO-SUM Only Li, Ax & Ol:
Y.alosumscores(period)=sum(ScoreSum(2:end));
Y.alosumscores_Lo(period)=ScoreSum(1);
Y.alosumscores_Li(period)=ScoreSum(2);
Y.alosumscores_Ax(period)=ScoreSum(3);
Y.alosumscores_Ol(period)=ScoreSum(4);
% ALO BASIC Only Li, Ax & Ol:
Y.alobasicscores(period)=sum(AIMs(1,2:end));
Y.alobasicscores_Lo(period)=AIMs(1,1);
Y.alobasicscores_Li(period)=AIMs(1,2);
Y.alobasicscores_Ax(period)=AIMs(1,3);
Y.alobasicscores_Ol(period)=AIMs(1,4);
Naux=Naux+Nmovements;
end
end
% SESSION SCORES
Y.sessionscores=sum(Y.globalscores);
Y.sessionsumscores=sum(Y.globalsumscores);
Y.sessionbasscores=sum(Y.basic_scores);
Y.sessionampscores=sum(Y.amplitudescores);
Y.sessionalosumscores=sum(Y.alosumscores);
Y.sessionalobasscores=sum(Y.alobasicscores);