brain connectivity脑连接——边学习边写代码处理数据

本文介绍了使用Python进行brain connectivity的处理和可视化,包括数据处理的`processing.py`、滤波操作的`iir.py`以及傅里叶变换的`fft.py`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

brain connectivity 可视化 python实现
在这里插入图片描述

// A code block
#main.py

import numpy as np
from _0_third_party import dataset, iir, processing, libplot
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from scipy import signal
import pandas as pd

def main(n):

    Delta_power = [];Theta_power =[]; Alpha_power =[]; Beta_power =[]

    for i, eeg_component in enumerate(eeg_components):#i是channle,1-18;eeg_component 是eeg数据
    # Extract features
        a = np.linspace(float(0), float(len(eeg_component)), 640)#将eeg数据0.1秒0.1秒分割成小段数据
        for j in range(len(a)):
            if j == 639:#当到达最后一组数字的时候就中断
                break
            else:
                if j == n:#每0.1秒就进行一次画图
                    delta_power, theta_power, alpha_power, beta_power = processing.analysis_eeg(
                        eeg_component[int(a[j]):int(a[j] + 5000)], fs, i, j)#10s一段数据进行滤波,fft后,滤波,delta(1-4Hz),theta(4-8Hz),alpha(8-13Hz),beta(13-30Hz)
                    # print('i:',i,'j:',j)
                    Delta_power.append(delta_power)
                    Theta_power.append(theta_power)
                    Alpha_power.append(alpha_power)
                    Beta_power.append(beta_power)


    DELTA = [Delta_power,Delta_power,Delta_power,Delta_power,Delta_power,Delta_power,Delta_power,Delta_power,Delta_power,
               Delta_power, Delta_power, Delta_power, Delta_power, Delta_power, Delta_power, Delta_power,
               Delta_power, Delta_power]
    THETA = [Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,
             Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,Theta_power,
             Theta_power,Theta_power]
    ALPHA = [Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,
             Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,Alpha_power,
             Alpha_power,Alpha_power]
    BETA = [Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,
            Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,Beta_power,
            Beta_power,Beta_power]
    return DELTA , Delta_power,THETA, Theta_power,ALPHA, Alpha_power, BETA, Beta_power

def csv_spect_delta(DELTA, Delta_power):
    Mean_delta_cwt = [];N =[];M=[];A=[]
    for m in range(1,len(DELTA)):
        for a in range(0,len(Delta_power)-m):
            DELTA_power_1 = []
            for b in range(0,len(Delta_power[:][0])):
                # print('m:',m,'a:',a,'b:',b)
                if a + m >=18:
                    continue
                else:
                    DELTA_power_1.append(abs(DELTA[m][a][b]-DELTA[m][a+m][b]))
            delta_cwtmatr = signal.cwt(DELTA_power_1, signal.ricker, widths=np.arange(1, 5, 0.01))
            mean_delta_cwt = np.mean(delta_cwtmatr)
            print('mean_delta_cwt:',mean_delta_cwt,'n:',n,'m:',m,'a:',a)
            Mean_delta_cwt.append(mean_delta_cwt)
            N.append(n);M.append(m);A.append(a)
    print(len(Mean_delta_cwt),len(N),len(M),len(A))
    return Mean_delta_cwt,N,M,A
def csv_spect_theta(THETA, Theta_power):
    Mean_theta_cwt = [];N =[];M=[];A=[]
    for m in range(1,len(THETA)):
        for a in range(0,len(Theta_power)-m):
            THETA_power = []
            for b in range(0,len(Delta_power[:][0])):
                # print('m:',m,'a:',a,'b:',b)
                if a + m >=18:
                    continue
                else:
               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值