Hi Professor McCloy,
I’ve been working with your code and it works like a ‘charm’ when doing average reference, but when I try Cz and Rest nothing happens (no error in terminal), on the other hand when I do ‘mne.preprocessing.compute_current_source_density’ as reference, it plots correct but with very high amplitude.
my alterations in your code for Cz are:
#-------------------
def make_bipolar01_Cz(self): # dont change anything (no error in terminal)
plt.clf()
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'), ('T3', 'T5'), ('T5', 'O1'), ('Fp1', 'F3'), ('F3', 'C3'),
('C3', 'P3'), ('P3', 'O1'), ('Fp2', 'F8'), ('F8', 'T4'), ('T4', 'T6'), ('T6', 'O2'),
('Fp2', 'F4'), ('F4', 'C4'), ('C4', 'P4'), ('P4', 'O2'), ('Fz', 'Cz'), ('Cz', 'Pz'),
('Pz', 'Oz')]
#EEG_raw.set_eeg_reference('Cz', projection=False) #doesnot work
rereferenced_raw, ref_data = mne.set_eeg_reference(EEG_raw, ['Cz'],
copy=True)
difference_pairs = re_reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = rereferenced_raw.get_data(picks=first_chs)
second_data = rereferenced_raw.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=rereferenced_raw.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_Cz = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=rereferenced_raw.first_samp
)
EEG_raw = copy.deepcopy(bipolar_01_Reref_Cz)
#--------------------
Bellow works but very high amplitude
#-------------------
def make_bipolar01_CSD(self): #works but very high amplitude
raw_copy = mne.preprocessing.compute_current_source_density(Pages.EEG_raw)
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'), ('T3', 'T5'), ('T5', 'O1'), ('Fp1', 'F3'), ('F3', 'C3'),
('C3', 'P3'), ('P3', 'O1'), ('Fp2', 'F8'), ('F8', 'T4'), ('T4', 'T6'), ('T6', 'O2'),
('Fp2', 'F4'), ('F4', 'C4'), ('C4', 'P4'), ('P4', 'O2'), ('Fz', 'Cz'), ('Cz', 'Pz'),
('Pz', 'Oz')]
difference_pairs = re_reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = EEG_raw_copy.get_data(picks=first_chs)
second_data = EEG_raw_copy.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=EEG_raw_copy.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_CSD = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=EEG_raw_copy.first_samp
)
Pages.EEG_raw = copy.deepcopy(bipolar_01_Reref_CSD)
#-------------------
The last one works perfectly:
#-------------------
def make_bipolar01_CAR(self):
plt.clf()
Pages.EEG_raw.set_eeg_reference('average', projection=False)
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'),...
difference_pairs = reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = Pages.EEG_raw.get_data(picks=first_chs)
second_data = Pages.EEG_raw.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=Pages.dirty_EDF.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_CAR = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=Pages.dirty_EDF.first_samp
)
bipolar_01_Reref_CAR.set_eeg_reference('average', projection=False)
Pages.EEG_raw = copy.deepcopy(bipolar_01_Reref_CAR)
[quote="PauloKanda, post:6, topic:4129, full:true"]
Hi Professor McCloy,
I've been working with your code and it works like a 'charm' when doing average reference, but when I try Cz and Rest nothing happens (no error in terminal), on the other hand when I do 'mne.preprocessing.compute_current_source_density' as reference, it plots correct but with very high amplitude.
my alterations in your code for Cz are:
#-------------------
def make_bipolar01_Cz(self): # dont change anything (no error in terminal)
plt.clf()
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'), ('T3', 'T5'), ('T5', 'O1'), ('Fp1', 'F3'), ('F3', 'C3'),
('C3', 'P3'), ('P3', 'O1'), ('Fp2', 'F8'), ('F8', 'T4'), ('T4', 'T6'), ('T6', 'O2'),
('Fp2', 'F4'), ('F4', 'C4'), ('C4', 'P4'), ('P4', 'O2'), ('Fz', 'Cz'), ('Cz', 'Pz'),
('Pz', 'Oz')]
#EEG_raw.set_eeg_reference('Cz', projection=False) #doesnot work
rereferenced_raw, ref_data = mne.set_eeg_reference(EEG_raw, ['Cz'],
copy=True)
difference_pairs = re_reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = rereferenced_raw.get_data(picks=first_chs)
second_data = rereferenced_raw.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=rereferenced_raw.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_Cz = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=rereferenced_raw.first_samp
)
EEG_raw = copy.deepcopy(bipolar_01_Reref_Cz)
#--------------------
Bellow works but very high amplitude
#-------------------
def make_bipolar01_CSD(self): #works but very high amplitude
raw_copy = mne.preprocessing.compute_current_source_density(Pages.EEG_raw)
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'), ('T3', 'T5'), ('T5', 'O1'), ('Fp1', 'F3'), ('F3', 'C3'),
('C3', 'P3'), ('P3', 'O1'), ('Fp2', 'F8'), ('F8', 'T4'), ('T4', 'T6'), ('T6', 'O2'),
('Fp2', 'F4'), ('F4', 'C4'), ('C4', 'P4'), ('P4', 'O2'), ('Fz', 'Cz'), ('Cz', 'Pz'),
('Pz', 'Oz')]
difference_pairs = re_reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = EEG_raw_copy.get_data(picks=first_chs)
second_data = EEG_raw_copy.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=EEG_raw_copy.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_CSD = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=EEG_raw_copy.first_samp
)
Pages.EEG_raw = copy.deepcopy(bipolar_01_Reref_CSD)
#-------------------
The last one works perfectly:
#-------------------
def make_bipolar01_CAR(self):
plt.clf()
Pages.EEG_raw.set_eeg_reference('average', projection=False)
re_reference_bipolar01 = [('Fp1', 'F7'), ('F7', 'T3'),...
difference_pairs = reference_bipolar01
first_chs, second_chs = list(zip(*difference_pairs))
first_data = Pages.EEG_raw.get_data(picks=first_chs)
second_data = Pages.EEG_raw.get_data(picks=second_chs)
info = mne.create_info(
ch_names=[f'{a}-{b}' for a, b in difference_pairs],
sfreq=Pages.dirty_EDF.info.get('sfreq'),
ch_types='eeg'
)
bipolar_01_Reref_CAR = mne.io.RawArray(
data=first_data - second_data,
info=info,
first_samp=Pages.dirty_EDF.first_samp
)
bipolar_01_Reref_CAR.set_eeg_reference('average', projection=False)
Pages.EEG_raw = copy.deepcopy(bipolar_01_Reref_CAR)
Any suggestion will be greatly appreciated.
Thank you for your time.