今天给数据设置montage的时候遇到了名称不匹配的问题,原因竟然是neuroscan的数据的通道名大小写不规范!可恶。
于是写了一个修改通道名来设置montage的。
# 这部分是看标准库中的字母是怎么写的,后面便于使用,这里用了standard_1005
montage = mne.channels.make_standard_montage("standard_1005")
montage.plot()
# 这个是数据库中的数据,用自己的就好了
data = mne.io.read_raw_cnt("EEG1.cnt" )
# 这边的设置是根据下面的报错结果来看哪些部分不符合规范,来进行手动甄别
# 修改通道名称需要传入一个字典,前面是通道的原名,后面是新名字
UM_rename_dict = { "FP1" : "Fp1",
"FP2" : "Fp2",
"FPZ" : "Fpz",
"FZ" : "Fz" ,
"FCZ" : "FCz",
"CZ" : "Cz" ,
"CPZ" : "CPz",
"OZ" : "Oz" ,
"PZ" : "Pz" ,
"POZ" : "POz" }
data.rename_channels(UM_rename_dict)
# 这边设置on_missing = 'warn',因为我不喜欢看报错
data.set_montage("standard_1005" , on_missing = 'warn')
data.plot()