Un logiciel libre pour une acquisition simple de données complexes

Résultat scientifique

PyMoDAQ, « Modular Data Acquisition with Python » est un logiciel libre pour l’acquisition automatique de données en fonction de paramètres expérimentaux multiples. Conçu pour être utilisé sans qu'il soit nécessaire de programmer, il possède une interface graphique générique pour le contrôle des instruments avec des extensions spécifiques qui lui assurent une grande modularité.

Pour acquérir des données scientifiques et piloter leurs expériences, les chercheurs utilisent des dispositifs fait-maison ou bien des appareils commerciaux. Dans les deux cas, les problèmes d'interface avec un ordinateur et d'automatisation de l'acquisition des données se posent, en particulier si l'on a besoin de modifier les paramètres d'acquisition ou d'ajouter un appareil pour contrôler l'expérience. L'existence d'outils simples à utiliser, gratuits et modifiables (open-source), est ainsi d'un grand intérêt pour les chercheurs. Plusieurs logiciels d'acquisition de données ont été développés par différentes communautés scientifiques, soit pour une utilisation spécifique soit au contraire sans domaine thématique prédéfini. Avec ce dernier objectif d'une large adaptabilité, un ingénieur de recherche du Centre d’élaboration de matériaux et d’études structurales (CEMES, CNRS) a développé un nouveau logiciel d'acquisition de données, conçu pour être à la fois simple à utiliser et très versatile. Nommé PyMoDAQ, c'est un logiciel écrit en langage python, libre et open-source : il a une interface graphique utilisateur particulièrement performante ne nécessitant pas d'expertise spécifique pour sa mise en œuvre et une structure modulaire avec des extensions qui assure son adaptabilité à des environnements expérimentaux variés et complexes. Les caractéristiques et les performances de ce logiciel sont parues dans Review of Scientific Instruments.

Fruit de quatre années de développement, PyMoDAQ permet le contrôle de tout type d’instruments grâce à des interfaces génériques, une pour les détecteurs (par exemple pour enregistrer un signal d'oscilloscope ou de caméra), et une pour les actuateurs (par exemple pour contrôler des paramètres comme une tension appliquée ou la polarisation d'un laser). Ces interfaces de contrôle sont regroupées dans un tableau de bord qui permet d’en configurer le type et le nombre en fonction du nombre de détecteurs et d’actuateurs souhaités. Le matériel à contrôler est sélectionnable dans les interfaces grâce à la présence d'un plugin, script python simple émulant les fonctions nécessaires à la communication. Une fois définie, la configuration mise au point pour telle ou telle expérience est sauvegardée sous forme d’un fichier qu'il suffit ensuite de charger pour avoir en quelques clics le dispositif expérimental entièrement pilotable. Plusieurs extensions viennent compléter ces interfaces, avec par exemple des interfaces dédiées à l’acquisition de données au cours du temps (DAQ Logger) ou à l'acquisition en fonction d’un ou plusieurs paramètres variables (DAQ Scan), ou encore avec des extensions pour explorer les données sauvegardées (H5Browser, Online Data Browsing) (figure). Les données sont sauvegardées suivant un format binaire hiérarchique incluant les métadonnées et compatible avec les principes des données FAIR (Findable, Accessible, Interoperable, Reusable).

Le grand intérêt de PyMoDAQ est la simplicité d’utilisation via une interface graphique accessible à des non-informaticiens. PyMoDAQ est un projet à visée collaborative et il offre les éléments de base qui permettent la construction d’extensions spécifiques. Un grand nombre d’instruments sont déjà pris en charge par PyMoDAQ via les plugins existants et ce nombre continue d’augmenter grâce aux contributions des utilisateurs.

Weber2021
Schéma de la structure de PyMoDAQ montrant le tableau de bord avec les interfaces de contrôle et les différentes extensions. Crédit : S. Weber, CEMES (CNRS)

 

Un logiciel libre pour une acquisition simple de données complexes

Présentation de PyMoDAQ par Sébastien Weber

Audiodescription

Référence

PyMoDAQ: An open-source Python-based software for Modular Data AcQuisition. S. J. Weber, Review of Scientific Instruments, paru le 8 avril 2021.
DOI : doi.org/10.1063/5.0032116
Texte disponible sur la base d'archives ouvertes HAL

Pour aller plus loin

Contact

Sébastien Weber
Ingénieur de recherche CNRS, Centre d'élaboration de matériaux et d'études structurales
Communication CNRS Physique