Skip to content

Commit 26b5f0e

Browse files
committed
Docstrings and documentation have been updated.
1 parent a0b71ed commit 26b5f0e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+373
-362
lines changed

+CFSVM/+Element/+Data/@SubjectData/write.m

-11
This file was deleted.

+CFSVM/+Element/+Data/@TrialsData/TrialsData.m

-61
This file was deleted.

+CFSVM/+Element/+Data/@TrialsData/import.m

-8
This file was deleted.

+CFSVM/+Element/+Data/@TrialsData/load_trial_parameters.m

-14
This file was deleted.

+CFSVM/+Element/+Data/@TrialsData/update.m

-31
This file was deleted.

+CFSVM/+Element/+Data/@SubjectData/SubjectData.m +CFSVM/+Element/+Data/SubjectData.m

+13-5
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@
2828
% Inquires subject info and puts it into table.
2929
%
3030
% Args:
31-
% dirpath: :attr:`~.+CFSVM.+Element.+Data.@SubjectData.SubjectData.dirpath`
32-
% file_extenstion: :attr:`~.+CFSVM.+Element.+Data.@SubjectData.SubjectData.file_extension`
31+
% dirpath: :attr:`~CFSVM.Element.Data.SubjectData.dirpath`
32+
% file_extenstion: :attr:`~CFSVM.Element.Data.SubjectData.file_extension`
3333
%
34-
3534
arguments
3635
parameters.dirpath {mustBeTextScalar} = './!SubjectInfo'
3736
parameters.file_extension {mustBeTextScalar, mustStartWithDot} = '.csv'
@@ -68,8 +67,17 @@
6867
end
6968

7069

71-
write(obj)
72-
70+
function write(obj)
71+
% Writes table to the dirpath.
72+
%
73+
74+
% Write the table to the folder with provided filename and extension.
75+
writetable(obj.table, ...
76+
fullfile(obj.dirpath, ...
77+
strcat(num2str(obj.code), obj.file_extension)))
78+
79+
end
80+
7381
end
7482

7583
end

+CFSVM/+Element/+Data/TrialsData.m

+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
classdef TrialsData < matlab.mixin.Copyable
2+
% Storing and manipulating trial parameters.
3+
%
4+
5+
properties (Constant)
6+
7+
% Parameters to parse into the processed results table.
8+
RESULTS = {'block_index', 'trial_index', 'start_time', 'end_time'}
9+
10+
end
11+
12+
properties
13+
% Char array - path to the .mat file
14+
filepath
15+
16+
% Nested cell array for trial matrix.
17+
matrix cell
18+
19+
% Int - number of blocks in trial matrix.
20+
n_blocks {mustBeInteger}
21+
22+
% Int - current block.
23+
block_index {mustBeInteger}
24+
25+
% Int - current trial.
26+
trial_index {mustBeInteger}
27+
28+
% Float - trial onset.
29+
start_time {mustBeNonnegative}
30+
31+
% Float - trial offset
32+
end_time {mustBeNonnegative}
33+
34+
end
35+
36+
37+
38+
methods
39+
40+
function obj = TrialsData(parameters)
41+
%
42+
% Args:
43+
% filepath: :attr:`~CFSVM.Element.Data.TrialsData.filepath`
44+
%
45+
46+
arguments
47+
parameters.filepath {mustBeFile}
48+
end
49+
50+
obj.filepath = parameters.filepath;
51+
52+
end
53+
54+
55+
function import(obj)
56+
% Loads .mat file.
57+
58+
obj.matrix = load(obj.filepath).trial_matrix;
59+
[~, obj.n_blocks] = size(obj.matrix);
60+
61+
end
62+
63+
64+
function load_trial_parameters(obj, experiment)
65+
% Updates parameters for current trial.
66+
%
67+
% Args:
68+
% experiment: An experiment object to update properties in.
69+
70+
dont_load = {'screen', 'subject_info', 'trials'};
71+
72+
for property = setdiff(properties(experiment)', dont_load)
73+
experiment.(property{:}) = obj.matrix{obj.block_index}{obj.trial_index}.(property{:});
74+
end
75+
76+
end
77+
78+
79+
function update(obj, experiment)
80+
% Updates every trial with initialized experiment parameters.
81+
%
82+
% Used in :meth:`~CFSVM.Experiment.initiate` function.
83+
%
84+
% Args:
85+
% experiment: An experiment object to update properties in.
86+
87+
for block = 1:obj.n_blocks
88+
for trial = 1:size(obj.matrix{block}, 2)
89+
exp = obj.matrix{block}{trial};
90+
for prop = properties(exp)'
91+
% If a property hasn't been initalized - copy it from the
92+
% current experiment
93+
if isempty(exp.(prop{:}))
94+
exp.(prop{:}) = experiment.(prop{:});
95+
96+
% Else update empty property's properties
97+
else
98+
prop_list = metaclass(exp.(prop{:})).PropertyList;
99+
for idx = 1:length(prop_list)
100+
if isempty(exp.(prop{:}).(prop_list(idx).Name)) && ~prop_list(idx).Dependent
101+
exp.(prop{:}).(prop_list(idx).Name) = experiment.(prop{:}).(prop_list(idx).Name);
102+
end
103+
end
104+
end
105+
end
106+
end
107+
end
108+
109+
end
110+
111+
end
112+
113+
end
114+

+CFSVM/+Element/+Evidence/@BreakResponse/BreakResponse.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
classdef BreakResponse < CFSVM.Element.ResponseElement
22
% Initiating and recording break data.
33
%
4-
% Derived from :class:`~+CFSVM.+Element.@ResponseElement` class.
4+
% Derived from :class:`~CFSVM.Element.ResponseElement` class.
55
%
66

77
properties (Constant)
@@ -17,7 +17,7 @@
1717
function obj = BreakResponse(parameters)
1818
%
1919
% Args:
20-
% keys: :attr:`.+CFSVM.+Element.@ResponseElement.ResponseElement.keys`
20+
% keys: :attr:`CFSVM.Element.ResponseElement.keys`
2121
%
2222

2323
arguments

+CFSVM/+Element/+Evidence/@ImgMAFC/ImgMAFC.m

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
classdef ImgMAFC < CFSVM.Element.Evidence.ScaleEvidence & CFSVM.Element.Stimulus.Stimulus
22
% Initiating and recording image mAFC data.
33
%
4-
% Derived from :class:`~+CFSVM.+Element.+Evidence.@ScaleEvidence` and
5-
% :class:`~+CFSVM.+Element.+Stimulus.@Stimulus` classes.
4+
% Derived from :class:`~CFSVM.Element.Evidence.ScaleEvidence` and
5+
% :class:`~CFSVM.Element.Stimulus.Stimulus` classes.
66
%
77

88

@@ -30,11 +30,11 @@
3030
function obj = ImgMAFC(parameters)
3131
%
3232
% Args:
33-
% keys: :attr:`.+CFSVM.+Element.@ResponseElement.ResponseElement.keys`
34-
% title: :attr:`.+CFSVM.+Element.+Evidence.@ScaleEvidence.ScaleEvidence.title`
35-
% position: :attr:`.+CFSVM.+Element.+Stimulus.@Stimulus.Stimulus.position`
36-
% size: :attr:`.+CFSVM.+Element.+Stimulus.@Stimulus.Stimulus.size`
37-
% xy_ratio: :attr:`.+CFSVM.+Element.+Stimulus.@Stimulus.Stimulus.xy_ratio`
33+
% keys: :attr:`CFSVM.Element.ResponseElement.keys`
34+
% title: :attr:`CFSVM.Element.Evidence.ScaleEvidence.title`
35+
% position: :attr:`CFSVM.Element.Stimulus.Stimulus.position`
36+
% size: :attr:`CFSVM.Element.Stimulus.Stimulus.size`
37+
% xy_ratio: :attr:`CFSVM.Element.Stimulus.Stimulus.xy_ratio`
3838
%
3939

4040
arguments

+CFSVM/+Element/+Evidence/@ImgMAFC/load_parameters.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ function load_parameters(obj, screen, PTB_textures_indices, shown_texture_index)
22
% Loads parameters for mAFC screen for the trial.
33
%
44
% Args:
5-
% screen: :class:`~+CFSVM.+Element.+Screen.@CustomScreen` object.
5+
% screen: :class:`~CFSVM.Element.Screen.CustomScreen` object.
66
% PTB_textures_indices: Cell array of ints representing loaded PTB textures.
77
% shown_texture_index: Int representing PTB texture shown as stimulus.
88
%

+CFSVM/+Element/+Evidence/@ImgMAFC/show.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function show(obj, experiment)
22
% Draws and shows mAFC images, waits for the subject response and records it.
33
%
4-
% See also :func:`~+CFSVM.+Element.+Evidence.@ScaleEvidence.record_response`.
4+
% See also :func:`~CFSVM.Element.Evidence.record_response`.
55
%
66
% Args:
77
% experiment: An experiment object.

+CFSVM/+Element/+Evidence/@PAS/PAS.m

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
classdef PAS < CFSVM.Element.Evidence.ScaleEvidence
22
% Initiating and recording PAS data.
33
%
4-
% Derived from :class:`~+CFSVM.+Element.+Evidence.@ScaleEvidence`.
4+
% Derived from :class:`~CFSVM.Element.Evidence.ScaleEvidence`.
55
%
66

77
properties (Constant)
@@ -27,9 +27,9 @@
2727
function obj = PAS(parameters)
2828
%
2929
% Args:
30-
% keys: :attr:`.+CFSVM.+Element.@ResponseElement.ResponseElement.keys`
31-
% title: :attr:`.+CFSVM.+Element.+Evidence.@ScaleEvidence.ScaleEvidence.title`
32-
% options: :attr:`.+CFSVM.+Element.+Evidence.@ScaleEvidence.ScaleEvidence.options`
30+
% keys: :attr:`CFSVM.Element.ResponseElement.keys`
31+
% title: :attr:`CFSVM.Element.Evidence.ScaleEvidence.title`
32+
% options: :attr:`CFSVM.Element.Evidence.ScaleEvidence.options`
3333
%
3434

3535
arguments

+CFSVM/+Element/+Evidence/@PAS/load_parameters.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ function load_parameters(obj, screen)
22
% Loads PAS parameters for the trial.
33
%
44
% Args:
5-
% screen: :class:`~+CFSVM.+Element.+Screen.@CustomScreen` object.
5+
% screen: :class:`~CFSVM.Element.Screen.CustomScreen` object.
66
%
77

88
obj.title_size = round(screen.fields{1}.x_pixels/15);

+CFSVM/+Element/+Evidence/@PAS/show.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function show(obj, experiment)
22
% Shows PAS screen, waits for the subject response and records it.
33
%
4-
% See also :func:`~+CFSVM.+Element.+Evidence.@ScaleEvidence.record_response`.
4+
% See also :func:`~CFSVM.Element.Evidence.record_response`.
55
%
66
% Args:
77
% experiment: An experiment object.

+CFSVM/+Element/+Evidence/@ScaleEvidence/ScaleEvidence.m

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
classdef (Abstract) ScaleEvidence < CFSVM.Element.ResponseElement & CFSVM.Element.TemporalElement
22
% A base class for description of scale-based evidence classes like
3-
% :class:`~+CFSVM.+Element.+Evidence.@PAS` and
4-
% :class:`~+CFSVM.+Element.+Evidence.@ImgMAFC`.
3+
% :class:`~CFSVM.Element.Evidence.PAS` and
4+
% :class:`~CFSVM.Element.Evidence.ImgMAFC`.
55
%
6-
% Derived from :class:`~+CFSVM.+Element.@ResponseElement`
7-
% and :class:`~+CFSVM.+Element.@TemporalElement` classes.
6+
% Derived from :class:`~CFSVM.Element.ResponseElement`
7+
% and :class:`~CFSVM.Element.TemporalElement` classes.
88
%
99

1010
properties

0 commit comments

Comments
 (0)