Normalize topomap

Dear all,

I want to normalize the data of the frequency bands in the topomap. I set normalize: True in the function, but the colorbar is not normalized across all frequency bands. What should I do to ensure the colorbar is normalized for all frequency bands?

Thank you in advance

plot = dict_eeg["CONTROL"]["round_1_instument_1"].plot_psd_topomap(ch_type='eeg', normalize=True, show=False)
plot.suptitle("Ronda 1 instrumento 1 Control (visual)", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"plot_psd_topomap"/"plot_psd_topomap_visual_control_round_1_instrument_1.png", dpi=400)
plot.show()

plot = dict_eeg["MCI"]["round_1_instument_1"].plot_psd_topomap(ch_type='eeg', normalize=True, show=False)
plot.suptitle("Ronda 1 instrumento 1 MCI (visual)", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"plot_psd_topomap"/"plot_psd_topomap_visual_mci_round_1_instrument_1.png", dpi=400)
plot.show()

plot = dict_eeg["EA"]["round_1_instument_1"].plot_psd_topomap(ch_type='eeg', normalize=True, show=False)
plot.suptitle("Ronda 1 instrumento 1 EA (visual)", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"plot_psd_topomap"/"plot_psd_topomap_visual_ea_round_1_instrument_1.png", dpi=400)
plot.show()

Hi,

normalize=True is only dividing each of the bands by the total power, but this does not set the colourbar limits to be equal. vlim="joint" is probably what you’re looking for. This will set the colourbar limits to the same value across all bands.

On a separate note, the plot_psd_topomap() method you are using is legacy code. It is now recommended to use .compute_psd().plot_topomap(). You can also use vlim="joint" with this new plot_topomap() method.

Cheers!

Hi Thomas,
Thank you for you recommendation, We will use it as you say, and I let you know if we need something else.

Hi Thomas,

we use your recommendation and all the data is held by delta, which should not happen with the protocol we have for signals.

plot.suptitle("Ronda 1 Control", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"compute_psd_plot_topomap"/"compute_psd_plot_topomap_control_round_1", dpi=400)
plot.show()

plot = dict_eeg["MCI"]["round_1"].compute_psd().plot_topomap(ch_type='eeg', normalize=True, vlim='joint', show=False)
plot.suptitle("Ronda 1 MCI", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"compute_psd_plot_topomap"/"compute_psd_plot_topomap_mci_round_1", dpi=400)
plot.show()

plot = dict_eeg["EA"]["round_1"].compute_psd().plot_topomap(ch_type='eeg', normalize=True, vlim='joint', show=False)
plot.suptitle("Ronda 1 EA", fontsize=16, y=1.2)
plot.savefig(path_to_data_save_plots/"compute_psd_plot_topomap"/"compute_psd_plot_topomap_ea_round_1", dpi=400)
plot.show()

Sorry @isabelceo, I missed the notification for this.

Do you also see very strong low-frequency activity in the standard channel-wise PSD? Looks like a very dramatic drop-off. In any case you see the same effect in the original image you sent (scale of delta is ~0.6-08; scale of rest is much lower ~0.01-0.1).

Perhaps setting normalize=False and dB=True (will be ignored if normalization=True) makes this look better?

Cheers!