ECG-Kit 1.0
(10,624 bytes)
% open a waitbar
UCP_struct.fig_hdl = waitbar(0, '');
% hide the progress bar and resize it
UCP_struct.Axes_hdl = findobj(UCP_struct.fig_hdl,'Type','Axes');
set(UCP_struct.Axes_hdl, 'Visible','off' );
set(UCP_struct.Axes_hdl, 'units','normalized' );
set(UCP_struct.Axes_hdl, 'position', [0.05 0.05 0.9 0.05] );
%set the size of the main window
screen_size = get(0,'ScreenSize');
set(UCP_struct.fig_hdl, 'Tag', 'a2hbc' );
set(UCP_struct.fig_hdl, 'Resize', 'on' );
set(UCP_struct.fig_hdl, 'Name', 'Control Panel' );
set(UCP_struct.fig_hdl, 'position', [screen_size(3)*0.005 screen_size(4)*0.045 screen_size(3)*0.18 screen_size(4)*0.25] );
UCP_struct.HBC_Controls = uipanel(UCP_struct.fig_hdl, ...
'Title', 'Classifier controls', ...
'FontSize', 10,...
'Position', [0.0335 0.22 0.9497 0.73]);
UCP_struct.Run_button = uicontrol('style','pushbutton', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', 'Run!', ...
'FontName','Arial', ...
'FontSize',10, ...
'FontWeight','Bold', ...
'ForegroundColor',[1 0 0], ...
'units','normalized', ...
'position', [ 0.783 0.042 0.193 0.119 ], ...
'callback',@RunNow);
% Operation mode control
UCP_struct.op_mode_label = uicontrol( 'style','text', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', 'Operation Mode', ...
'units','normalized', ...
'position',[ 0.022 0.483 0.22 0.122]);
UCP_struct.op_mode = uicontrol( 'style','popupmenu', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', char(cKnownModesOfOperation), ...
'Value', find( strcmpi(cKnownModesOfOperation, op_mode) ), ...
'units','normalized', ...
'callback', @OpModeSelect, ...
'position',[ 0.265 0.479 0.3 0.116 ]);
% Cluster size control
UCP_struct.SliderLabel = uicontrol( 'style','text', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', [ num2str(CantClusters) ' Clusters' ], ...
'units','normalized', ...
'position',[ 0.021 0.218 0.213 0.07]);
UCP_struct.CantClusters = uicontrol( 'style','slider', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'Min', 2, ...
'Value', CantClusters, ...
'Max', 20, ...
'SliderStep', [0.05 0.3], ...
'units','normalized', ...
'position',[ 0.263 0.214 0.298 0.09], ...
'callback', @SliderFunc);
% Repetition times control
UCP_struct.SliderLabel2 = uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'string', [ num2str(iter_times) ' repetition' ], ...
'units','normalized', ...
'position',[ 0.021 0.074 0.213 0.07]);
UCP_struct.iter_times = uicontrol( 'style','slider', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'Min', 1, ...
'Value', iter_times, ...
'Max', 10, ...
'SliderStep', [0.11 0.33], ...
'units','normalized', ...
'position',[ 0.263 0.07 0.298 0.09], ...
'callback', @SliderFunc2);
% Cluster majority control
UCP_struct.SliderLabel3 = uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'string', ['Cluster majority ' num2str(cluster_presence) ' %'], ...
'units','normalized', ...
'position',[ 0.021 0.345 0.213 0.125]);
UCP_struct.cluster_presence = uicontrol( ...
'Enable', 'off', ...
'style','slider', ...
'Parent', UCP_struct.HBC_Controls, ...
'Min', 1, ...
'Value', cluster_presence, ...
'Max', 100, ...
'SliderStep', [0.05 0.2], ...
'units','normalized', ...
'position',[ 0.263 0.358 0.298 0.09], ...
'callback', @SliderFunc3);
% Class filter and labeling
UCP_struct.labelings_text = uicontrol( 'style','text', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', 'Labeling', ...
'units','normalized', ...
'position',[ 0.598 0.483 0.22 0.122]);
aux_idx = find( strcmpi(cKnownLabelings, class_labeling) );
UCP_struct.KnownLabelings = cKnownLabelings;
UCP_struct.labelings = uicontrol( 'style','popupmenu', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', char(cKnownLabelings), ...
'Value', aux_idx, ...
'callback', @UpdateClasses, ...
'units','normalized', ...
'position',[ 0.8 0.479 0.2 0.116 ]);
UCP_struct.class_filter_text = uicontrol( 'style','text', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', 'Classes of Interest', ...
'units','normalized', ...
'position',[ 0.598 0.35 0.4 0.122]);
UCP_struct.typical_lablists = typical_lablists;
[~, aux_val] = intersect(typical_lablists{aux_idx}, class_filter );
UCP_struct.class_filter = uicontrol('style','listbox', ...
'Parent', UCP_struct.HBC_Controls, ...
'Enable', 'off', ...
'string', char(typical_lablists{aux_idx}), ...
'Value', aux_val, ...
'units','normalized', ...
'position', [ 0.65 0.21 0.33 0.2], ...
'Max', 2 );
%move to user interface window.
% Close examples control
uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'string', 'Close examples', ...
'units','normalized', ...
'Visible','off', ...
'position',[ 0.598 0.332 0.155 0.125]);
UCP_struct.CantSamplesClose = uicontrol( 'style','edit', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', '10', ...
'Tag', num2str(CantSamplesClose), ...
'callback', @CheckNumeric, ...
'units','normalized', ...
'Visible','off', ...
'position',[ 0.795 0.353 0.116 0.092]);
% Distant examples control
uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'string', 'Distant examples', ...
'units','normalized', ...
'Visible','off', ...
'position',[ 0.589 0.192 0.169 0.125]);
UCP_struct.CantSamplesFar = uicontrol( 'style','edit', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', num2str(CantSamplesFar), ...
'Tag', '10', ...
'callback', @CheckNumeric, ...
'units','normalized', ...
'Visible','off', ...
'position',[ 0.791 0.22 0.116 0.093]);
% Recording control
uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', 'Recording', ...
'callback', @PathCheck, ...
'units','normalized', ...
'position',[ 0.008 0.898 0.164 0.067]);
if( isempty(recording_name) )
rec_str = '';
else
rec_str = recording_name;
end
UCP_struct.recording_name = uicontrol( 'style','edit', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', rec_str, ...
'Tag', rec_str, ...
'callback', @RecordingCheck, ...
'units','normalized', ...
'position',[ 0.184 0.885 0.34 0.093 ]);
UCP_struct.Browse_button = uicontrol( 'style','pushbutton', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', 'Browse', ...
'callback', @BrowseRecording, ...
'units','normalized', ...
'position',[ 0.535 0.886 0.158 0.093 ]);
if( isempty(recording_format) )
rec_fmt = 'AHA';
else
rec_fmt = recording_format;
end
% Recording format control
uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', 'Format', ...
'units','normalized', ...
'position',[ 0.72 0.907 0.114 0.059 ]);
UCP_struct.recording_fmt = uicontrol( 'style','popupmenu', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'string', char(cKnownFormats), ...
'Value', find( strcmpi(cKnownFormats, rec_fmt) ), ...
'units','normalized', ...
'position',[ 0.848 0.865 0.139 0.116 ]);
if( isempty(tmp_path) )
tmp_path_str = [fileparts(mfilename('fullpath')) filesep];
else
tmp_path_str = tmp_path;
end
% Temporal path control
uicontrol( 'style','text', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', 'Temporal path', ...
'callback', @PathCheck, ...
'units','normalized', ...
'position',[ 0.002 0.72 0.167 0.118]);
UCP_struct.tmp_path = uicontrol( 'style','edit', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', tmp_path_str, ...
'Tag', tmp_path_str, ...
'callback', @PathCheck, ...
'units','normalized', ...
'position',[ 0.182 0.737 0.631 0.093 ]);
UCP_struct.Tmp_path_button = uicontrol( 'style','pushbutton', ...
'Enable', 'off', ...
'Parent', UCP_struct.HBC_Controls, ...
'String', 'Browse', ...
'callback', @BrowseTMPpath, ...
'units','normalized', ...
'position',[ 0.824 0.738 0.158 0.093 ]);
set(UCP_struct.fig_hdl , 'User', UCP_struct );