Desenvolvimento de um framework Python orientado à contribuição para análise e processamento de biossinais: exemplo de aplicação para eletroencefalogramas
| Autor(a) principal: | |
|---|---|
| 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 |