Note
Click here to download the full example code
Part 4: Compute transition frequency¶
Compute the theta-to-alpha transition frequency with transfreq and with the classical Klimesch’s method.
from transfreq import (compute_transfreq, compute_transfreq_klimesch,
compute_transfreq_minimum)
import os.path as op
import os
import pickle
Define data paths
# Local folder where to store the output of the analysis
cwd = os.getcwd()
data_path = os.path.join(cwd, 'transfreq_data_preproc')
psds_path = op.join(data_path, 'psds')
if not os.path.exists(psds_path):
raise Exception(
'Cannot find data in {}. Please compute power spectra first.'.format(
psds_path))
with open(op.join(data_path, 'psds', 'data_rest.pkl'), 'rb') as f_rest:
data_rest = pickle.load(f_rest)
with open(op.join(data_path, 'psds', 'data_task.pkl'), 'rb') as f_task:
data_task = pickle.load(f_task)
Transition frequency with transfreq
methods = [1, 2, 3, 4]
for subj in data_rest.keys():
for ses in data_rest[subj].keys():
psds = data_rest[subj][ses]['psds']
freqs = data_rest[subj][ses]['freqs']
ch_names = data_rest[subj][ses]['ch_names']
data_rest[subj][ses]['tfbox'] = {}
for meth in methods:
data_rest[subj][ses]['tfbox'][meth] = \
compute_transfreq(psds, freqs, ch_names, alpha_range=None,
theta_range=None, method=meth, iterative=True)
Transition frequency with Klimesch’s method
for subj in data_rest.keys():
for ses in data_rest[subj].keys():
psds_rest = data_rest[subj][ses]['psds']
psds_task = data_task[subj][ses]['psds']
freqs = data_rest[subj][ses]['freqs']
data_task[subj][ses]['tf_klimesch'] = \
compute_transfreq_klimesch(psds_rest, psds_task, freqs)
Transition frequency with minimum method
for subj in data_rest.keys():
for ses in data_rest[subj].keys():
psds_rest = data_rest[subj][ses]['psds']
freqs = data_rest[subj][ses]['freqs']
data_rest[subj][ses]['tf_minimum'] = \
compute_transfreq_minimum(psds_rest, freqs)
Save data (overwrite existing files)
data_rest_file = open(op.join(data_path, 'psds', 'data_rest.pkl'), "wb")
data_task_file = open(op.join(data_path, 'psds', 'data_task.pkl'), "wb")
pickle.dump(data_rest, data_rest_file)
data_rest_file.close()
pickle.dump(data_task, data_task_file)
data_task_file.close()
Total running time of the script: ( 0 minutes 0.000 seconds)