tomwalters@0: % procedure for 'aim-mat' tomwalters@0: % tomwalters@0: % INPUT VALUES: tomwalters@0: % tomwalters@0: % RETURN VALUE: tomwalters@0: % tomwalters@0: % bleeck@3: % tomwalters@0: % (c) 2011, University of Southampton bleeck@3: % Maintained by Stefan Bleeck (bleeck@gmail.com) bleeck@3: % download of current version is on the soundsoftware site: bleeck@3: % http://code.soundsoftware.ac.uk/projects/aimmat bleeck@3: % documentation and everything is on http://www.acousticscale.org bleeck@3: tomwalters@0: tomwalters@0: tomwalters@0: function handles=do_aim_autoscale(handles) tomwalters@0: tomwalters@0: hand_scaling=handles.hand_scaling; tomwalters@0: tomwalters@0: maxscalenumber=1; % this is the value to which the highest point is scaled to -> should look ok tomwalters@0: multiplier=1; tomwalters@0: tomwalters@0: start_time=slidereditcontrol_get_value(handles.currentslidereditcombi); tomwalters@0: % start_time=start_time+getminimumtime(handles.data.signal); tomwalters@0: duration=slidereditcontrol_get_value(handles.slideredit_duration); tomwalters@0: stop_time=start_time+duration; tomwalters@0: scale=slidereditcontrol_get_value(handles.slideredit_scale); tomwalters@0: tomwalters@0: % TCW - in preparing aim-2006 I decided that this multiplier stuff is tomwalters@0: % near-pointless tomwalters@0: switch handles.info.current_plot tomwalters@0: case {-1,0,1} tomwalters@0: return tomwalters@0: case 2 % pcp tomwalters@0: data=handles.data.pcp; tomwalters@0: % data=getpart(data,start_time,stop_time); tomwalters@0: %TCW AIM2006 tomwalters@0: %multiplier=0.01; tomwalters@0: tomwalters@0: multiplier=0.8; tomwalters@0: tomwalters@0: case 3 % bmm tomwalters@0: data=handles.data.bmm; tomwalters@0: data=getpart(data,start_time,stop_time); tomwalters@0: nr_channels=getnrchannels(data); tomwalters@0: tomwalters@0: %TCW AIM2006 tomwalters@0: if hand_scaling==1 tomwalters@0: multiplier=1./max(data); tomwalters@0: else tomwalters@0: if nr_channels==1 tomwalters@0: multiplier=0.8; tomwalters@0: else tomwalters@0: multiplier=30/nr_channels; tomwalters@0: end tomwalters@0: end tomwalters@0: %% tomwalters@0: tomwalters@0: case {4,5} tomwalters@0: data=handles.data.nap; tomwalters@0: % data=getpart(data,start_time,stop_time); tomwalters@0: nr_channels=getnrchannels(data); tomwalters@0: nr_channels=getnrchannels(data); tomwalters@0: tomwalters@0: %TCW AIM2006 tomwalters@0: if hand_scaling==1 tomwalters@0: multiplier=1./max(data); tomwalters@0: else tomwalters@0: if nr_channels==1 tomwalters@0: multiplier=0.8; tomwalters@0: else tomwalters@0: multiplier=30/nr_channels; tomwalters@0: end tomwalters@0: end tomwalters@0: %% tomwalters@0: tomwalters@0: % if nr_channels==1 tomwalters@0: % multiplier=0.8; tomwalters@0: % else tomwalters@0: % multiplier=30/nr_channels; tomwalters@0: % end tomwalters@0: case 6 tomwalters@0: sai=handles.data.sai; tomwalters@0: nr_frames=length(sai); tomwalters@0: current_frame_number=round(slidereditcontrol_get_value(handles.currentslidereditcombi)); tomwalters@0: current_frame=sai{current_frame_number}; tomwalters@0: nr_channels=getnrchannels(current_frame); tomwalters@0: data=current_frame; tomwalters@0: tomwalters@0: % TCW AIM 2006 tomwalters@0: if hand_scaling==1 tomwalters@0: m=max(data); tomwalters@0: if m>0 tomwalters@0: multiplier=1./max(data); tomwalters@0: else tomwalters@0: multiplier=1; tomwalters@0: end tomwalters@0: else tomwalters@0: if nr_channels>1 tomwalters@0: multiplier=50/nr_channels; tomwalters@0: multiplier=multiplier*max(data)/getallmaxvalue(data); tomwalters@0: else tomwalters@0: multiplier=1; tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: % if nr_channels>1 tomwalters@0: % multiplier=50/nr_channels; tomwalters@0: % % multiplier=multiplier*max(data)/getallmaxvalue(data); tomwalters@0: % else tomwalters@0: % multiplier=1; tomwalters@0: % end tomwalters@0: case 7 tomwalters@0: return; tomwalters@0: case 8 tomwalters@0: return; tomwalters@0: end tomwalters@0: tomwalters@0: %multiplier=1; tomwalters@0: tomwalters@0: if handles.info.current_plot < 6 tomwalters@0: %TCW AIM2006 tomwalters@0: %maxdata=max(data); tomwalters@0: maxdata=1; tomwalters@0: if maxdata>0 tomwalters@0: newscale=maxscalenumber*multiplier/maxdata; tomwalters@0: newscale=min(newscale,handles.slideredit_scale.maxvalue); tomwalters@0: newscale=max(newscale,handles.slideredit_scale.minvalue); tomwalters@0: else tomwalters@0: newscale=1; tomwalters@0: end tomwalters@0: else tomwalters@0: %TCW AIM2006 tomwalters@0: %maxdata=getallmaxvalue(data); tomwalters@0: maxdata=1; tomwalters@0: if maxdata>0 tomwalters@0: newscale=maxscalenumber*multiplier/maxdata; tomwalters@0: newscale=min(newscale,handles.slideredit_scale.maxvalue); tomwalters@0: newscale=max(newscale,handles.slideredit_scale.minvalue); tomwalters@0: else tomwalters@0: newscale=1; tomwalters@0: end tomwalters@0: end tomwalters@0: %newscale=1; tomwalters@0: handles.slideredit_scale=slidereditcontrol_set_value(handles.slideredit_scale,newscale);