Resource type
Date created
2022-12-16
Authors/Contributors
Author (aut): Yamada-Bagg, Nikita
Abstract
EEG signals are being more frequently investigated as they are complex biosignals that can help physicians diagnose and treat a variety of neurological conditions and brain traumas. Given that EEG is a coarse measure of brain activity, evoke and event-related potentials (EPs and ERPs) need to be extracted from the raw EEG signals to measure and understand specific neural processes. In clinical settings, the recorded EEG signals are often contaminated with noise from various external and internal (physiological) sources. These artifacts are often of much higher amplitudes than the evoke and event-related potentials (EPs and ERPs) requiring the artifacts to be removed to recover useful information. The preprocessing of the raw EEG data and ERP extraction is computationally expensive and result in long execution times. With constant technological advancements in software and digital signal processing, there are demands to improve the computational efficiency of algorithms. In this thesis, the most used programming language in neuroscience, Python, was compared to a new programming language, Julia. Julia has been developed to maintain the ease-of-use of high-level languages like Python but perform at speeds of compiled languages such as C. The comparison of the two languages focused on the capabilities of the two languages for EEG analysis and the computational efficiencies including the execution time and memory allocation. It was concluded that both languages were able to reproduce the same waveforms showing equivalent capabilities for EEG analysis. Julia was 8x faster but required 6.3x more memory than Python. Nevertheless, due to Julia’s speed it is a promising language that has the potential to see great adoption not only in the neuroscience field but many digital signal processing fields.
Document
Copyright statement
Copyright is held by the author.
Scholarly level
Member of collection