Computing power value(s) per epoch using DICS

  • MNE version: 1.8.0
  • operating system: e.g. macOS 14

Hello! I am working with MEG data where I have epochs available for two different conditions A and B. I am trying to compute average power in a specific frequency band (e.g., alpha: 8–12 Hz) for each epoch separately for the two different conditions, using DICS beamformer. It is imperative that I compute average power value(s) per epoch. I have epoch information epochsA and epochsB, a forward model and noise covariance available.

Now, I have two queries:

  1. Method to compute the DICS filter.

I am currently using the csd_multitaper to compute a CSD averaged over all epochs. I then use the CSD to create filters, that are then used to obtain the source estimates for each condition. I am able to obtain one source estimate per epoch for each condition - where each source estimate has data of size [vertices x time points].
My question is: does it matter what type of CSD computation method I use? Is csd_multitaper more suitable for trying to extract power values per epoch?

csd_per_epo = csd_multitaper(epo_all, fmin=fmins, fmax=fmaxs, tmin=tmins, tmax=tmaxs)
filters = make_dics(
    epo_info,
    fwd,
    csd_per_epo.mean(),
    pick_ori="max-power",
    reduce_rank=True,
    real_filter=True,
)

# * apply DICS filter to each epoch (returns CSD estimates per epoch)
stcs_A = apply_dics_epochs(epo_A, filters, return_generator=False)
stcs_B = apply_dics_epochs(epo_B, filters, return_generator=False)
  1. I then try to extract the average power value per epoch using the data from the source estimates. My question here is whether this method is the correct way to extract a power value for an epoch.
for stc in stcs_A:
    power = stc.data.mean()  # mean power across sources

In general, is this method appropriate to try to achieve what I am aiming to do? Thank you very much for your help.