Version 0.10#

DataLab Version 0.10.1 (22/12/2023)#

Note : La V0.10.0 (publiée le 22/12/2023) a été presque immédiatement remplacée par la V0.10.1 en raison d’une correction de bug de dernière minute

💥 Nouvelles fonctionnalités :

  • Fonctionnalités communes aux signaux et aux images :

    • Ajout des fonctionnalités « Partie réelle » et « Partie imaginaire » au menu « Opération »

    • Ajout de la fonctionnalité « Convertir le type de données » au menu « Opération »

  • Fonctionnalités ajoutées suite aux demandes des utilisateurs (rencontre du 18/12/2023 au CEA) :

    • Les styles de courbe et d’image sont désormais enregistrés dans le fichier HDF5 :

      • Le style de courbe couvre les propriétés suivantes : couleur, style de ligne, largeur de ligne, style de marqueur, taille de marqueur, couleur de bordure de marqueur, couleur de remplissage de marqueur, etc.

      • Le style d’image couvre les propriétés suivantes : colormap, interpolation, etc.

      • Ces propriétés étaient déjà persistantes pendant la session de travail, mais étaient perdues lors de l’enregistrement et du rechargement du fichier HDF5

      • Désormais, ces propriétés sont enregistrées dans le fichier HDF5 et sont restaurées lors du rechargement du fichier HDF5

    • Nouvelles fonctionnalités d’extraction de profil pour les images :

      • Ajout de la fonctionnalité « Profil rectiligne » au menu « Opérations », pour extraire un profil d’une image le long d’une ligne ou d’une colonne

      • Ajout de la fonctionnalité « Profil moyen » au menu « Opérations », pour extraire le profil moyen sur une zone rectangulaire d’une image, le long d’une ligne ou d’une colonne

    • La plage LUT de l’image (paramètres de contraste/luminosité) est désormais enregistrée dans le fichier HDF5 :

      • Comme pour les styles de courbe et d’image, la plage LUT était déjà persistante pendant la session de travail, mais était perdue lors de l’enregistrement et du rechargement du fichier HDF5

      • Désormais, la plage LUT est enregistrée dans le fichier HDF5 et est restaurée lors du rechargement

    • Ajout des actions « Rafraîchissement automatique » et « Rafraîchissement manuel » dans le menu « Affichage » (et la barre d’outils principale) :

      • Lorsque « Rafraîchissement automatique » est activé (par défaut), la vue du graphique est automatiquement rafraîchie lorsqu’un signal/image est modifié, ajouté ou supprimé. Même si le rafraîchissement est optimisé, cela peut entraîner des problèmes de performances lors de l’utilisation de grands ensembles de données.

      • Lorsqu’il est désactivé, la vue du graphique n’est pas automatiquement rafraîchie. L’utilisateur doit rafraîchir manuellement la vue du graphique en cliquant sur le bouton « Rafraîchir manuellement » de la barre d’outils principale ou en appuyant sur la touche de rafraîchissement standard (par exemple « F5 »).

    • Ajout de la méthode toggle_auto_refresh à l’objet proxy de DataLab :

      • Cette méthode permet d’activer/désactiver la fonctionnalité « Rafraîchissement automatique » à partir d’une macro-commande, d’un plugin ou d’un client de contrôle à distance.

      • Un gestionnaire de contexte context_no_refresh est également disponible pour désactiver temporairement la fonctionnalité « Rafraîchissement automatique » à partir d’une macro-commande, d’un plugin ou d’un client de contrôle à distance. Utilisation typique :

        with proxy.context_no_refresh():
            # Do something without refreshing the plot view
            proxy.compute_fft() # (...)
        
    • Amélioration de la lisibilité des courbes :

      • Jusqu’à cette version, le style de la courbe était automatiquement défini en faisant défiler les styles prédéfinis de PlotPy

      • Cependant, certains styles ne sont pas adaptés à la lisibilité des courbes (par exemple, les couleurs « cyan » et « jaune » ne sont pas lisibles sur un fond blanc, en particulier lorsqu’elles sont combinées avec un style de ligne « pointillée »)

      • Cette version introduit une nouvelle gestion du style de courbe avec des couleurs qui sont distinguables et accessibles, même pour les personnes atteintes de déficience de la vision des couleurs

  • Ajout de la fonctionnalité « Anti-aliasing de la courbe » au menu « Affichage » (et à la barre d’outils) :

    • Cette fonctionnalité permet d’activer/désactiver l’anti-aliasing de la courbe (par défaut : activé)

    • Lorsqu’il est activé, le rendu de la courbe est plus lisse mais peut entraîner des problèmes de performances lors de l’utilisation de grands ensembles de données (c’est pourquoi il peut être désactivé)

  • Ajout de la méthode toggle_show_titles à l’objet proxy de DataLab. Cette méthode permet d’activer/désactiver la fonctionnalité « Afficher les titres des objets graphiques » à partir d’une macro-commande, d’un plugin ou d’un client de contrôle à distance.

  • Le client distant vérifie désormais la version du serveur et affiche un message d’avertissement si la version du serveur n’est peut-être pas entièrement compatible avec la version du client.

🛠️ Correctifs :

  • Fonctionnalité de détection des contours de l’image (menu Analyseer ») :

    • La fonctionnalité de détection des contours ne prenait pas en compte le paramètre « shape » (cercle, ellipse, polygone) lors du calcul des contours. Le paramètre était stocké mais vraiment utilisé uniquement lors de l’appel de la fonctionnalité une deuxième fois.

    • Ce comportement involontaire a conduit à une AssertionError lors du choix de « polygone » comme forme de contour et de la tentative de calcul des contours pour la première fois.

    • Ceci est maintenant corrigé (voir Issue #9 - Détection des contours de l’image : AssertionError lors du choix de « polygone » comme forme de contour)

  • Raccourcis clavier :

    • Les raccourcis clavier pour les actions « Nouveau », « Ouvrir », « Enregistrer », « Dupliquer », « Supprimer », « Tout supprimer » et « Rafraîchir manuellement » ne fonctionnaient pas correctement.

    • Ces raccourcis étaient spécifiques à chaque panneau de signal/image et ne fonctionnaient que lorsque le panneau sur lequel le raccourci a été pressé pour la première fois était actif (lorsqu’il était activé à partir d’un autre panneau, le raccourci ne fonctionnait pas et un message d’avertissement était affiché dans la console, par exemple QAction::event: Ambiguous shortcut overload: Ctrl+C)

    • De plus, les raccourcis ne fonctionnaient pas au démarrage (lorsqu’aucun panneau n’avait le focus).

    • Ceci est maintenant corrigé : les raccourcis fonctionnent maintenant quel que soit le panneau actif, et même au démarrage (voir Issue #10 - Raccourcis clavier ne fonctionnant pas correctement : QAction::event: Ambiguous shortcut overload: Ctrl+C)

  • Les actions « Afficher les titres des objets graphiques » et « Rafraîchissement automatique » ne fonctionnaient pas correctement :

    • Les actions « Afficher les titres des objets graphiques » et « Rafraîchissement automatique » ne fonctionnaient que sur le panneau de signal/image actif, et non sur tous les panneaux.

    • Ceci est maintenant corrigé (voir Issue #11 - Les actions « Afficher les titres des objets graphiques » et « Rafraîchissement automatique » ne fonctionnaient que sur le panneau de signal/image actuel)

  • Correction de l”Issue #14 - Enregistrer/Réouvrir le projet HDF5 sans nettoyage entraîne une ValueError

  • Correction de l”Issue #15 - MacOS : 1. Erreur pip install cdl - 2. Menus manquants :

    • Partie 1 : l’erreur pip install cdl sur MacOS était en fait un problème de PlotPy (voir [ce problème]

    • Partie 2 : les menus manquants sur MacOS étaient dus à un bogue PyQt/MacOS concernant les menus dynamiques

  • Format de fichier HDF5 : lors de l’importation d’un ensemble de données HDF5 en tant que signal ou image, les attributs de l’ensemble de données étaient systématiquement copiés dans les métadonnées du signal/image : nous ne copions désormais que les attributs qui correspondent aux types de données standard (entiers, flottants, chaînes de caractères) pour éviter les erreurs lors de la sérialisation/désérialisation de l’objet signal/image

  • Visualiseur d’installation/configuration : amélioration de la lisibilité (suppression de la coloration syntaxique)

  • Fichier de spécification de PyInstaller : ajout manuel des fichiers de données skimage manquants afin de continuer à prendre en charge Python 3.8 (voir Issue #12 - Version autonome sur Windows 7 : api-ms-win-core-path-l1-1-0.dll manquant)

  • Correction de l”Issue #13 - ArchLinux : qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found