-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathnk_CVGridSelector.m
More file actions
94 lines (82 loc) · 2.8 KB
/
Copy pathnk_CVGridSelector.m
File metadata and controls
94 lines (82 loc) · 2.8 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
function [act, GridAct] = nk_CVGridSelector(ix, jx, GridAct, proceedfl)
if ~exist('GridAct','var') || isempty(GridAct)
GridAct = false(ix,jx);
end
if ~exist('proceedfl','var') || isempty(proceedfl)
proceedfl = true; end
print_grid(ix, jx, GridAct)
menustr = ['Select all CV2 positions|' ...
'Select single single perm / fold position|' ...
'Select single perm / fold range|' ...
'Deselect all CV2 positions|' ...
'Deselect single single perm / fold position|' ...
'Deselect single perm / fold range|' ...
'Toggle all CV2 positions|' ...
'Toggle single perm / fold position|' ...
'Toggle perm / fold range|' ...
'Enter index matrix of CV2 partitions'];
menuact = 1:10;
if sum(GridAct(:)) && proceedfl,
menustr = [menustr '|PROCEED >>>']; menuact = [ menuact 11];
end
act = nk_input('Select CV2 partitions',0,'mq',menustr, menuact);
switch act
case 1
GridAct = true(ix,jx);
case 2
selpos = nk_input('Select position at [ perm, fold ]',0,'i',[],2);
GridAct(selpos(1),selpos(2)) = 1;
case 3
selrange = nk_input('Select range [ perm start, perm end, fold start, fold end ]',0,'i',[],4);
GridAct(selrange(1):selrange(2),selrange(3):selrange(4)) = 1;
case 4
GridAct = false(ix,jx);
case 5
delpos = nk_input('Deselect position at [ perm, fold ]',0,'i',[],2);
GridAct(delpos(1),delpos(2)) = 0;
case 6
delrange = nk_input('Deselect range [ perm start, perm end, fold start, fold end ]',0,'i',[],4);
GridAct(delrange(1):delrange(2),delrange(3):delrange(4)) = 0;
case 7
GridAct = ~GridAct;
case 8
togpos = nk_input('Toggle position at [ perm, fold ]',0,'i',[],2);
GridAct(togpos(1),togpos(2)) = ~GridAct(togpos(1),togpos(2));
case 9
togrange = nk_input('Toggle range [ perm start, perm end, fold start, fold end ]',0,'i',[],4);
GridAct(togrange(1):togrange(2),togrange(3):togrange(4)) = ~GridAct(togrange(1):togrange(2),togrange(3):togrange(4));
case 10
GridAct = logical(nk_input('Enter index matrix',0,'e',[],[ix jx]));
end
% __________________________________
function print_grid(ix, jx, GridAct)
clc
fprintf('******************************\n')
fprintf('*** CV2 Partition Selector ***\n')
fprintf('******************************\n\n')
fprintf('Select CV2 partitions to be analyzed:\n')
rowindent = 10;
rowindentspc = repmat(' ',1,rowindent);
for i=1:ix
rowhdr = ['perm ' num2str(i) ':'];
rowhdrspc = rowindent - length(rowhdr);
rowhdrspc = repmat(' ',1,rowhdrspc);
fprintf('\n%s%s',rowhdr,rowhdrspc)
for j=1:jx
if j > 1 && j <= jx
fprintf('-')
end
if GridAct(i,j)
fprintf('*')
else
fprintf('o')
end
end
% if i<ix
% fprintf('\n%s',rowindentspc)
% for j=1:jx
% fprintf('| ')
% end
% end
end
fprintf('\n')