📄 quantexpogui.m
字号:
'Parent',h1,...'Units','characters',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[3 8.66666666666667 13.3333333333333 1.33333333333333],...'String','Distribution',...'Style','text',...'Tag','text10',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'text12';h17 = uicontrol(...'Parent',h1,...'Units','characters',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[3 4.16666666666667 13.3333333333333 1.33333333333333],...'String','Variance',...'Style','text',...'Tag','text12',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'pdfvar';h18 = uicontrol(...'Parent',h1,...'Units','characters',...'BackgroundColor',[1 1 1],...'Callback','quantexpogui(''pdfvar_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[13 4 5 1.5],...'String','1',...'Style','edit',...'CreateFcn', {@local_CreateFcn, 'quantexpogui(''pdfvar_CreateFcn'',gcbo,[],guidata(gcbo))', appdata} ,...'Tag','pdfvar',...'Behavior',get(0,'defaultuicontrolBehavior'));appdata = [];appdata.lastValidTag = 'text13';h19 = uicontrol(...'Parent',h1,...'Units','characters',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[83.1666666666667 4.16666666666667 13.3333333333333 1.33333333333333],...'String','Levels',...'Style','text',...'Tag','text13',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'nlevels';h20 = uicontrol(...'Parent',h1,...'Units','characters',...'BackgroundColor',[1 1 1],...'Callback','quantexpogui(''nlevels_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[91.5 4 5 1.5],...'String','4',...'Style','edit',...'CreateFcn', {@local_CreateFcn, 'quantexpogui(''nlevels_CreateFcn'',gcbo,[],guidata(gcbo))', appdata} ,...'Tag','nlevels',...'Behavior',get(0,'defaultuicontrolBehavior'));appdata = [];appdata.lastValidTag = 'text14';h21 = uicontrol(...'Parent',h1,...'Units','characters',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[83.1666666666667 8.66666666666667 13.3333333333333 1.33333333333333],...'String','Quantization',...'Style','text',...'Tag','text14',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'quantmenu';h22 = uicontrol(...'Parent',h1,...'Units','characters',...'Callback','quantexpogui(''quantmenu_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'Position',[83.1666666666667 6.66666666666667 20 1.5],...'String',{ 'Uniform'; 'Optimal' },...'Style','popupmenu',...'Value',2,...'CreateFcn', {@local_CreateFcn, 'quantexpogui(''quantmenu_CreateFcn'',gcbo,[],guidata(gcbo))', appdata} ,...'Tag','quantmenu',...'Behavior',get(0,'defaultuicontrolBehavior'));appdata = [];appdata.lastValidTag = 'printlevels';h23 = uicontrol(...'Parent',h1,...'Units','normalized',...'Callback','quantexpogui(''printlevels_Callback'',gcbo,[],guidata(gcbo))',...'Position',[0.891806722689076 0.141818181818182 0.0945378151260504 0.0381818181818182],...'String','Print Levels',...'Tag','printlevels',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'showR';h24 = uicontrol(...'Parent',h1,...'Units','characters',...'Callback','quantexpogui(''showR_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'Position',[30 8.16666666666667 20 1.5],...'String','Show Q Regions',...'Style','checkbox',...'Value',1,...'Tag','showR',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'showL';h25 = uicontrol(...'Parent',h1,...'Units','characters',...'Callback','quantexpogui(''showL_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'Position',[30 5.66666666666667 20 1.5],...'String','Show Q Levels',...'Style','checkbox',...'Value',1,...'Tag','showL',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'play_orig';h26 = uicontrol(...'Parent',h1,...'Units','normalized',...'Callback','quantexpogui(''play_orig_Callback'',gcbo,[],guidata(gcbo))',...'Position',[0.718487394957983 0.0327272727272727 0.0945378151260504 0.0381818181818182],...'String','Play Original',...'Tag','play_orig',...'Behavior',get(0,'defaultuicontrolBehavior'),...'Visible','off',...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'play_quant';h27 = uicontrol(...'Parent',h1,...'Units','normalized',...'Callback','quantexpogui(''play_quant_Callback'',gcbo,[],guidata(gcbo))',...'Position',[0.81827731092437 0.0327272727272727 0.0945378151260504 0.0381818181818182],...'String','Play Quantized',...'Tag','play_quant',...'Behavior',get(0,'defaultuicontrolBehavior'),...'Visible','off',...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'apply';h28 = uicontrol(...'Parent',h1,...'Units','normalized',...'Callback','quantexpogui(''apply_Callback'',gcbo,[],guidata(gcbo))',...'Position',[0.767857142857143 0.0872727272727273 0.0945378151260504 0.0381818181818182],...'String','Apply',...'Tag','apply',...'Behavior',get(0,'defaultuicontrolBehavior'),...'Visible','off',...'CreateFcn', {@local_CreateFcn, '', appdata} );appdata = [];appdata.lastValidTag = 'distmenu';h29 = uicontrol(...'Parent',h1,...'Units','characters',...'Callback','quantexpogui(''distmenu_Callback'',gcbo,[],guidata(gcbo))',...'FontSize',12,...'Position',[58.1666666666667 6.66666666666667 20 1.5],...'String',{ 'Squared Error'; 'Absolute Error' },...'Style','popupmenu',...'Value',1,...'CreateFcn', {@local_CreateFcn, 'quantexpogui(''distmenu_CreateFcn'',gcbo,[],guidata(gcbo))', appdata} ,...'Tag','distmenu',...'Behavior',get(0,'defaultuicontrolBehavior'));appdata = [];appdata.lastValidTag = 'text15';h30 = uicontrol(...'Parent',h1,...'Units','characters',...'FontSize',12,...'HorizontalAlignment','left',...'Position',[58.1666666666667 8.66666666666667 20 1.33333333333333],...'String','Distortion Measure',...'Style','text',...'Tag','text15',...'Behavior',get(0,'defaultuicontrolBehavior'),...'CreateFcn', {@local_CreateFcn, '', appdata} );hsingleton = h1;% --- Set application data first then calling the CreateFcn. function local_CreateFcn(hObject, eventdata, createfcn, appdata)if ~isempty(appdata) names = fieldnames(appdata); for i=1:length(names) name = char(names(i)); setappdata(hObject, name, getfield(appdata,name)); endendif ~isempty(createfcn) eval(createfcn);end% --- Handles default GUIDE GUI creation and callback dispatchfunction varargout = gui_mainfcn(gui_State, varargin)gui_StateFields = {'gui_Name' 'gui_Singleton' 'gui_OpeningFcn' 'gui_OutputFcn' 'gui_LayoutFcn' 'gui_Callback'};gui_Mfile = '';for i=1:length(gui_StateFields) if ~isfield(gui_State, gui_StateFields{i}) error('Could not find field %s in the gui_State struct in GUI M-file %s', gui_StateFields{i}, gui_Mfile); elseif isequal(gui_StateFields{i}, 'gui_Name') gui_Mfile = [gui_State.(gui_StateFields{i}), '.m']; endendnumargin = length(varargin);if numargin == 0 % QUANTEXPOGUI % create the GUI gui_Create = 1;elseif isequal(ishandle(varargin{1}), 1) && ispc && iscom(varargin{1}) && isequal(varargin{1},gcbo) % QUANTEXPOGUI(ACTIVEX,...) vin{1} = gui_State.gui_Name; vin{2} = [get(varargin{1}.Peer, 'Tag'), '_', varargin{end}]; vin{3} = varargin{1}; vin{4} = varargin{end-1}; vin{5} = guidata(varargin{1}.Peer); feval(vin{:}); return;elseif ischar(varargin{1}) && numargin>1 && isequal(ishandle(varargin{2}), 1) % QUANTEXPOGUI('CALLBACK',hObject,eventData,handles,...) gui_Create = 0;else % QUANTEXPOGUI(...) % create the GUI and hand varargin to the openingfcn gui_Create = 1;endif gui_Create == 0 varargin{1} = gui_State.gui_Callback; if nargout [varargout{1:nargout}] = feval(varargin{:}); else feval(varargin{:}); endelse if gui_State.gui_Singleton gui_SingletonOpt = 'reuse'; else gui_SingletonOpt = 'new'; end % Open fig file with stored settings. Note: This executes all component % specific CreateFunctions with an empty HANDLES structure. % Do feval on layout code in m-file if it exists if ~isempty(gui_State.gui_LayoutFcn) gui_hFigure = feval(gui_State.gui_LayoutFcn, gui_SingletonOpt); % openfig (called by local_openfig below) does this for guis without % the LayoutFcn. Be sure to do it here so guis show up on screen. movegui(gui_hFigure,'onscreen') else gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt); % If the figure has InGUIInitialization it was not completely created % on the last pass. Delete this handle and try again. if isappdata(gui_hFigure, 'InGUIInitialization') delete(gui_hFigure); gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt); end end % Set flag to indicate starting GUI initialization setappdata(gui_hFigure,'InGUIInitialization',1); % Fetch GUIDE Application options gui_Options = getappdata(gui_hFigure,'GUIDEOptions'); if ~isappdata(gui_hFigure,'GUIOnScreen') % Adjust background color if gui_Options.syscolorfig set(gui_hFigure,'Color', get(0,'DefaultUicontrolBackgroundColor')); end % Generate HANDLES structure and store with GUIDATA guidata(gui_hFigure, guihandles(gui_hFigure)); end % If user specified 'Visible','off' in p/v pairs, don't make the figure % visible. gui_MakeVisible = 1; for ind=1:2:length(varargin) if length(varargin) == ind break; end len1 = min(length('visible'),length(varargin{ind})); len2 = min(length('off'),length(varargin{ind+1})); if ischar(varargin{ind}) && ischar(varargin{ind+1}) && ... strncmpi(varargin{ind},'visible',len1) && len2 > 1 if strncmpi(varargin{ind+1},'off',len2) gui_MakeVisible = 0; elseif strncmpi(varargin{ind+1},'on',len2) gui_MakeVisible = 1; end end end % Check for figure param value pairs for index=1:2:length(varargin) if length(varargin) == index || ~ischar(varargin{index}) break; end try set(gui_hFigure, varargin{index}, varargin{index+1}), catch break, end end % If handle visibility is set to 'callback', turn it on until finished % with OpeningFcn gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:}); if ishandle(gui_hFigure) % Update handle visibility set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); % Make figure visible if gui_MakeVisible set(gui_hFigure, 'Visible', 'on') if gui_Options.singleton setappdata(gui_hFigure,'GUIOnScreen', 1); end end % Done with GUI initialization rmappdata(gui_hFigure,'InGUIInitialization'); end % If handle visibility is set to 'callback', turn it on until finished with % OutputFcn if ishandle(gui_hFigure) gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end gui_Handles = guidata(gui_hFigure); else gui_Handles = []; end if nargout [varargout{1:nargout}] = feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); else feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); end if ishandle(gui_hFigure) set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); endend function gui_hFigure = local_openfig(name, singleton)% openfig with three arguments was new from R13. Try to call that first, if% failed, try the old openfig.try gui_hFigure = openfig(name, singleton, 'auto');catch % OPENFIG did not accept 3rd input argument until R13, % toggle default figure visible to prevent the figure % from showing up too soon. gui_OldDefaultVisible = get(0,'defaultFigureVisible'); set(0,'defaultFigureVisible','off'); gui_hFigure = openfig(name, singleton); set(0,'defaultFigureVisible',gui_OldDefaultVisible);end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -