I have a dataset that included individual MRI, EEG and fMRI information. I have pre-processed my EEG recordings and have estimated the EEG sources using individual MRI in Brainstorm. Later, I have exported to SPM12 these sources estimated for all my experimental conditions for statistical purposes.
As far as I know, I think it is not yet possible to integrate the fMRI information in Brainstorm. However, I was wondering if you know or there would have some way to use in Brainstorm my fMRI results as constrains to specify the location priors of EEG sources. I also think that, after exporting the sources estimated to SPM12, it is not possible to integrate all this information (i.e., fMRI-constrained EEG source analysis).
There is currently no possibility to integrate fMRI priors in the source estimation process.
I am not even sure this is exactly what we want to do. If you constrain your activity to be in a given region, the minimum norm model will give you strong responses in this region because it is the only way to explain the data in input. Plus we are usually not sure we can observe corresponding effects in the BOLD and the EEG signals.
What is maybe more interesting is to reconstruct the EEG activity using the full brain and then either:
Compare the regions you get in the two modalities after exporting the EEG source maps as a volume, or
Use the fMRI results to create regions of interest (scouts) and display the activity over time in those regions.
For both approaches, the current limitation is that you need to have the MRI, the cortex surface and the fMRI registered to exactly the same space (same volume dimensions, same voxel size, same orientation).
If this is the case and you have your fMRI results that are saved as a 3D volume with integer labels to identify regions, you can import those regions as scouts into Brainstorm (Scout tab > Load button > File type “MRI mask or atlas”).
Only the vertices that are inside one labeled region are selected with this approach, all the fMRI blobs that do not clearly included large portions of cortex may not be correctly represented. But at least it gives you an idea of the region to target and then you can define better the region of interest on the surface manually.
I post this, because it may be useful for other users. It may be interesting to import a mask derived from an fMRI map or SPM as an atlas into Brainstorm and do further processing within this new scout defined by the fMRI or SPM mask. Here is an example code how it worked for me (I used some fieldtrip and SPM functions):
%% read the mni brain from mricrow
mri = ft_read_mri(‘ch2bet.nii’);
mri_bst = mri; % copy the structure
mri_bst.anatomy = Cube; % replace with Cube from the MNI exported by brainstorm
mask = ft_read_mri(‘mask.nii’); % read your mask (in MNI space)
% source interpolate your mask on mri if lower sampled
mask_interp = ft_sourceinterpolate(cfg,mask,mri_bst);
% now write your mask
V = spm_vol(‘mask.nii’); % create V struct
Y = spm_read_vols(V); % create Y variable
Y = mask_interp.anatomy; % now replace info
V.mat = mask_interp.transform; % now replace info
V.fname = ‘mask_integer.nii’; % change filename
V.dt = [2 0]; %int
spm_write_vol(V,Y); %write your mask that you can load as atlas
Now you can load the mask into brainstorm as pointed out by François above and the mask should appear as a scout within this new atlas.