tomwalters@0
|
1 % procedure for 'aim-mat'
|
tomwalters@0
|
2 %
|
tomwalters@0
|
3 % INPUT VALUES:
|
tomwalters@0
|
4 %
|
tomwalters@0
|
5 % RETURN VALUE:
|
tomwalters@0
|
6 %
|
tomwalters@0
|
7 %
|
bleeck@3
|
8 %
|
tomwalters@0
|
9 % (c) 2011, University of Southampton
|
bleeck@3
|
10 % Maintained by Stefan Bleeck (bleeck@gmail.com)
|
bleeck@3
|
11 % download of current version is on the soundsoftware site:
|
bleeck@3
|
12 % http://code.soundsoftware.ac.uk/projects/aimmat
|
bleeck@3
|
13 % documentation and everything is on http://www.acousticscale.org
|
bleeck@3
|
14
|
tomwalters@0
|
15
|
tomwalters@0
|
16
|
tomwalters@0
|
17 function handles=do_aim_autoscale(handles)
|
tomwalters@0
|
18
|
tomwalters@0
|
19 hand_scaling=handles.hand_scaling;
|
tomwalters@0
|
20
|
tomwalters@0
|
21 maxscalenumber=1; % this is the value to which the highest point is scaled to -> should look ok
|
tomwalters@0
|
22 multiplier=1;
|
tomwalters@0
|
23
|
tomwalters@0
|
24 start_time=slidereditcontrol_get_value(handles.currentslidereditcombi);
|
tomwalters@0
|
25 % start_time=start_time+getminimumtime(handles.data.signal);
|
tomwalters@0
|
26 duration=slidereditcontrol_get_value(handles.slideredit_duration);
|
tomwalters@0
|
27 stop_time=start_time+duration;
|
tomwalters@0
|
28 scale=slidereditcontrol_get_value(handles.slideredit_scale);
|
tomwalters@0
|
29
|
tomwalters@0
|
30 % TCW - in preparing aim-2006 I decided that this multiplier stuff is
|
tomwalters@0
|
31 % near-pointless
|
tomwalters@0
|
32 switch handles.info.current_plot
|
tomwalters@0
|
33 case {-1,0,1}
|
tomwalters@0
|
34 return
|
tomwalters@0
|
35 case 2 % pcp
|
tomwalters@0
|
36 data=handles.data.pcp;
|
tomwalters@0
|
37 % data=getpart(data,start_time,stop_time);
|
tomwalters@0
|
38 %TCW AIM2006
|
tomwalters@0
|
39 %multiplier=0.01;
|
tomwalters@0
|
40
|
tomwalters@0
|
41 multiplier=0.8;
|
tomwalters@0
|
42
|
tomwalters@0
|
43 case 3 % bmm
|
tomwalters@0
|
44 data=handles.data.bmm;
|
tomwalters@0
|
45 data=getpart(data,start_time,stop_time);
|
tomwalters@0
|
46 nr_channels=getnrchannels(data);
|
tomwalters@0
|
47
|
tomwalters@0
|
48 %TCW AIM2006
|
tomwalters@0
|
49 if hand_scaling==1
|
tomwalters@0
|
50 multiplier=1./max(data);
|
tomwalters@0
|
51 else
|
tomwalters@0
|
52 if nr_channels==1
|
tomwalters@0
|
53 multiplier=0.8;
|
tomwalters@0
|
54 else
|
tomwalters@0
|
55 multiplier=30/nr_channels;
|
tomwalters@0
|
56 end
|
tomwalters@0
|
57 end
|
tomwalters@0
|
58 %%
|
tomwalters@0
|
59
|
tomwalters@0
|
60 case {4,5}
|
tomwalters@0
|
61 data=handles.data.nap;
|
tomwalters@0
|
62 % data=getpart(data,start_time,stop_time);
|
tomwalters@0
|
63 nr_channels=getnrchannels(data);
|
tomwalters@0
|
64 nr_channels=getnrchannels(data);
|
tomwalters@0
|
65
|
tomwalters@0
|
66 %TCW AIM2006
|
tomwalters@0
|
67 if hand_scaling==1
|
tomwalters@0
|
68 multiplier=1./max(data);
|
tomwalters@0
|
69 else
|
tomwalters@0
|
70 if nr_channels==1
|
tomwalters@0
|
71 multiplier=0.8;
|
tomwalters@0
|
72 else
|
tomwalters@0
|
73 multiplier=30/nr_channels;
|
tomwalters@0
|
74 end
|
tomwalters@0
|
75 end
|
tomwalters@0
|
76 %%
|
tomwalters@0
|
77
|
tomwalters@0
|
78 % if nr_channels==1
|
tomwalters@0
|
79 % multiplier=0.8;
|
tomwalters@0
|
80 % else
|
tomwalters@0
|
81 % multiplier=30/nr_channels;
|
tomwalters@0
|
82 % end
|
tomwalters@0
|
83 case 6
|
tomwalters@0
|
84 sai=handles.data.sai;
|
tomwalters@0
|
85 nr_frames=length(sai);
|
tomwalters@0
|
86 current_frame_number=round(slidereditcontrol_get_value(handles.currentslidereditcombi));
|
tomwalters@0
|
87 current_frame=sai{current_frame_number};
|
tomwalters@0
|
88 nr_channels=getnrchannels(current_frame);
|
tomwalters@0
|
89 data=current_frame;
|
tomwalters@0
|
90
|
tomwalters@0
|
91 % TCW AIM 2006
|
tomwalters@0
|
92 if hand_scaling==1
|
tomwalters@0
|
93 m=max(data);
|
tomwalters@0
|
94 if m>0
|
tomwalters@0
|
95 multiplier=1./max(data);
|
tomwalters@0
|
96 else
|
tomwalters@0
|
97 multiplier=1;
|
tomwalters@0
|
98 end
|
tomwalters@0
|
99 else
|
tomwalters@0
|
100 if nr_channels>1
|
tomwalters@0
|
101 multiplier=50/nr_channels;
|
tomwalters@0
|
102 multiplier=multiplier*max(data)/getallmaxvalue(data);
|
tomwalters@0
|
103 else
|
tomwalters@0
|
104 multiplier=1;
|
tomwalters@0
|
105 end
|
tomwalters@0
|
106 end
|
tomwalters@0
|
107
|
tomwalters@0
|
108 % if nr_channels>1
|
tomwalters@0
|
109 % multiplier=50/nr_channels;
|
tomwalters@0
|
110 % % multiplier=multiplier*max(data)/getallmaxvalue(data);
|
tomwalters@0
|
111 % else
|
tomwalters@0
|
112 % multiplier=1;
|
tomwalters@0
|
113 % end
|
tomwalters@0
|
114 case 7
|
tomwalters@0
|
115 return;
|
tomwalters@0
|
116 case 8
|
tomwalters@0
|
117 return;
|
tomwalters@0
|
118 end
|
tomwalters@0
|
119
|
tomwalters@0
|
120 %multiplier=1;
|
tomwalters@0
|
121
|
tomwalters@0
|
122 if handles.info.current_plot < 6
|
tomwalters@0
|
123 %TCW AIM2006
|
tomwalters@0
|
124 %maxdata=max(data);
|
tomwalters@0
|
125 maxdata=1;
|
tomwalters@0
|
126 if maxdata>0
|
tomwalters@0
|
127 newscale=maxscalenumber*multiplier/maxdata;
|
tomwalters@0
|
128 newscale=min(newscale,handles.slideredit_scale.maxvalue);
|
tomwalters@0
|
129 newscale=max(newscale,handles.slideredit_scale.minvalue);
|
tomwalters@0
|
130 else
|
tomwalters@0
|
131 newscale=1;
|
tomwalters@0
|
132 end
|
tomwalters@0
|
133 else
|
tomwalters@0
|
134 %TCW AIM2006
|
tomwalters@0
|
135 %maxdata=getallmaxvalue(data);
|
tomwalters@0
|
136 maxdata=1;
|
tomwalters@0
|
137 if maxdata>0
|
tomwalters@0
|
138 newscale=maxscalenumber*multiplier/maxdata;
|
tomwalters@0
|
139 newscale=min(newscale,handles.slideredit_scale.maxvalue);
|
tomwalters@0
|
140 newscale=max(newscale,handles.slideredit_scale.minvalue);
|
tomwalters@0
|
141 else
|
tomwalters@0
|
142 newscale=1;
|
tomwalters@0
|
143 end
|
tomwalters@0
|
144 end
|
tomwalters@0
|
145 %newscale=1;
|
tomwalters@0
|
146 handles.slideredit_scale=slidereditcontrol_set_value(handles.slideredit_scale,newscale);
|