PyMCA

Fiche logiciel validé
  • Création ou MAJ importante : 04/10/11
  • Correction mineure : 04/10/11
  • Rédacteur de la fiche : Jérôme Kieffer - ESRF Software group (ESRF Grenoble)
  • Relecteur(s) : Marine Cotte (ESRF)
  • Contributions importantes : Pierre Bleuet (ESRF) a aussi relu cette fiche offline.
  • Responsable thématique : Anne Facq (CRPP)
Mots-clés
Pour aller plus loin

PyMCA : analyse des spectres de fluorescence X, visualisation hyperspectrale

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 4.4
  • Langue(s) de l'interface : anglais
  • Licence : GPL

    L'ESRF offre la possibilité d'acheter une licence non-GPL de PyMCA pour les sociétés qui souhaiteraient commercialiser un logiciel utilisant une bibliothèque de PyMCA.

  • Origine du développement : ESRF
Description
Fonctionnalités générales

PyMCA est à l'origine un logiciel de visualisation et d'analyse des données issues des analyseurs multi-canaux (MCA) utilisés pour collecter le signal de fluorescence X.
Il contient en particulier toutes les constantes physiques associées à la fluorescence X des éléments de la classification périodique et c'est (probablement) le seul logiciel qui gère convenablement la fluorescence des couches M (en plus des couches K et L).
Il dispose d'une routine d'optimisation («fit») très efficace des profils théoriques et du traitement par lot des spectres.

Autres fonctionnalités

La fluorescence X étant souvent associée à la cartographie, l'imagerie et à la tomographie, les développements récents de PyMCA se sont plutôt faits dans cette direction :

  • gestion de jeu de données hyperspectral / multidimensionnel, import / export dans des formats adaptés (HDF5),
  • représentation 3D, développements OpenGL,
  • corrélations entre les signaux de fluorescence et ceux d'autres techniques comme la diffraction.
Interopérabilité

PyMCA lit nativement tous les formats 2-colonnes (type CSV), en particulier le format SPEC ainsi que les images au format de l'ESRF (EDF). Les versions récentes ont vu l'apparition du format HDF5 et donc la manipulation de données hyperspectrales à 2, 3 ou 4 dimensions (ou plus).

Contexte d'utilisation dans mon laboratoire/service

Le logiciel est utilisé sur un certain nombre de lignes de lumière de l'ESRF :

  • Pour la fluorescence X, son objet premier.
  • Pour ces capacités de visualisation des spectres, d'images, la sélection de régions d'intérêts
  • Pour le traitement par lots de données.
  • Pour la visualisation de l'espace réciproque en 3D.
Limitations, difficultés, fonctionnalités importantes non couvertes

Même si le support offert par l'auteur est d'excellente qualité, PyMCA reste un logiciel mono-développeur avec les risques que cela comporte (absence de code-review, ...)
L'API est faiblement documentée mais le code est bien lisible : certains développeurs re-utilisent des parties du code de PyMCA.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • Très facile d'installation sous windows puisque c'est la plateforme principale de développement et d'utilisation
  • Intégré à Fedora Linux depuis la version 12
  • Intégré à debian wheezy (testing) et sid (unstable)
  • Intégré à ubuntu 11.04 (natty)
  • Des paquets de tests pour la version SVN de PyMca pour Debian testing et Ubuntu Lucid Lynx sont également disponibles (architectures i386 et AMD64)
  • Installation python standard depuis les sources sur les systèmes Unix (sudo python setup.py install)
  • Une version compilée est également disponible pour MacOS X sur PPC et x86 (Universal binary)
Plates-formes

Windows / Unix / MacOS :

PyMCA est un programme python avec les routines de calculs écrites en C et une interface graphique réalisée avec pyQt4 / pyQwt5. Il repose par ailleurs sur numpy (Fiche Fiche Plume).
Il peut utiliser Matplotlib (Fiche Fiche Plume) pour afficher des graphiques de meilleure qualité ; utiliser OpenGL pour visualiser des objets tridimensionnels et les importer/exporter en format HDF5 si les bibliothèques sont présentes.

Logiciels connexes
  • Spec: Le contrôleur de ligne utilisé à l'ESRF (entre autre).
  • EDNA: PyMca est utilisé pour visualiser les données réduites "on-line" par EDNA
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Projet sourceforge public, mono-développeur, financé par un centre de recherche Européen, l'ESRF.
L'auteur du logiciel est V. Armando Solé.

Eléments de pérennité
Références d'utilisateurs institutionnels

L'article décrivant le logicel a été cité 53 fois (en juillet 2010) :
V.A. Solé, E. Papillon, M. Cotte, Ph. Walter, J. Susini, A multiplatform code for the analysis of energy-dispersive X-ray fluorescence spectra, Spectrochim. Acta Part B 62 (2007) 63-68.

PyMCA est utilisé par le Centre de Recherche et de Restauration des Musées de France au Louvre pour analyser la composition des pigments de peinture en relation avec la restauration des toiles.

Autres laboratoires académiques :

  • En France : Université de Bordeaux ; AIFIRA; Synchrotron Soleil ; CEA/DRT-Leti;
  • En Allemagne : Synchrotron Desy
  • En Italie : Synchrotron Elletra
  • En Belgique : Université d'Anvers
  • Aux États-Unis : Cornell Hi-Energy Synchrotron Source (CHESS)
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Une communauté d'utilisateurs est maintenue autour de PyMCA par son auteur via une liste de diffusion

Documentation utilisateur

La documentation utilisateur est disponible en anglais.

Divers (astuces, actualités, sécurité)

Compatible avec les format Spec, EDF, HDF5 et Nexus (plus d'autres)

Contributions