Chargement...

Billet de blog

ChronoPhys : logiciel de chronophotographie pour les Sciences-Physiques

 Chargement de l'article en cours ...

ChronoPhys est un logiciel gratuit permettant de réaliser des chronophotographies en Sciences-Physiques. Le logiciel tire parti des fonctionnalités proposées par les librairies Matplotlib et OpenCV pour traiter la vidéo et réaliser le pointage.

Entièrement codé de zéro, le développement du logiciel a tiré son inspiration des différents logiciels actuellement utilisés dans les classes en Sciences-Physiques. Il se positionne dans leur lignée et vise à satisfaire le cahier des charges général suivant :

  • Multiplateforme (Linux, Windows, Mac OSX à partir des sources) ;
  • Gratuit et disponibilité du code source sous licence GNU GPLv3 ;
  • Fonctionnalités et interface relativement proches des logiciels actuellement disponibles ;
  • Compatibilité étendue au niveau des extensions et codecs vidéos pris en charge ;
  • Basé sur Python et utilisation de librairies telles que Matplotlib et OpenCV (qui laissent de très nombreuses ouvertures en terme de fonctionnalités) ;
  • Interface permettant une progression guidée lors de la réalisation de la chronophotographie, avec des étapes clairement définies et des “checkpoints”.

C’est en gardant ces grands principes en tête que ChronoPhys a été développé. Il est à présent disponible au téléchargement ici sous forme d’exécutable et le code source est disponible sur Framagit :

 Code source

Interface du logiciel

L’interface de ChronoPhys est composée de 3 zones principales :

  • Zone 1 : espace de travail où le pointage sera réalisé.
  • Zone 2 : espace de contrôle des images ( play,  pause,  reculer,  avancer) et une  loupe pour aider au pointage.
  • Zone 3 : espace de paramétrage de la chronophotographie (repère, étalonnage, style) et de visualisation des données de mesure.

L’interface a volontairement été développée afin que les élèves puissent avoir un fil directeur pour le paramétrage et la réalisation de la chronophotographie. Ainsi, toutes les étapes essentielles sont successivement surlignées en vert.

Réaliser une chronophotographie

La présente section détaille les étapes à suivre pour réaliser une exploitation chronophotographique à l’aide de ChronoPhys.

 Commencer par ouvrir une vidéo (n’excédant pas 150 images et de taille raisonnable…) en cliquant sur le bouton :

Nouveauté des versions 0.3 et 0.4 Vous pouvez aussi enregistrer une vidéo directement depuis un périphérique (smartphone/tablette doté d’un navigateur web ou webcam). Pour cela, cliquer sur un des boutons suivants :

Selon le périphérique choisi, la fenêtre d’acquisition de la vidéo s’ouvre (à gauche, pour utiliser un smartphone/une tablette, à droite pour configurer la webcam) :

Nouveauté de la version 0.3 Une fois la vidéo choisie (fichier ou enregistrement avec un périphérique), une fenêtre s’ouvre et permet d’adapter les caractéristiques de la vidéo (orientation, résolution, nombre d’image total). Choisir un nombre d’images raisonnable pour le pointage puis cliquer sur “OK”.

 La première image apparaît dans l’espace de travail. La boîte de choix du repère se colore alors en vert. Plusieurs orientations sont disponibles et après en avoir choisi une, positionner l’origine directement sur l’image dans l’espace de travail et cliquer sur le bouton “Valider”.

 Pour réaliser l’étalonnage, il faut dans un premier temps sélectionner l’option “Premier point” et cliquer sur l’image afin de positionner le premier point au niveau d’une extrémité de la référence choisie. Sélectionner ensuite l’option “Second point” et cliquer sur la seconde extrémité de la référence choisie.
Indiquer enfin dans la zone de saisie la valeur correspondante en mètre. Après avoir cliqué sur “Valider”, le logiciel affiche l’équivalence entre pixels et mètres et met à jour les libellés des graduations des axes.

 Optionnellement, il est possible de modifier la mise en forme selon les préférences de chacun dans la dernière boîte. Le bouton “Valider et passer aux mesures” est alors coloré en vert et il est possible de passer aux mesures.
Nouveauté des versions 0.6  Il est aussi possible de choisir le nombre de points lorsque l’on souhaite suivre plusieurs systèmes ou parties d’un système.

 Le second onglet s’active et fait apparaître un tableau qui contiendra les coordonnées dans le temps et l’espace de chaque point. Cliquer sur l’image dans l’espace de travail afin de prendre le premier point. On pourra s’aider de la loupe () afin d’affiner le pointage. Si vous ne souhaitez pas commencer le pointage dès la première image, il est possible d’utiliser la fonctionnalité “avancer” () ou de cliquer directement sur la ligne du tableau correspondant à l’image souhaitée.

 Une fois l’acquisition réalisée, plusieurs exports des données sont possibles :

  • Copier dans le presse-papier (tableau) : les données sont réparties en lignes (avec entête) et chaque colonne est séparée par une tabulation. Elles peuvent directement être collées dans un tableur existant ou dans Regressi par exemple ;
  • Copier dans le presse-papier (liste Python) : les données sont stockées dans le presse-papier sous forme de listes Python ;
  • Enregistrer au format CSV : un fichier est enregistré à l’emplacement choisi. Ce dernier est exploitable à l’aide d’un simple éditeur de texte, un tableur ou Regressi.
  • Enregistrer au format PY : enregistre, à l’emplacement choisi, un code Python minimaliste contenant les données et permettant de tracer la trajectoire du système suivi.
  • Enregistrer au format PNG : enregistre, à l’emplacement choisi, une capture d’écran de l’espace de travail actuel (avec image en fond, axes, points et étalonnage).

Nouveauté des versions 0.6 Il est aussi possible d’obtenir une représentation graphique directement depuis ChronoPhys en cliquant sur le bouton “Afficher le graphique”. La fenêtre suivante s’affiche et permet de construire la représentation graphique :

Futurs développements

En parallèle de la recherhce de bugs majeurs, l’ajout de nouvelles fonctionnalités est d’ors et déjà envisagé. À venir donc :

  •  Version 0.3 Acquisition en direct d’un smartphone
  •  Version 0.4 Acquisition en direct d’une webcam
  •  Version 0.6 Double pointage et fenêtre de représentation graphique
  •  À venir Calcul d’incertitudes
  •  À venir Suivi automatique du système choisi (après détourage) à l’aide d’OpenCV

Si vous souhaitez soumettre des idées de nouvelles fonctionnalités, des corrections ou signaler des bugs, n’hésitez surtout pas à me contacter ici.

  Modifié le : 08/08/2023 09:36:35