Brainstorm head model can't be copied and inverse computed

Brainstorm head model can't be copied and inverse computed

I would like to ask if I am calculating the epoch by other software and import it into brainstorm, when calculating the head model for the subjects, is it possible to generate one head model per subject? Now it seems that I need to generate one head model per epoch, which is very time-consuming when I have a large number of epochs.

It seems that brainstorm can copy the generated header model to other epoch or subject files, but it can't do the inverse operation after copying, and it reports the following error. Only after I recalculate the header model based on the new epoch, the inverse operation can be performed properly.

2021-07-05_09-40

BST> Starting Brainstorm:
BST> =================================
BST> Version: 24-Jun-2021
BST> Compiling main interface files...
BST> Emptying temporary directory...
BST> Deleting old process reports...
BST> Loading configuration file...
BST> Checking internet connectivity... ok
BST> Initializing user interface...
BST> Starting OpenGL engine... hardware
BST> Reading process folder...
BST> Loading current protocol...
BST> =================================
 
BST_INVERSE (2018) > Modified Feb 2018
BST_INVERSE (2018) > NOTE: Cross Covariance between sensor modalities IS NOT CALCULATED in the noise covariance matrix
BST_INVERSE > Rank of the 'EEG' channels, keeping 128 noise eigenvalues out of 128 original set
BST_INVERSE > Using the 'diag' method of covariance regularization.
BST_INVERSE > Covariance matrix reduced to diagonal.
BST_INVERSE > Using 'fixed' surface orientations

Error using svd
   Input to SVD must not contain NaN or Inf.
Error in bst_inverse_linear_2018 (line 766)
   [UL,SL2] = svd((L*L'));
Error in process_inverse_2018>Compute (line 656)
   [Results, OPTIONS] = bst_inverse_linear_2018(HeadModel, OPTIONS);
Error in process_inverse_2018 (line 24)
   eval(macro_method);
Error in panel_protocols>TreeInverse (line 1316)
   [OutputFiles, errMessage] = process_inverse_2018('Compute', iStudies, iDatas);
Error in panel_protocols (line 44)
   eval(macro_method);
Error in tree_callbacks>@(h,ev)panel_protocols('TreeInverse',bstNodes,'2018') (line 2563)
   gui_component('MenuItem', jPopup, [], 'Compute sources [2018]', IconLoader.ICON_RESULTS, [], @(h,ev)panel_protocols('TreeInverse', bstNodes, '2018'));

The problem is that you have a mix of Elekta MEG and EGI EEG recordings.
You can't use a MEG forward model for estimating sources from EEG recordings...

Either you copy manually (CTRL+C / CTRL+V) the head model files to the appropriate folders only, or you create two separate subjects, e.g. s09_MEG and s09_EEG.

I have some confusion, because all my data is eeg, and I use open meeg bem when calculating the header model, but this seems to be able to calculate the header model for eeg as well.

I don't quite understand what you mean by Elekta MEG.

Also, I found that I can calculate a header model for different epochs when I select use one channel file per subject in the default channel file when creating a new subject.

But at the same time, it seems that the noise covariance of different epochs cannot be calculated separately, and only one noise covariance can be calculated.
It seems that brainstorm provides the option to merge the noise covariance of different epochs, but I don't quite understand which is better, this merge or I generate a separate noise covariance for each epoch?

The file "Neuromag channels" indicates data coming from a FIF file.
This cannot be mixed with data coming from EGI .raw files.

Also, I found that I can calculate a header model for different epochs when I select use one channel file per subject in the default channel file when creating a new subject.
But at the same time, it seems that the noise covariance of different epochs cannot be calculated separately, and only one noise covariance can be calculated.

https://neuroimage.usc.edu/brainstorm/Tutorials/CreateProtocol#Create_your_first_protocol

It seems that brainstorm provides the option to merge the noise covariance of different epochs, but I don't quite understand which is better, this merge or I generate a separate noise covariance for each epoch?

https://neuroimage.usc.edu/brainstorm/Tutorials/NoiseCovariance#Variations_on_how_to_estimate_sample_noise_covariance