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

本文介绍了使用Python进行brain connectivity的处理和可视化,包括数据处理的`processing.py`、滤波操作的`iir.py`以及傅里叶变换的`fft.py`。
摘要由CSDN通过智能技术生成

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:
               
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Brain Connectivity Toolbox(BCT)是一个用于功能和结构性连接性研究的 MATLAB 工具包。它提供了一系列函数和算法,用于处理和分析基于影像数据的神经网络。以下是关于如何使用BCT的简要说明。 首先,确保你的计算机上安装了MATLAB软件。然后,下载并安装BCT工具箱。你可以在其官方网站或其他可靠的科学研究网站上找到和下载。 安装完后,在MATLAB的命令窗口中输入 "brain connectivity toolbox" 或 "bct" 来启动工具包。你将会看到一个帮助页面,其中包含各种函数和用法的详细信息。 BCT提供了许多功能,可以用于构建、分析和可视化连接性网络。其中一些常用的功能包括: 1. 构建连接矩阵:使用BCT可以从功能或结构影像数据中创建连接矩阵。你可以使用不同的阈值方法、距离度量和阈值值来定义连接。 2. 网络分析:使用BCT可以计算网络的多种特征,包括度、聚类系数、特征路径长度、小世界性等。这些特征可以用来描述网络的整体和局部特性。 3. 功能网络分析:使用BCT,可以对功能网络进行动态分析,包括网络状态的变化和功能模块的发现。 4. 结构网络分析:BCT提供了一些功能来研究的结构网络,例如模块度检测、网络模型拟合和模块发现算法。 5. 可视化:借助BCT,你可以可视化网络和其特征,例如使用模块图来显示模块结构,绘制连接强度和权重等。 除了这些基本的功能外,BCT还提供了许多其他高级功能和算法,具体取决于你研究的需求。你可以通过查阅BCT文档和使用示例来深入了解和使用这些功能。 总之,Brain Connectivity Toolbox是一个强大的工具包,用于功能和结构性连接性的研究。通过使用BCT,你可以构建、分析和可视化网络,以增进对连接性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值