...
|
...
|
@@ -78,10 +78,10 @@ Fmenu = figure('IntegerHandle','off',... |
|
|
'Color',[1 1 1]*.8,...
|
|
|
'UserData',struct('SPMver',SPMver,'SPMc',SPMc),...
|
|
|
'MenuBar','none',...
|
|
|
'DefaultTextFontName',PF.helvetica,...
|
|
|
'DefaultTextFontSize',FS(10),...
|
|
|
'DefaultUicontrolFontName',PF.helvetica,...
|
|
|
'DefaultUicontrolFontSize',FS(12),...
|
|
|
... 'DefaultTextFontName',PF.helvetica,...
|
|
|
'DefaultTextFontSize',FS(8),...
|
|
|
... 'DefaultUicontrolFontName',PF.helvetica,...
|
|
|
'DefaultUicontrolFontSize',FS(8),...
|
|
|
'DefaultUicontrolInterruptible','on',...
|
|
|
'Renderer','painters',...
|
|
|
'Visible','on', ...
|
...
|
...
|
@@ -100,7 +100,6 @@ uicontrol(Fmenu,'Style','Text',... |
|
|
'Position',[025 410 350 020].*WS,...
|
|
|
'ForegroundColor','k',...
|
|
|
'FontAngle','Italic',...
|
|
|
'FontSize',FS(10),...
|
|
|
'HorizontalAlignment','Left',...
|
|
|
'Tag', 'EEG')
|
|
|
|
...
|
...
|
@@ -112,7 +111,6 @@ uicontrol(Fmenu,'Style','Text',... |
|
|
'Position',[025 315 350 020].*WS,...
|
|
|
'ForegroundColor','k',...
|
|
|
'FontAngle','Italic',...
|
|
|
'FontSize',FS(10),...
|
|
|
'HorizontalAlignment','Left',...
|
|
|
'Tag', 'EEG')
|
|
|
|
...
|
...
|
@@ -124,7 +122,6 @@ uicontrol(Fmenu,'Style','Text',... |
|
|
'String','Display',...
|
|
|
'Position',[025 270 350 020].*WS,...
|
|
|
'ForegroundColor','k',...
|
|
|
'FontSize',FS(10),...
|
|
|
'FontAngle','Italic',...
|
|
|
'HorizontalAlignment','Left',...
|
|
|
'Tag', 'EEG')
|
...
|
...
|
@@ -137,7 +134,6 @@ uicontrol(Fmenu,'Style','Text',... |
|
|
'Position',[025 175 350 020].*WS,...
|
|
|
'ForegroundColor','k',...
|
|
|
'FontAngle','Italic',...
|
|
|
'FontSize',FS(10),...
|
|
|
'HorizontalAlignment','Left',...
|
|
|
'Tag', 'EEG')
|
|
|
|
...
|
...
|
@@ -145,7 +141,7 @@ uicontrol(Fmenu,'Style','Text',... |
|
|
'String','SPM Intracerebral EEG Toolbox',...
|
|
|
'ToolTipString','modality & defaults set for EEG/MEG',...
|
|
|
'ForegroundColor',[1 1 1]*.6,'BackgroundColor',[1 1 1]*.8,...
|
|
|
'FontName',PF.times,'FontAngle','Italic','FontWeight','Bold',...
|
|
|
'FontAngle','Italic','FontWeight','Normal','FontSize',FS(10),...
|
|
|
'HorizontalAlignment','center',...
|
|
|
'Position',[020 122 360 020].*WS,...
|
|
|
'Tag','EEG','Visible','on')
|
...
|
...
|
@@ -161,7 +157,6 @@ uicontrol(Fmenu,'Style','Text','String',SPMc,... |
|
|
'ForegroundColor',[1 1 1]*.6,...
|
|
|
'BackgroundColor',[1 1 1]*.8,...
|
|
|
'FontName',PF.times,...
|
|
|
'FontSize',FS(10),...
|
|
|
'HorizontalAlignment','center',...
|
|
|
'Position',[020 002 360 008].*WS)
|
|
|
|
...
|
...
|
@@ -170,59 +165,56 @@ uicontrol(Fmenu,'Style','Text','String',SPMc,... |
|
|
|
|
|
%-Data
|
|
|
%-----------------------------------------------------------------------
|
|
|
uicontrol(Fmenu,'String','Convert',...
|
|
|
'Position',[035 380 100 030].*WS,...
|
|
|
'ToolTipString','Convert data in SPM EEG format',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_spm_eeg_converteeg2mat',...
|
|
|
'CallBack','ImaGIN_spm_eeg_converteeg2mat;',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on')
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Import| Convert| Events| Electrodes positions| Bipolar montage',...
|
|
|
'Position',[035 380 100 030].*WS,...
|
|
|
'FontSize', FS(9), ...
|
|
|
'ToolTipString', 'Convert data in SPM EEG format',...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_spm_eeg_converteeg2mat;','ImaGIN_Events;','ImaGIN_Electrode;','ImaGIN_BipolarMontage;'},...
|
|
|
'Tag', 'EEG');
|
|
|
|
|
|
uicontrol(Fmenu,'String','Montage',...
|
|
|
'Position',[035 345 100 030].*WS,...
|
|
|
'ToolTipString',['Create a new SPM montage file from two text files' 10 '(names and positions of the electrodes)'],...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_Montage',...
|
|
|
'CallBack','ImaGIN_Montage(1);',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on');
|
|
|
|
|
|
uicontrol(Fmenu,'String','Events',...
|
|
|
'Position',[150 380 100 030].*WS,...
|
|
|
'ToolTipString','Add or remove events',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_Events',...
|
|
|
'CallBack','ImaGIN_Events;',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on');
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Preprocess| Bandpass filter| Notch filter| Downsample',...
|
|
|
'Position',[150 380 100 030].*WS,...
|
|
|
'FontSize', FS(9), ...
|
|
|
'ToolTipString','Other preprocessing functions',...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_BPFilter;','ImaGIN_NotchFilter;','ImaGIN_spm_eeg_downsample;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Display| ImaGIN viewer| SPM viewer',...
|
|
|
'Position',[265 380 100 030].*WS,...
|
|
|
'FontSize', FS(9), ...
|
|
|
'ToolTipString','Other preprocessing functions',...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_DispData;','spm_eeg_review;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Time zero',...
|
|
|
'Position',[150 345 100 030].*WS,...
|
|
|
'Position',[035 345 100 030].*WS,...
|
|
|
'ToolTipString','Define time origin compared to a pre-defined event',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_TimeZero',...
|
|
|
'CallBack','ImaGIN_TimeZero;',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on');
|
|
|
|
|
|
uicontrol(Fmenu,'String','Epoch',...
|
|
|
'Position',[265 380 100 030].*WS,...
|
|
|
'Position',[150 345 100 030].*WS,...
|
|
|
'ToolTipString','Select a time window according to pre-defined events and overwrite a new (smaller) data set',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_Crop',...
|
|
|
'CallBack','ImaGIN_Crop;',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on');
|
|
|
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Pre-process...| Bandpass filter| Notch filter| Downsample',...
|
|
|
'Position',[265 345 100 030].*WS,...
|
|
|
'ToolTipString','Other preprocessing functions',...
|
|
|
'FontSize',FS(10),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_BPFilter;','ImaGIN_NotchFilter;','ImaGIN_spm_eeg_downsample;'},...
|
|
|
'Tag', 'EEG')
|
|
|
uicontrol(Fmenu,'String','Montage',...
|
|
|
'Position',[265 345 100 030].*WS,...
|
|
|
'ToolTipString',['Create a new SPM montage file from two text files' 10 '(names and positions of the electrodes)'],...
|
|
|
'UserData','ImaGIN_Montage',...
|
|
|
'CallBack','ImaGIN_Montage(1);',...
|
|
|
'Tag', 'EEG',...
|
|
|
'Visible','on');
|
|
|
|
|
|
% Spatial EEG
|
|
|
%-----------------------------------------------------------------------
|
...
|
...
|
@@ -230,7 +222,6 @@ uicontrol(Fmenu,'Style','PopUp',... |
|
|
'String','FFT| Compute',...
|
|
|
'Position',[25 290 50 030].*WS,...
|
|
|
'ToolTipString','Power spectrum density',...
|
|
|
'FontSize',FS(10),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_FFT;'},...
|
|
|
'Tag', 'EEG')
|
...
|
...
|
@@ -239,33 +230,29 @@ uicontrol(Fmenu,'Style','PopUp',... |
|
|
'String','Time Freq| Compute| Normalise| Rescale| Average',...
|
|
|
'Position',[85 290 65 030].*WS,...
|
|
|
'ToolTipString','Time frequency analysis (power and synchrony)',...
|
|
|
'FontSize',FS(10),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_spm_eeg_tf;','ImaGIN_NormaliseTF;','ImaGIN_RescaleTF;','ImaGIN_AverageTF;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Causality| Compute| Normalise| Average',...
|
|
|
'String','Causality| Compute| Average',...
|
|
|
'Position',[160 290 65 030].*WS,...
|
|
|
'ToolTipString','Causality analysis',...
|
|
|
'FontSize',FS(10),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_causality_compute;','ImaGIN_causality_normalise;','ImaGIN_causality_average;'},...
|
|
|
'UserData',{'ImaGIN_causality_compute;','ImaGIN_causality_average;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String','Firing rate| Compute| Normalise| Average',...
|
|
|
'String','Firing rate| Compute',...
|
|
|
'Position',[235 290 65 030].*WS,...
|
|
|
'ToolTipString','Firing rate',...
|
|
|
'FontSize',FS(10),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{'ImaGIN_spike_compute;','ImaGIN_spike_normalise;','ImaGIN_spike_average;'},...
|
|
|
'UserData',{'ImaGIN_spike_compute;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'String','3D interpolation',...
|
|
|
'Position',[310 300 65 030].*WS,...
|
|
|
'ToolTipString', '3D interpolation of EEG intracerebral data',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_spm_eeg_TF_images_3D;',...
|
|
|
'CallBack','ImaGIN_spm_eeg_TF_images_3D;',...
|
|
|
'Visible','on',...
|
...
|
...
|
@@ -275,7 +262,6 @@ uicontrol(Fmenu,'String','3D interpolation',... |
|
|
%-----------------------------------------------------------------------
|
|
|
uicontrol(Fmenu,'String','Montage',...
|
|
|
'Position',[25 240 110 030].*WS,...
|
|
|
'FontSize',FS(10),...
|
|
|
'ToolTipString','Display montage',...
|
|
|
'UserData','ImaGIN_Montage',...
|
|
|
'CallBack','ImaGIN_Montage(2);',...
|
...
|
...
|
@@ -283,7 +269,6 @@ uicontrol(Fmenu,'String','Montage',... |
|
|
|
|
|
uicontrol(Fmenu,'String','Data',...
|
|
|
'Position',[25 205 110 030].*WS,...
|
|
|
'FontSize',FS(10),...
|
|
|
'ToolTipString','Display data',...
|
|
|
'UserData','ImaGIN_DispData',...
|
|
|
'CallBack','ImaGIN_DispData;',...
|
...
|
...
|
@@ -291,7 +276,6 @@ uicontrol(Fmenu,'String','Data',... |
|
|
|
|
|
uicontrol(Fmenu,'String','Time Frequency',...
|
|
|
'Position',[145 240 110 030].*WS,...
|
|
|
'FontSize',FS(10),...
|
|
|
'ToolTipString','Display time frequency analysis',...
|
|
|
'UserData','ImaGIN_DispTF',...
|
|
|
'CallBack','ImaGIN_DispTF',...
|
...
|
...
|
@@ -300,7 +284,6 @@ uicontrol(Fmenu,'String','Time Frequency',... |
|
|
uicontrol(Fmenu,'String','Brain overlay',...
|
|
|
'Position',[145 205 110 030].*WS,...
|
|
|
'ToolTipString', '3D EEG intracerebral data overlaid on a brain',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','ImaGIN_Disp3D;',...
|
|
|
'CallBack','ImaGIN_Disp3D;',...
|
|
|
'Visible','on',...
|
...
|
...
|
@@ -308,7 +291,6 @@ uicontrol(Fmenu,'String','Brain overlay',... |
|
|
|
|
|
uicontrol(Fmenu,'String','Causality',...
|
|
|
'Position',[265 240 110 030].*WS,...
|
|
|
'FontSize',FS(10),...
|
|
|
'ToolTipString','Display causality analysis',...
|
|
|
'UserData','ImaGIN_DispCausality',...
|
|
|
'CallBack','ImaGIN_DispCausality',...
|
...
|
...
|
@@ -316,8 +298,8 @@ uicontrol(Fmenu,'String','Causality',... |
|
|
|
|
|
uicontrol(Fmenu,'String','Results',...
|
|
|
'Position',[130 160 130 030].*WS,...
|
|
|
'FontSize',FS(9), ...
|
|
|
'ToolTipString','Inference and regional responses etc.',...
|
|
|
'FontSize',FS(10),...
|
|
|
'UserData','spm_results_ui',...
|
|
|
'CallBack','[hReg,xSPM,SPM] = spm_results_ui;',...
|
|
|
'Tag', 'EEG');
|
...
|
...
|
@@ -328,17 +310,15 @@ uicontrol(Fmenu,'Style','PopUp',... |
|
|
'String','Display...|images|M/EEG',...
|
|
|
'Position',[020 088 082 024].*WS,...
|
|
|
'ToolTipString','orthogonal sections and M/EEG display',...
|
|
|
'FontSize',FS(9),...
|
|
|
'CallBack','spm(''PopUpCB'',gcbo)',...
|
|
|
'UserData',{ 'spm_jobman(''serial'','''',''jobs.util.disp'');','spm_eeg_review;'},...
|
|
|
'UserData',{'spm_image;','spm_eeg_review;'},...
|
|
|
'Tag', 'EEG')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Check Reg',...
|
|
|
'Position',[112 088 083 024].*WS,...
|
|
|
'ToolTipString','check image registration',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','jobs.util.checkreg',...
|
|
|
'CallBack','spm_jobman(''serial'','''',''jobs.util.checkreg'');')
|
|
|
'UserData','spm_check_registration',...
|
|
|
'CallBack','spm_check_registration;')
|
|
|
|
|
|
uicontrol(Fmenu,'Style','PopUp',...
|
|
|
'String',Modalities,...
|
...
|
...
|
@@ -363,45 +343,33 @@ uicontrol(Fmenu,'Style','PopUp',... |
|
|
uicontrol(Fmenu,'String','Seizure detect',...
|
|
|
'Position',[020 054 083 024].*WS,...
|
|
|
'ToolTipString','Detect seizure and write a time series in a new channel',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','ImaGIN_SeizureDetect',...
|
|
|
'CallBack','ImaGIN_SeizureDetect;')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Epileptogenicity',...
|
|
|
'Position',[020 020 083 024].*WS,...
|
|
|
'ToolTipString','Compute epileptogenicity on SEEG',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','ImaGIN_Epileptogenicity',...
|
|
|
'CallBack','ImaGIN_Epileptogenicity;')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Stim detect',...
|
|
|
'Position',[112 054 083 024].*WS,...
|
|
|
'ToolTipString','Detect stimulation and write events in a text file',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','ImaGIN_StimDetect',...
|
|
|
'CallBack','ImaGIN_StimDetect;')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Artefact correct',...
|
|
|
'Position',[112 020 083 024].*WS,...
|
|
|
'ToolTipString','Correct stimulation artefacts',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','ImaGIN_ArtefactCorrectionModel',...
|
|
|
'CallBack','ImaGIN_ArtefactCorrectionModel;')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Implantation',...
|
|
|
'Position',[205 020 083 024].*WS,...
|
|
|
'ToolTipString','Prepare montage from postop MRI',...
|
|
|
'FontSize',FS(9),...
|
|
|
'UserData','ImaGIN_MRImplantation',...
|
|
|
'CallBack','ImaGIN_MRImplantation;')
|
|
|
|
|
|
% uicontrol(Fmenu,'String','Atlas connect',...
|
|
|
% 'Position',[205 088 083 024].*WS,...
|
|
|
% 'ToolTipString','Display DES connectivity atlas',...
|
|
|
% 'FontSize',FS(9),...
|
|
|
% 'UserData','ImaGIN_ConnectStim',...
|
|
|
% 'CallBack','ImaGIN_ConnectStim;')
|
|
|
|
|
|
uicontrol(Fmenu,'String','Quit',...
|
|
|
'Position',[298 020 082 024].*WS,...
|
|
|
'ToolTipString','exit SPM',...
|
...
|
...
|
|