⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sigplot2winguicb.m

📁 阵列信号处理的工具箱
💻 M
字号:
function sigplot2winGUIcb(callbackChoice, figureHandle)%  function sigplot2winGUIcb% %  This function retrieves the variables from the Graphical User Interface (GUI)%  and calls sigplot2. sigplot2 performs the actual plot-routines.%%  sigplot2win -> sigplot2winGUIcb -> sigplot2%   sigplot2win_s -> sigplot2win -> sigplot2winGUIcb -> sigplot2%  "A -> B" means that A calls B.%%  In: -%  Out: -%  Function Calls: sigplot2%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.% Start        : 2000-01-17 Jouni Rantakokko (jounir).% Latest change: $Date: 2000/10/16 15:21:46 $ $Author: svabj $.% $Revision: 1.15 $% *****************************************************************************  if (~isempty(gcbf))    curGuiFig = gcbf;  else    curGuiFig = figureHandle;    % If this function is not called by a callback from the correct window,    % the figure handle must be supplied by the caller.  end%if  if (nargin == 0)    dbterror('Input parameter "callbackChoice" is missing')  end%if  switch (callbackChoice)  case 'replot'    replot(curGuiFig);  case 'help'    helpwin2 sigplot2win  case 'restoreView'    disp('sigplot2winGUIcb:restoreView')    view([-37 50])  case 'signalInfo'    %disp('signalInfo')    sigsize(get(findobj(curGuiFig,'tag','sigplot2win'),'UserData'))  case 'options'    disp('options')  case 'GUIControlsOff'    % The callback figure is the GUI window.    %disp('GUIControlsOff')    replot(curGuiFig, 0)  case 'GUIControlsOn'    % The callback figure is the temporary window and not the GUI window.    %disp('GUIControlsOn')    tempUserData = get(gcbf,'UserData');    curGuiFig = tempUserData.GUIFigureHandle;    set(curGuiFig ,'Visible','On')    close(gcbf)  case 'sliderPulseCallBack'    startPulse = fix(get(findobj(curGuiFig,'tag','SliderPulse'),'Value'));    set(findobj(curGuiFig,'tag','EditTextStartIndexPulse'),'String',...      startPulse);           %set(findobj(curGuiFig,'tag','SliderPulse'),'Max',10);                                                                 case 'sliderRangeCallBack'    set(findobj(curGuiFig,'tag','EditTextStartIndexRange'),'String',...      fix(get(findobj(curGuiFig,'tag','SliderRange'),'Value')));  case 'sliderSpaceCallBack'    set(findobj(curGuiFig,'tag','EditTextStartIndexSpace'),'String',...      fix(get(findobj(curGuiFig,'tag','SliderSpace'),'Value')));  case 'sliderExtraCallBack'    set(findobj(curGuiFig,'tag','EditTextStartIndexExtra'),'String',...      fix(get(findobj(curGuiFig,'tag','SliderExtra'),'Value')));  case 'sliderCPICallBack'    set(findobj(curGuiFig,'tag','EditTextStartIndexCPI'),'String',...      fix(get(findobj(curGuiFig,'tag','SliderCPI'),'Value')));  case 'sliderTrialCallBack'    set(findobj(curGuiFig,'tag','EditTextStartIndexTrial'),'String',...      fix(get(findobj(curGuiFig,'tag','SliderTrial'),'Value')));  case 'startIndexPulseCallBack'                                   set(findobj(curGuiFig,'tag','SliderPulse'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexPulse'),...      'string')));  case 'startIndexRangeCallBack'    set(findobj(curGuiFig,'tag','SliderRange'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexRange'),...      'string')));   case 'startIndexSpaceCallBack'    set(findobj(curGuiFig,'tag','SliderSpace'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexSpace'),...      'string')));  case 'startIndexExtraCallBack'    set(findobj(curGuiFig,'tag','SliderExtra'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexExtra'),...      'string')));  case 'startIndexCPICallBack'    set(findobj(curGuiFig,'tag','SliderCPI'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexCPI'),'string')));  case 'startIndexTrialCallBack'    set(findobj(curGuiFig,'tag','SliderTrial'),'Value',...      str2num(get(findobj(curGuiFig,'tag','EditTextStartIndexTrial'),...      'string')));  case 'dummy'     disp('dummy')  case 'dummy'     disp('dummy')  end%switch  autoPlotFlag = 0;  if ((autoPlotFlag) & ~strcmp(callbackChoice,'replot'))    sigplot2winGUIcb('replot')  end%if%endfunction sigplot2winGUIcb% ----------------------------------------------------------------------- %% function cfunc;% ----------------------------------------------------------------------- %function outVar = cfunc(inVar);  %inVar  %iscell(inVar)  %ischar(inVar{1})  if (iscell(inVar))    inVar = inVar{1};  end%if  if ischar(inVar)     %inVar = str2num(inVar);    inVar = eval(inVar);  end%if  outVar = inVar;%endfunction cfunc% ----------------------------------------------------------------------- %% function replot% ----------------------------------------------------------------------- %function replot(curGuiFig, uiControlFlag)%  uiControlFlag [D](BoolT): Whether to print the user inteface controls,%    e.g. buttons and popup menus, which are present in the figure window%    (=1) or not (=0).  if (nargin < 2)    uiControlFlag = 1;  end%if  pulStartIndex=cfunc(get(findobj('tag','EditTextStartIndexPulse'),'String'));  ranStartIndex=cfunc(get(findobj('tag','EditTextStartIndexRange'),'String'));  spaStartIndex=cfunc(get(findobj('tag','EditTextStartIndexSpace'),'String'));  %extraStartIndex=cfunc(get(findobj('tag','EditTextStartIndexExtra'),...  %  'String'));  cpiStartIndex=cfunc(get(findobj('tag','EditTextStartIndexCPI'),'String'));  %trialStartIndex=cfunc(get(findobj('tag','EditTextStartIndexTrial'),...  %  'String'));  pulLength=cfunc(get(findobj('tag','EditTextLengthPulse'),'string'));  ranLength=cfunc(get(findobj('tag','EditTextLengthRange'),'string'));  spaLength=cfunc(get(findobj('tag','EditTextLengthSpace'),'string'));  %extraLength=cfunc(get(findobj('tag','EditTextLengthExtra'),'string'));  cpiLength=cfunc(get(findobj('tag','EditTextLengthCPI'),'string'));  %trialLength=cfunc(get(findobj('tag','EditTextLengthTrial'),'string'));  pulIx=pulStartIndex:(pulStartIndex+pulLength-1);  ranIx=ranStartIndex:(ranStartIndex+ranLength-1);  spaIx=spaStartIndex:(spaStartIndex+spaLength-1);  %extraIx=extraStartIndex:(extraStartIndex+extraLength-1);  cpiIx=cpiStartIndex:(cpiStartIndex+cpiLength-1);  %trialIx=trialStartIndex:(trialStartIndex+trialLength-1);  sigTypeIx=(get(findobj(curGuiFig,'tag','PopupMenuSignalType'),'value'));  sigTypeCell={'sig';'fft'};  sigType=sigTypeCell{sigTypeIx};  sigPartIx=(get(findobj(curGuiFig,'tag','PopupMenuSignalPart'),'value'));  sigPartCell={'abs';'angle';'uwangle';'real';'imag'};  sigPart=sigPartCell{sigPartIx};  scaleTypeIx=(get(findobj(curGuiFig,'tag','PopupMenuScaleType'),'value'));  scaleTypeCell={'lin';'dB';'log';'radians';'degrees';'pirad'};  scaleType=scaleTypeCell{scaleTypeIx};  normTypeIx=(get(findobj(curGuiFig,'tag','PopupMenuNormType'),'value'));  normTypeCell={'min';'max';'none'};  normType=normTypeCell{normTypeIx};  plotTypeIx=(get(findobj(curGuiFig,'tag','PopupMenuPlotType'),'value'));  plotTypeCell={'surf';'surfl';'surfc';'mesh';'meshc';'meshz';'pcolor';...      'contour';'contourf';'contour3';'bar';'barh';'bar3';'plot';'stem';...      'stairs';'noplot';};  plotType=plotTypeCell{plotTypeIx};  pulAxis=cfunc(get(findobj('tag','EditTextAxisValuesPulse'),'string'));  ranAxis=cfunc(get(findobj('tag','EditTextAxisValuesRange'),'string'));  spaAxis=cfunc(get(findobj('tag','EditTextAxisValuesSpace'),'string'));  %extraAxis=cfunc(get(findobj('tag','EditTextAxisValuesExtra'),'string'));  cpiAxis=cfunc(get(findobj('tag','EditTextAxisValuesCPI'),'string'));  %trialAxis=cfunc(get(findobj('tag','EditTextAxisValuesTrial'),'string'));  normLevel=cfunc(get(findobj('tag','EditTextNormLevel'),'string'));	  normMaxLevel=normLevel;  normMinLevel=normLevel;		% normMinLevel=normMaxLevel...  plotMinLevel=cfunc(get(findobj('tag','EditTextPlotMinLevel'),'string'));  plotMaxLevel=cfunc(get(findobj('tag','EditTextPlotMaxLevel'),'string'));  sigMinVal=cfunc(get(findobj('tag','EditTextSignalMinValue'),'string'));  sigMaxVal=cfunc(get(findobj('tag','EditTextSignalMaxValue'),'string'));  lineSpec=cfunc(get(findobj('tag','EditTextLineSpec'),'string'));  extraPlotParam=cfunc(get(findobj('tag','EditTextExtraPlotParameter'),'string'));  sigToPlot=get(findobj(curGuiFig,'tag','sigplot2win'),'UserData');  % ********* If GUI controlls off, create a new figure to plot in **********  if (uiControlFlag)    plotFig = curGuiFig;    axes(findobj(curGuiFig,'tag','AxesPlot'));  else %(uiControlFlag)    %curColorMap = colormap;    %[viewAz, viewEl] = view;    curAxes = findobj(curGuiFig,'tag','AxesPlot');    curTitle = get(get(curAxes,'Title'),'String')    curGuiFigPos = get(curGuiFig,'Position');    set(curGuiFig ,'Visible','Off')    tempFig = figure;    tempFigPos = get(tempFig,'Position');    tempFigPos(1) = curGuiFigPos(1);    %tempFigPos(2) = curGuiFigPos(2) + (curGuiFigPos(4) - tempFigPos(4));    tempFigPos(2) = curGuiFigPos(2);    set(tempFig,'Position',tempFigPos)    viewMenu = uimenu(tempFig ,'Label','&View', 'Position',3);    toggleGUIControlsMenu = uimenu(viewMenu ,...      'Label','GUI &Controls On',  ...      'Callback','sigplot2winGUIcb(''GUIControlsOn'')');    tempUserData.GUIFigureHandle = curGuiFig;    set(tempFig, 'UserData',tempUserData)    %view([viewAz, viewEl]);    %colormap(curColorMap);    title(curTitle)  end%if (uiControlFlag)  % ****************** Execute the actual plot command ******************  if (1)    % Should execute this branch the first time for this figure.    %[viewAz, viewEl] = view;  end%if (1)  sigplot2(sigToPlot,pulIx,ranIx,spaIx,[],cpiIx,sigType,sigPart,scaleType,...    normType,plotType,lineSpec,pulAxis,ranAxis,spaAxis,[],[],normMinLevel,...    normMaxLevel,plotMinLevel,plotMaxLevel,sigMinVal,sigMaxVal,extraPlotParam);  set(gca,'tag','AxesPlot'); % After plots the tag for the axes must be reset...  %view([viewAz, viewEl]);  if (uiControlFlag)  else %(uiControlFlag)    title(curTitle)  end%if (uiControlFlag)%endfunction replot

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -