Blog

Cientista de dados: Usando Scypi no processamento de sinal neural por EEG

 
Python é uma das linguagens de programação mais utilizadas no mundo. Gratuito, sintaxe amigável e com vasta biblioteca para diversas finalidades, essa linguagem de programação também tem sido escolhida por neurocientistas e neuroengenheiros durante a etapa de análise e processamento de sinal neural. Além da biblioteca Numpy e Matplotlib, a biblioteca scipy é amplamente utilizada na comunidade científica, em especial nas análises de sinal por EEG.
 
A técnica do eletroencefalograma ou EEG foi uma grande descoberta feita pelo médico Hans Berger. Sua técnica de distribuir eletrodos no couro cabeludo de pacientes para registrar a atividade elétrica cerebral de pacientes é utilizada até hoje e contribui para a descoberta de patologias, auxilia no diagnóstico, contribui para compreender o comportamento do cérebro humano e é ferramenta importante no desenvolvimento das interfaces cérebro-máquina.
 
Ao analisar os dados de um EEG um padrão de ondas cerebrais se manifesta carregando informações sobre a saúde cerebral do paciente. Para pesquisadores o EEG tem sido ferramenta fundamental para investigar os mistérios do cérebro. Para isso, análises para investigar as características do sinal biológico provocado pelos potenciais de campo local das populações de neurônios, como a frequências, amplitude e intensidade  são avaliadas. 
 
Grande parte dos pesquisadores costumam utilizar o software Matlab, o qual é uma ferramenta científica para análise de dados e processamento de sinal. Entretanto, apesar de sua vasta funcionalidade, é uma ferramenta com custo elevado. Por sua vez, o Python tem sido a linguagem de programação recorrida por neurocientistas. Através dela é possível manipular array e matrizes usando a biblioteca numpy, usando essa biblioteca é possível selecionar canais e epochs para fazer análises temporais.
 
Além do Numpy, outra biblioteca utilizada é o Matplotlib. Essa biblioteca fornece métodos e funções específicas para visualização de gráficos. Através dele é possível visualizar os dados contidos nos arquivos das matrizes e arrays. Os gráficos podem ser personalizados e ajustados por meio de linguagem de algoritmos. 
 
Dessa maneira, o scipy não é diferente. É uma das bibliotecas científicas do Python, que utiliza em sua estrutura o Numpy. Através do método scipy.io. loadmat é possível importar dados de diferentes extensos, dentre eles, arquivos csv contendo informações de dados neurais por EEG. Usando esse método o arquivo pode ser utilizado no algoritmo de processamento de sinais para ser filtrado e aplicado métodos de machine learning para reconhecimento de padrões e classificação. 
 

Figura 1: Utilizando scipy.io loadmat para importar dados de EEG


Além do método io outro bastante utilizado é o método scipy.signal spectrogram que é amplamente utilizado para realizar análise espectral. Esse método permite plotar um espectrograma, no qual é possível analisar o sinal neural através do tempo e frequência.


Figura 2: Espectrograma plotado através do método scypi.spectrogram.

 


Tassia Nunes










AREAS OF INTEREST