Ingénieur développeur logiciel Python (F/H)

l'Institut du Cerveau
1 month ago

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Tech stack

Artificial Intelligence
Automation of Tests
Continuous Integration
Human-Computer Interaction
Python
Machine Learning
QT
Signal Processing
Software Engineering
GIT
Software Version Control

Job description

A position for a software development engineer specialized in user interface for BCI (brain-computer interface) software is available in the NERV laboratory (https://team.inria.fr/nerv/) at the Paris Brain Institute. The project's starting point is the performance of experiments using brain-computer interfaces (BCI) by subjects who, by modulating their brain activity, control an external device. During recording sessions, brain data are acquired by electroencephalography (EEG), then analyzed offline to train AI classification algorithms for optimizing BCI on-line performance. The position is part of a research project aimed at improving the translation of brain signals into commands. The analysis of EEG data for training machine-learning algorithms is carried out via HappyFeat, a Python software with a Qt interface developed by the team (https://doi.org/10.1016/j.simpa.2023.100610), interfacing with other BCI software (OpenViBE, Timeflux). It simplifies the set-up of BCI experiments, and automates the selection of optimal features for signal classification via graphical statistical analysis tools.

MAIN OBJECTIVES

Contribute to the evolution of HappyFeat by adding new features and improving ergonomics, modularity and robustness. The scope of the position includes :

· An assessment of the ergonomics and functionalities of the existing software and its architecture, and identification of the main points for improvement, · Redesigning/refactoring of software elements to increase the product's modularity and flexibility · Developing graphical tools for visualizing metrics and statistics of interest for EEG signal classification, · The development of graphical modules for sorting and selecting elements in EEG datasets, and for creating and parameterizing processing pipelines, · Participation in a campaign to evaluate the ergonomics and usability of the software by various users (scientists, students, medical staff). · Writing technical documentation, The engineer will participate in the overall improvement of the software: setting up automated tests, version control via git, continuous integration, improving maintainability and reproducibility.

Requirements

Good experience in software engineering and mastery of Python are required. Knowledge of signal processing and physiological signals would be a plus.

Apply for this position