Blog · Cas d'usage · 9 janvier 2023 · 3 min de lecture

Mettre en place une expérience en boucle fermée

Tirez le meilleur de votre recherche avec des expériences en boucle fermée, qui détectent des changements et y réagissent en temps réel.

Les expériences en boucle fermée sont un outil puissant pour tester des hypothèses en temps réel, en agissant sur certaines variables dès qu'un motif particulier est détecté. En neurosciences, par exemple, une expérience peut consister à inhiber des neurones de l'hippocampe quand une onde cérébrale précise (appelée ripple) est détectée, pour mesurer l'effet sur la performance d'un animal dans une tâche de mémoire.

Plusieurs plateformes logicielles permettent de mener des expériences en boucle fermée, chacune avec ses avantages et ses inconvénients. Elles s'organisent en général autour d'un cœur et d'un ensemble de plugins, qui permettent de composer sa chaîne de traitement et même d'ajouter ses propres nœuds de traitement sous forme de plugins externes. Mais maintenir un logiciel qui compte beaucoup de plugins est plus complexe et plus coûteux : il faut porter tous les plugins à chaque changement incompatible du cœur, et gérer un ensemble de plugins officiels et non officiels. Les nouveaux utilisateurs peuvent aussi s'y perdre, face au nombre d'options disponibles.

Open-Ephys

Capture de l'interface graphique d'Open Ephys, en anglais : la liste des processeurs à gauche, les signaux multicanaux au centre et la chaîne de traitement en bas.
L'interface d'Open Ephys.

Open-Ephys est une plateforme très utilisée pour les expériences en boucle fermée, grâce à son interface graphique conviviale, sa large communauté d'utilisateurs et une solide équipe de développeurs qui fournit une bonne documentation et de nombreux plugins utiles. Elle a toutefois des limites : reposant sur un framework de traitement audio, elle impose un flux de données linéaire (sans rebouclage) et deux types d'éléments seulement : des séries (temps × amplitudes × canaux) ou des événements TTL.

Falcon

Capture du client Falcon pendant une expérience de détection de ripples, en anglais : le graphe de traitement à gauche, le signal et son seuil de détection au centre, le journal des événements à droite.
Le client Falcon pendant une expérience de détection de ripples.

Falcon est une autre option pour les expériences en boucle fermée. Elle offre une flexibilité maximale en permettant de construire n'importe quel graphe de traitement. Le logiciel est aussi conçu pour minimiser la latence : chaque nœud de traitement tourne dans son propre thread et échange ses données de façon asynchrone via un tampon circulaire. En revanche, il n'offre pas d'interface graphique prête à l'emploi et ne fonctionne que sous Linux.

Un logiciel dédié

Au-delà des plateformes existantes, on peut aussi envisager de créer un logiciel dédié à sa chaîne de traitement. Cela demande plus de travail au départ, mais permet de n'avoir que ce dont on a besoin, sans les inconvénients d'une plateforme généraliste. C'est particulièrement utile quand les besoins sont très spécifiques, ou pour éviter de devoir tordre ses besoins pour les faire entrer dans un cadre existant.

Mon expérience

Principale mainteneuse de Falcon pendant trois ans, je connais bien la plateforme et j'ai travaillé étroitement avec des chercheurs pour étendre ses capacités. J'ai aussi utilisé Open-Ephys pour lire et prétraiter les données de sondes Neuropixels, et développé mon propre plugin pour envoyer ces données vers Falcon. Cette expérience m'a donné une connaissance fine des forces et des limites des deux logiciels. Je suis bien placée pour conseiller sur la façon de les utiliser efficacement, et de combiner leurs points forts pour obtenir les meilleurs résultats.

Développeuse expérimentée sur ces deux plateformes, je peux vous aider à vous y retrouver et à choisir les bons outils et les bonnes techniques pour vos expériences en boucle fermée. Qu'il s'agisse de construire une chaîne de traitement sur mesure, de développer un plugin manquant ou simplement de mettre en place une nouvelle expérience, je peux vous accompagner pour démarrer votre expérience au plus vite.

Références : documentation de Falcon · documentation d'Open-Ephys (en anglais)

← Tous les articles

Vous reconnaissez votre labo ?

Parlez-moi de votre code et de ce qui coince. Le premier regard est gratuit.

M'écrire