Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas

Detalhes bibliográficos
Autor(a) principal: Hauer, Arthur
Data de Publicação: 2024
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/36087
Resumo: In Biomedical Engineering applications, biosignal processing is often tied to tools already established in the market (typically closed to external contributions), open-source tools with complex architectures, or the costly effort of programming the processing pipeline for the problem at hand. Furthermore, programming the processing independently increases the likelihood of errors, potentially compromising the experiment and its results. In the case of open-source tools with complex architectures, the issue remains the same as previously mentioned, as complexity hinders the ability to contribute. A noticeable trend in recent years in research involving, particularly, motor imagery using electroencephalography (EEG) signals is the use of Python and MATLAB languages. Python is a popular choice as it is an interpreted, high-level language, easy to use, and offers an extensive range of libraries for signal processing and machine learning. Thus, this work proposes a new Python-based framework for conducting experiments involving biosignals. The framework was developed using established software engineering practices, following the workflow of requirements collection, architecture, implementation, and testing. In each stage of this workflow, methods were applied to facilitate contributions to the project, enabling its expansion and widespread use. To make it accessible to researchers with minimal programming knowledge, the framework employs a node-oriented architecture, where each node represents a signal transformation, such as filtering, feature extraction, or classification. The user interface for configuration is a single, intuitively readable JSON file, making the experimental setup inherently replicable and contributing to research reproducibility. Additionally, the framework was validated through the experimental replication of a published work in the context of EEG classification, achieving a classification performance, measured by the area under the receiver operating characteristic curve, with a maximum of 0.847 and an average of 0.698, similar to the replicated work, with p between 0.008 and 0.945 obtained through the Wilcoxon signed-rank test grouped by individuals in the dataset, and p value of 0.339 without grouping, indicating similarity in results. Furthermore, during the execution of the replicated experiment, the framework consumed an average of 3228 MB of RAM, 104.48% CPU usage, and a runtime of 64.55 seconds on a AMD Ryzen 5 3600 processor.
id UTFPR-12_a936c867f8a805668fe8f735596f798e
oai_identifier_str oai:repositorio.utfpr.edu.br:1/36087
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramasDevelopment of a contribution-oriented Python framework for analysis and processing o biossignals: application on electroencephalogramsProcessamento de sinaisEngenharia biomédicaPython (Linguagem de programação de computador)EletroencefalografiaSoftware - DesenvolvimentoSignal processingBiomedical engineeringPython (Computer program language)ElectroencephalographyComputer software - DevelopmentCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEngenharia ElétricaIn Biomedical Engineering applications, biosignal processing is often tied to tools already established in the market (typically closed to external contributions), open-source tools with complex architectures, or the costly effort of programming the processing pipeline for the problem at hand. Furthermore, programming the processing independently increases the likelihood of errors, potentially compromising the experiment and its results. In the case of open-source tools with complex architectures, the issue remains the same as previously mentioned, as complexity hinders the ability to contribute. A noticeable trend in recent years in research involving, particularly, motor imagery using electroencephalography (EEG) signals is the use of Python and MATLAB languages. Python is a popular choice as it is an interpreted, high-level language, easy to use, and offers an extensive range of libraries for signal processing and machine learning. Thus, this work proposes a new Python-based framework for conducting experiments involving biosignals. The framework was developed using established software engineering practices, following the workflow of requirements collection, architecture, implementation, and testing. In each stage of this workflow, methods were applied to facilitate contributions to the project, enabling its expansion and widespread use. To make it accessible to researchers with minimal programming knowledge, the framework employs a node-oriented architecture, where each node represents a signal transformation, such as filtering, feature extraction, or classification. The user interface for configuration is a single, intuitively readable JSON file, making the experimental setup inherently replicable and contributing to research reproducibility. Additionally, the framework was validated through the experimental replication of a published work in the context of EEG classification, achieving a classification performance, measured by the area under the receiver operating characteristic curve, with a maximum of 0.847 and an average of 0.698, similar to the replicated work, with p between 0.008 and 0.945 obtained through the Wilcoxon signed-rank test grouped by individuals in the dataset, and p value of 0.339 without grouping, indicating similarity in results. Furthermore, during the execution of the replicated experiment, the framework consumed an average of 3228 MB of RAM, 104.48% CPU usage, and a runtime of 64.55 seconds on a AMD Ryzen 5 3600 processor.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)Em aplicações de Engenharia Biomédica, o processamento de biossinais geralmente ocorre atrelado à ferramentas já consolidadas no mercado (normalmente fechadas para contribuição externa), ferramentas open-source com arquitetura complexa, ou ao dispendioso trabalho de programar o pipeline de processamento para o problema em mãos. Este último aumenta a probabilidade de erros, podendo comprometer o experimento executado e seus resultados. No caso de ferramentas open-source de arquitetura complexa, o problema acaba sendo o mesmo do mencionado anteriormente, já que a complexidade compromete a capacidade de contribuição. A tendência observável em pesquisas envolvendo, especialmente, imagética motora usando sinais de eletroencefalografia (EEG) nos últimos anos é o uso das linguagens Python e MATLAB. Python é uma escolha popular por ser uma linguagem interpretada, de alto nível, de fácil uso e extensa seleção de bibliotecas voltadas para processamento de sinais e aprendizado de máquina. Assim, este trabalho propõe um novo framework baseado em Python, para execução de experimentos envolvendo biossinais. O framework foi desenvolvido utilizando práticas consolidadas de engenharia de software, seguindo o fluxo de coleta de requisitos, arquitetura, implementação e teste. Em cada uma das etapas deste fluxo, aplicaram-se métodos que visam facilitar contribuições ao projeto, habilitando sua expansão e uso generalizado. De modo a ser acessível a pesquisadores com conhecimento mínimo em programação, tem arquitetura com abordagem orientada a nós, onde cada nó representa uma transformação no sinal, como filtragem, extração de características ou classificação. A interface do usuário para configuração é única, sendo um arquivo JSON de leitura intuitiva, o que torna o arranjo experimental inerentemente replicável, contribuindo para a reprodutibilidade de pesquisas. Ainda, foi validado através da replicação experimental de um trabalho publicado sob o contexto de classificação de EEG, onde atingiu um desempenho de classificação, medido pela área sob a curva característica de operação do receptor, máximo de 0,847 e médio de 0,698, similar ao trabalho replicado, com (p entre 0,008 e 0,945 obtido através do teste de posto pareado de Wilcoxon agrupado por indivíduos do conjunto de dados, e de 0,339 sem agrupamento, indicando similaridade nos resultados. Ademais, durante a execução do experimento replicado, o framework consumiu em média 3228 MB de memória RAM, 104,48% de uso de CPU, e tempo de execução de 64,55 segundos em um processador AMD Ryzen 5 3600.Universidade Tecnológica Federal do ParanáCuritibaBrasilPrograma de Pós-Graduação em Engenharia Elétrica e Informática IndustrialUTFPRMendes Júnior, José Jair Alveshttps://orcid.org/0000-0001-5578-7734http://lattes.cnpq.br/1920188611669631Campos, Daniel Prado dehttps://orcid.org/0000-0001-6233-6077http://lattes.cnpq.br/2260564602839139Lazzaretti, André Eugêniohttps://orcid.org/0000-0003-1861-3369http://lattes.cnpq.br/7649611874688878Campos, Daniel Prado dehttps://orcid.org/0000-0001-6233-6077http://lattes.cnpq.br/2260564602839139Mendes Júnior, José Jair Alveshttps://orcid.org/0000-0001-5578-7734http://lattes.cnpq.br/1920188611669631Scabini, Leonardo Felipe dos Santoshttps://orcid.org/0000-0003-3986-7747http://lattes.cnpq.br/8511830644716787Hauer, Arthur2025-03-13T20:06:14Z2025-03-13T20:06:14Z2024-12-20info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfHAUER, Arthur. Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas. 2025. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2024.http://repositorio.utfpr.edu.br/jspui/handle/1/36087porhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPR2025-03-14T06:10:48Zoai:repositorio.utfpr.edu.br:1/36087Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.br || sibi@utfpr.edu.bropendoar:2025-03-14T06:10:48Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.none.fl_str_mv Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
Development of a contribution-oriented Python framework for analysis and processing o biossignals: application on electroencephalograms
title Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
spellingShingle Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
Hauer, Arthur
Processamento de sinais
Engenharia biomédica
Python (Linguagem de programação de computador)
Eletroencefalografia
Software - Desenvolvimento
Signal processing
Biomedical engineering
Python (Computer program language)
Electroencephalography
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
title_short Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
title_full Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
title_fullStr Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
title_full_unstemmed Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
title_sort Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
author Hauer, Arthur
author_facet Hauer, Arthur
author_role author
dc.contributor.none.fl_str_mv Mendes Júnior, José Jair Alves
https://orcid.org/0000-0001-5578-7734
http://lattes.cnpq.br/1920188611669631
Campos, Daniel Prado de
https://orcid.org/0000-0001-6233-6077
http://lattes.cnpq.br/2260564602839139
Lazzaretti, André Eugênio
https://orcid.org/0000-0003-1861-3369
http://lattes.cnpq.br/7649611874688878
Campos, Daniel Prado de
https://orcid.org/0000-0001-6233-6077
http://lattes.cnpq.br/2260564602839139
Mendes Júnior, José Jair Alves
https://orcid.org/0000-0001-5578-7734
http://lattes.cnpq.br/1920188611669631
Scabini, Leonardo Felipe dos Santos
https://orcid.org/0000-0003-3986-7747
http://lattes.cnpq.br/8511830644716787
dc.contributor.author.fl_str_mv Hauer, Arthur
dc.subject.por.fl_str_mv Processamento de sinais
Engenharia biomédica
Python (Linguagem de programação de computador)
Eletroencefalografia
Software - Desenvolvimento
Signal processing
Biomedical engineering
Python (Computer program language)
Electroencephalography
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
topic Processamento de sinais
Engenharia biomédica
Python (Linguagem de programação de computador)
Eletroencefalografia
Software - Desenvolvimento
Signal processing
Biomedical engineering
Python (Computer program language)
Electroencephalography
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
description In Biomedical Engineering applications, biosignal processing is often tied to tools already established in the market (typically closed to external contributions), open-source tools with complex architectures, or the costly effort of programming the processing pipeline for the problem at hand. Furthermore, programming the processing independently increases the likelihood of errors, potentially compromising the experiment and its results. In the case of open-source tools with complex architectures, the issue remains the same as previously mentioned, as complexity hinders the ability to contribute. A noticeable trend in recent years in research involving, particularly, motor imagery using electroencephalography (EEG) signals is the use of Python and MATLAB languages. Python is a popular choice as it is an interpreted, high-level language, easy to use, and offers an extensive range of libraries for signal processing and machine learning. Thus, this work proposes a new Python-based framework for conducting experiments involving biosignals. The framework was developed using established software engineering practices, following the workflow of requirements collection, architecture, implementation, and testing. In each stage of this workflow, methods were applied to facilitate contributions to the project, enabling its expansion and widespread use. To make it accessible to researchers with minimal programming knowledge, the framework employs a node-oriented architecture, where each node represents a signal transformation, such as filtering, feature extraction, or classification. The user interface for configuration is a single, intuitively readable JSON file, making the experimental setup inherently replicable and contributing to research reproducibility. Additionally, the framework was validated through the experimental replication of a published work in the context of EEG classification, achieving a classification performance, measured by the area under the receiver operating characteristic curve, with a maximum of 0.847 and an average of 0.698, similar to the replicated work, with p between 0.008 and 0.945 obtained through the Wilcoxon signed-rank test grouped by individuals in the dataset, and p value of 0.339 without grouping, indicating similarity in results. Furthermore, during the execution of the replicated experiment, the framework consumed an average of 3228 MB of RAM, 104.48% CPU usage, and a runtime of 64.55 seconds on a AMD Ryzen 5 3600 processor.
publishDate 2024
dc.date.none.fl_str_mv 2024-12-20
2025-03-13T20:06:14Z
2025-03-13T20:06:14Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv HAUER, Arthur. Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas. 2025. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2024.
http://repositorio.utfpr.edu.br/jspui/handle/1/36087
identifier_str_mv HAUER, Arthur. Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas. 2025. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2024.
url http://repositorio.utfpr.edu.br/jspui/handle/1/36087
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
Brasil
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
UTFPR
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
Brasil
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
UTFPR
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv riut@utfpr.edu.br || sibi@utfpr.edu.br
_version_ 1850497831573389312