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

📄 gui_eeg_contours.m

📁 Matlab下的EEG处理程序库
💻 M
📖 第 1 页 / 共 3 页
字号:
        'set(EEGCONTOURS.handles.EgridRes,''String'', num2str(EEGCONTOURS.p.grid.res),''Value'', EEGCONTOURS.p.grid.res ); ',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Voltage Data Selection and Parameters

    height = (height - .01) - frameheight*5;
    
    G.Frame_data = uicontrol('Parent',GUI,'Style','frame','Units','Normalized',...
        'Position',[frameindent height framewidth frameheight*5]);
    
    G.Title_data = uicontrol('Parent',GUI,'Style','pushbutton','Units','Normalized',Font, ...
        'Position',[frameindent*2 height+L(5) titlewidth textheight],...
        'String','Voltage File','HorizontalAlignment','left',...
        'BackgroundColor',[0.0 0.0 0.75],'ForegroundColor', [1 1 1],...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''UserData'');',...
                          'gui_eeg_open(EEGCONTOURS.p,''init'',EEGCONTOURS.gui);',...
                          'clear EEGCONTOURS;'));
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Range of Data to Visualise
    
    G.Title_range = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[frameindent*2 height+L(4) titlewidth textheight],...
        'String','Voltage Range','HorizontalAlignment','left');

    switch p.rangeMethod
        case 'minmaxall', range = [1 0 0 0]; rangeEnable = 'off'; % Min/Max,all points
        case 'minmaxone', range = [0 1 0 0]; rangeEnable = 'off'; % Min/Max, single point
        case 'minmaxabs', range = [0 0 1 0]; rangeEnable = 'off'; % Min/Max, Absolute
        otherwise,        range = [0 0 0 1]; rangeEnable = 'on' ; % Specified range
    end
    % Min/Max across whole window
    G.BrangeMethod1 = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font, ...
        'Position',[indent(2) height+L(3) radiowidth radioheight], 'String','Min/Max all points','Value',range(1),...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'EEGCONTOURS.p.rangeMethod = ''minmaxall'';',...
            'set(EEGCONTOURS.handles.BrangeMethod1,''Value'',1);',...
            'set(EEGCONTOURS.handles.BrangeMethod2,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod3,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod4,''Value'',0);',...
            'set(EEGCONTOURS.handles.EminimumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.handles.EmaximumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    % Min/Max across time point only
    G.BrangeMethod2 = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font,  ...
        'Position',[indent(2) height+L(4) radiowidth radioheight],...
        'String','Min/Max','Value',range(2),...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'EEGCONTOURS.p.rangeMethod = ''minmaxone'';',...
            'set(EEGCONTOURS.handles.BrangeMethod1,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod2,''Value'',1);',...
            'set(EEGCONTOURS.handles.BrangeMethod3,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod4,''Value'',0);',...
            'set(EEGCONTOURS.handles.EminimumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.handles.EmaximumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    % Abs Min/Max across time point only
    G.BrangeMethod3 = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font,  ...
        'Position',[indent(3) height+L(4) radiowidth radioheight],...
        'String','Abs Min/Max','Value',range(3),...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'EEGCONTOURS.p.rangeMethod = ''minmaxabs'';',...
            'set(EEGCONTOURS.handles.BrangeMethod1,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod2,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod3,''Value'',1);',...
            'set(EEGCONTOURS.handles.BrangeMethod4,''Value'',0);',...
            'set(EEGCONTOURS.handles.EminimumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.handles.EmaximumIntensity,''Enable'',''off'');',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    % scale by specified range
    G.BrangeMethod4 = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font,  ...
        'Position',[indent(3) height+L(3) radiowidth radioheight], 'String','Specified Range', 'Value',range(4),...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'EEGCONTOURS.p.rangeMethod = ''minmaxgiv'';',...
            'set(EEGCONTOURS.handles.BrangeMethod1,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod2,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod3,''Value'',0);',...
            'set(EEGCONTOURS.handles.BrangeMethod4,''Value'',1);',...
            'min = EEGCONTOURS.p.minimumIntensity;',...
            'max = EEGCONTOURS.p.maximumIntensity;',...
            'set(EEGCONTOURS.handles.EminimumIntensity,''Enable'',''on'',''Value'',min,''String'',num2str(min) );',...
            'set(EEGCONTOURS.handles.EmaximumIntensity,''Enable'',''on'',''Value'',max,''String'',num2str(max) );',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    G.Title_min = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[indent(5)           height+L(4) textwidth textheight],'String','Min');
    G.EminimumIntensity = uicontrol('Parent',GUI,'Style','edit','Units','Normalized',Font,  ...
        'Position',[indent(5)-editwidth height+L(4) editwidth editheight],'Enable',rangeEnable,...
        'String',num2str(p.minimumIntensity),'Value',p.minimumIntensity,...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'min = str2num( get(EEGCONTOURS.handles.EminimumIntensity,''String'') );',...
            'set(EEGCONTOURS.handles.EminimumIntensity,''Value'',min,''String'',num2str(min) );',...
            'EEGCONTOURS.p.minimumIntensity = min; ',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
        
    G.Title_max = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[indent(5)           height+L(3) textwidth textheight],'String','Max');
    G.EmaximumIntensity = uicontrol('Parent',GUI,'Style','edit','Units','Normalized',Font,  ...
        'Position',[indent(5)-editwidth height+L(3) editwidth  editheight],'Enable',rangeEnable,...
        'String',num2str(p.maximumIntensity),'Value',p.maximumIntensity,...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'max = str2num( get(EEGCONTOURS.handles.EmaximumIntensity,''String'') );',...
            'set(EEGCONTOURS.handles.EmaximumIntensity,''Value'',max,''String'',num2str(max) );',...
            'EEGCONTOURS.p.maximumIntensity = max; ',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Range of TimePoints
    G.Title_range = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[frameindent*2 height+L(2) titlewidth textheight],...
        'String','Time Range','HorizontalAlignment','left');

    switch p.timeMethod
        case 1, time = [1 0]; endEnable = 'off'; singleEnable = 'on';  % Single Timepoint
        case 2, time = [0 1]; endEnable = 'on';  singleEnable = 'off'; % Range Timepoints
    end
    G.BclickTimePoint = uicontrol('Parent',GUI,'Style','Checkbox','Units','Normalized',Font,  ...
        'Position',[indent(1)+.05 height+L(1) radiowidth radioheight],...
        'String','Click Plot',...
        'TooltipString','Interactive data timepoint selection.',...
        'Value',p.clickTimePoint,...
        'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
            'EEGCONTOURS.p.clickTimePoint = get(EEGCONTOURS.handles.BclickTimePoint,''Value'');',...
            'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
        
    G.Title_sample1   = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[indent(2)-.04           height+L(2) radiowidth textheight],...
        'String','Sample Rate',...
        'TooltipString','Disabled until functionality developed.');
    G.EtimeSample     = uicontrol('Parent',GUI,'Style','edit','Units','Normalized',Font,  ...
        'Position',[indent(2)               height+L(1) editwidth  editheight],...
        'Min', 1, 'Max', 50000, ...
        'Value', p.volt.sampleMsec, 'String', num2str(p.volt.sampleMsec),...
        'TooltipString','Specify EEG/ERP sample rate in milliseconds.');
    
    G.BtimeMethod1    = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font, ...
        'Position',[indent(3) height+L(2) radiowidth radioheight],...
        'String','Single Point','Value',time(1));
    G.EtimePoint      = uicontrol('Parent',GUI,'Style','edit','Units','Normalized',Font, ...
        'Position',[indent(4) height+L(2) editwidth  editheight], 'Min', 1, 'Max', 50000, ...
        'Value', p.volt.samplePoint, 'String', num2str(p.volt.samplePoint));
    G.Title_start     = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[indent(5) height+L(2) textwidth textheight],'String','Start');
    
    G.BtimeMethod2 = uicontrol('Parent',GUI,'Style','Radiobutton',...
        'Units','Normalized',Font,  ...
        'Position',[indent(3)           height+L(1) radiowidth radioheight],...
        'String','Range','Value',time(2),...
        ...
        ...
        'TooltipString','Disabled until functionality developed.',...
        'Enable','off');
    
    G.EendTime  = uicontrol('Parent',GUI,'Style','edit','Units','Normalized',Font,  ...
        'Position',[indent(4) height+L(1) editwidth  editheight],'Enable',endEnable,...
        'String',num2str(p.endTime),'Value',p.endTime);
    G.Title_end = uicontrol('Parent',GUI,'Style','text','Units','Normalized',Font, ...
        'Position',[indent(5)           height+L(1) textwidth  textheight],'String','End');

    % Single Timepoint
    set(G.BtimeMethod1,'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
        'set(EEGCONTOURS.handles.BtimeMethod1,''Value'',1);',...
        'set(EEGCONTOURS.handles.BtimeMethod2,''Value'',0);',...
        'set(EEGCONTOURS.handles.EendTime,''Enable'',''off'');',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    % Specify a time point range
    set(G.BtimeMethod2,'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
        'set(EEGCONTOURS.handles.BtimeMethod1,''Value'',0);',...
        'set(EEGCONTOURS.handles.BtimeMethod2,''Value'',1);',...
        'set(EEGCONTOURS.handles.EendTime,''Enable'',''on'');',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    set(G.EtimeSample,'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
        'EEGCONTOURS.p.timeSample = str2num( get(EEGCONTOURS.handles.EtimeSample,''String'') );',...
        'set(EEGCONTOURS.handles.EtimeSample,''Value'',EEGCONTOURS.p.timeSample,''String'',num2str(EEGCONTOURS.p.timeSample) );',...
        'set(EEGCONTOURS.handles.EtimePoint,''Value'',EEGCONTOURS.p.volt.samplePoint,''String'',num2str(EEGCONTOURS.p.volt.samplePoint) );',...
        'set(EEGCONTOURS.handles.EendTime,  ''Value'',EEGCONTOURS.p.endTime,  ''String'',num2str(EEGCONTOURS.p.endTime) );',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    set(G.EtimePoint,'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
        'EEGCONTOURS.p.volt.samplePoint = str2num( get(EEGCONTOURS.handles.EtimePoint,''String'') );',...
        'set(EEGCONTOURS.handles.EtimePoint,''Value'',EEGCONTOURS.p.volt.samplePoint,''String'',num2str(EEGCONTOURS.p.volt.samplePoint) );',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    
    set(G.EendTime,'Callback',strcat('EEGCONTOURS = get(gcbf,''Userdata'');',...
        'EEGCONTOURS.p.endTime = str2num( get(EEGCONTOURS.handles.EendTime,''String'') );',...
        'set(EEGCONTOURS.handles.EendTime,  ''Value'',EEGCONTOURS.p.endTime,  ''String'',num2str(EEGCONTOURS.p.endTime) );',...
        'set(EEGCONTOURS.gui,''Userdata'',EEGCONTOURS); clear EEGCONTOURS;'));
    

⌨️ 快捷键说明

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