Current implementation of **mne.grand_average API equalizes channels across subjects before performing a grand average. Is there any way to construct/interpolate the missing channels based on the neighboring channels on grand average data similarly to a single subject?
The problem that I am facing is something similar:
sub1 has grad channels (physical) : 1, 2, …50, 51, 52, 53
sub2 has grad channels : 1,2, … 50, 51, 53 (ch 52 is missing, it’s not registered as bad that can be interpolated)
sub3 has grad channels: 1, 2, …51, 52, 53 (50 is missing)
… and so on!
now, if you do grand average, the output becomes: 1, 2, …51, 53 (50 and 52 are not there due to channel equalization across subjects). How can I interpolate or retreat back the missing channels in the grand average unless the missing channels across subjects can be labeled/marked as bad in the grand average? At the moment, MNE doesn’t offer this option. I hope I am clearer with the explanation.
Can the missing channel locations be known somehow? I.e., if they’re grad channels in a SQUID system then the location is fixed, and you could add an all-zero channel to the montage of subject 2, getting its location from the montage of subject 1. Be mindful of coordinate system transforms if you take this approach (e.g., look at montage.dig[0]['coord_frame'] of both subjects)
@dasdiptyajit the mne.grand_average() function accepts a combination of the interpolate_bads and drop_bads parameters. I think what you’re looking for is
The solution that I am looking for is something similar what @drammock has proposed. The channels were physically turned off due to high noise. So, they aren’t marked as bads that can be interpolated.
I will give it a go and try to post the intermediate results.