Historique des modifications#

Voir la page de la [feuille de route](https://datalab-platform.com/fr/contributing/roadmap.html) de DataLab pour les jalons futurs et passés.

DataLab Version 0.19.0#

💥 Nouvelles fonctionnalités et améliorations :

  • Fonctionnalités d’opération sur les images (menu « Opérations ») :

    • Renommage du sous-menu « Rotation » en « Symétrie ou rotation »

    • Nouvelle fonctionnalité « Symétrie diagonale »

  • Fonctionnalités de traitement du signal (menu « Traitement ») :

    • Nouvelle fonctionnalité « Convertir en coordonnées cartésiennes »

    • Nouvelle fonctionnalité « Convertir en coordonnées polaires »

  • Fonctionnalités d’analyse du signal (menu « Analyse ») :

    • Renommage de « Valeurs X au min/max » en « Abscisse du minimum et du maximum »

    • Nouvelle fonctionnalité « Abscisse à y=… »

  • Nouvelle fonctionnalité « Ouvrir depuis le répertoire » :

    • Cette fonctionnalité permet d’ouvrir plusieurs fichiers d’un répertoire à la fois, de manière récursive (seuls les fichiers avec les extensions prises en charge par le panneau actuel sont ouverts)

    • Ajout de l’action « Ouvrir depuis le répertoire » au menu « Fichier » pour les panneaux Signal et Image

    • Ajout de la prise en charge des dossiers lors du glisser-déposer de fichiers dans les panneaux Signal et Image

  • Ajout de l’opération 1/x au menu « Opérations » pour les panneaux Signal et Image :

    • Cette fonctionnalité repose sur la fonction numpy.reciprocal, et gère le cas où le dénominateur est zéro en interceptant les avertissements et en remplaçant les valeurs np.inf par des valeurs np.nan

    • Ajout de la méthode compute_inverse pour les processeurs d’image et de signal

    • Ceci corrige l”[Issue #143](DataLab-Platform/DataLab#143) - Nouvelle fonctionnalité : 1/x pour les signaux et les images

  • API publique (locale ou distante) :

    • Ajout de la méthode add_group avec les arguments title et select pour créer un nouveau groupe dans un panneau de données (par exemple, panneau Signal ou Image) et éventuellement le sélectionner après sa création :

      • Cette méthode a été ajoutée aux classes suivantes : AbstractCDLControl, BaseDataPanel et RemoteClient

      • Cette fonctionnalité clotûre les tickets suivants :

    • AbstractCDLControl.get_object_uuids : ajout d’un argument optionnel group (identifiant, titre ou numéro du groupe) pour éventuellement filtrer les objets par groupe (ceci clôture le ticket [Issue #130](DataLab-Platform/DataLab#130))

  • Lors de l’ouverture d’un fichier HDF5, la boîte de dialogue de confirmation demandant si l’espace de travail actuel doit être effacé a une nouvelle réponse possible « Ignorer » :

    • Choisir « Ignorer » empêchera la boîte de dialogue de confirmation d’être affichée à nouveau, et choisira le paramètre actuel (c’est-à-dire effacer ou non l’espace de travail) pour toutes les ouvertures de fichiers suivantes

    • Ajout d’une nouvelle option « Effacer l’espace de travail avant de charger le fichier HDF5 » dans la boîte de dialogue « Paramètres », pour permettre à l’utilisateur de changer le paramètre actuel (c’est-à-dire effacer ou non l’espace de travail) pour toutes les ouvertures de fichiers suivantes

    • Ajout d’une nouvelle option « Demander avant d’effacer l’espace de travail » dans la boîte de dialogue « Paramètres », pour permettre à l’utilisateur de désactiver ou de réactiver la boîte de dialogue de confirmation demandant si l’espace de travail actuel doit être effacé lors de l’ouverture d’un fichier HDF5

    • Ceci clotûre le ticket [Issue #146](DataLab-Platform/DataLab#146) - Demander avant d’effacer l’espace de travail lors de l’ouverture d’un fichier HDF5 : ajouter l’option « Ignorer » pour empêcher la boîte de dialogue d’être affichée à nouveau

  • Renommage du titre des objets et des groupes :

    • Suppression de la fonctionnalité « Renommer le groupe » du menu « Édition » et du menu contextuel

    • Ajout de la fonctionnalité « Renommer l’objet » au menu « Édition » et au menu contextuel, avec le raccourci F2, pour renommer le titre de l’objet ou du groupe sélectionné

    • Ceci corrige l”[Issue #148](DataLab-Platform/DataLab#148) - Renommer le titre du signal/image/groupe en appuyant sur F2

  • Éditeur de région d’intérêt :

    • Regroupement des actions graphiques (nouvelle ROI rectangulaire, nouvelle ROI circulaire, nouvelle ROI polygonale) dans un seul menu « ROI graphique »

    • Ajout d’un nouveau menu « ROI par coordonnées » pour créer une ROI en utilisant la saisie manuelle des coordonnées :

      • Pour les signaux, la ROI est définie par les coordonnées de début et de fin

      • Pour les images :

        • La ROI rectangulaire est définie par les coordonnées du coin supérieur gauche et du coin inférieur droit

        • La ROI circulaire est définie par les coordonnées du centre et du rayon

        • La ROI polygonale n’est pas encore prise en charge

      • Ceci clotûre le ticket [Issue #145](DataLab-Platform/DataLab#145) - Éditeur de ROI : ajouter la saisie manuelle des coordonnées

🛠️ Corrections de bugs :

  • Correction de l”[Issue #141](DataLab-Platform/DataLab#141) - Analyse d’image : masque des valeurs nan lors du calcul des statistiques, par exemple

  • Correction de l”[Issue #144](DataLab-Platform/DataLab#144) - Extraction du profil moyen : ValueError lorsque le rectangle de sélection est plus grand que l’image

DataLab Version 0.18.2#

ℹ️ Informations générales :

  • Python 3.13 est désormais pris en charge, depuis la disponibilité de scikit-image V0.25 (voir [Issue #104](DataLab-Platform/DataLab#104) - Python 3.13 : KeyError: “area_bbox”)

💥 Améliorations :

  • Ajout de la nouvelle option « Conserver les résultats après le calcul » dans la section « Traitement » :

    • Avant ce changement, lors de l’application d’une fonction de traitement (par exemple un filtre, un seuil, etc.) sur un signal ou une image, les résultats de l’analyse étaient supprimés de l’objet

    • Cette nouvelle option permet de conserver les résultats de l’analyse après l’application d’une fonction de traitement sur un signal ou une image. Même si les résultats de l’analyse ne sont pas mis à jour, ils peuvent être pertinents dans certains cas d’utilisation (par exemple lors de l’utilisation de la fonction de détection de pics 2D sur une image, puis de l’application d’un filtre sur l’image, ou de la sommation de deux images, etc.)

🛠️ Corrections de bugs :

  • Correction de l”[Issue #138](DataLab-Platform/DataLab#138) - Les cartes de couleurs d’image n’étaient plus stockées dans les métadonnées (et sérialisées dans les fichiers HDF5) depuis PlotPy v2.6.3 (ce commit, en particulier : [PlotPyStack/PlotPy@a37af8a](PlotPyStack/PlotPy))

  • Correction de l”[Issue #137](DataLab-Platform/DataLab#137) - Opérations arithmétiques et interpolation de signal : la boîte de dialogue avec les paramètres n’est pas affichée

  • Correction de l”[Issue #136](DataLab-Platform/DataLab#136) - Lors du traitement d’un signal ou d’une image, le résultat de l’analyse est conservé à partir de l’objet d’origine

    • Avant cette correction, lors du traitement d’un signal ou d’une image (par exemple lors de l’application d’un filtre, d’un seuil, etc.), le résultat de l’analyse était conservé à partir de l’objet d’origine, et n’était pas mis à jour avec les nouvelles données. Ainsi, le résultat de l’analyse n’était plus pertinent, et induisait l’utilisateur en erreur.

    • Ceci est maintenant corrigé : le résultat de l’analyse est maintenant supprimé lors du traitement d’un signal ou d’une image. Cependant, il n’est pas recalculé automatiquement, car il n’y a aucun moyen de savoir quel résultat de l’analyse doit être recalculé (par exemple, si l’utilisateur a appliqué un filtre, le FWHM doit-il être recalculé ?) - de plus, l’implémentation actuelle des fonctionnalités d’analyse ne permet pas de recalculer automatiquement les résultats de l’analyse lorsque les données sont modifiées. L’utilisateur doit recalculer manuellement les résultats de l’analyse si nécessaire.

  • Correction de l”[Issue #132](DataLab-Platform/DataLab#132) - Tracer les résultats de l’analyse : le mode « Une courbe par titre de résultat » ignore les ROI

    • Avant cette correction, le mode « Une courbe par titre de résultat » ignorait les ROI, et traçait le résultat sélectionné pour tous les objets (signaux ou images) sans tenir compte de la ROI définie sur les objets

    • Ceci est maintenant corrigé : le mode « Une courbe par titre de résultat » prend désormais en compte la ROI définie sur les objets, et trace le résultat sélectionné pour chaque objet (signal ou image) et pour chaque ROI définie sur l’objet

  • Correction de l”[Issue #128](DataLab-Platform/DataLab#128) - Prise en charge des longs titres d’objet dans les panneaux Signal et Image

  • Correction de l”[Issue #133](DataLab-Platform/DataLab#133) - Supprimer des résultats d’analyse spécifiques du presse-papiers de métadonnées lors de l’opération de copie

  • Correction de l”[Issue #135](DataLab-Platform/DataLab#135) - Permettre de modifier la ROI sur plusieurs signaux ou images à la fois

    • Avant cette correction, l’éditeur de ROI était désactivé lorsque plusieurs signaux ou images étaient sélectionnés

    • Ceci est maintenant corrigé : l’éditeur de ROI est maintenant activé lorsque plusieurs signaux ou images sont sélectionnés, et la ROI est appliquée à tous les signaux ou images sélectionnés (seule la ROI du premier signal ou image sélectionné est prise en compte)

    • Ce nouveau comportement est cohérent avec la fonctionnalité d’extraction de ROI, qui permet d’extraire la ROI sur plusieurs signaux ou images à la fois, en fonction de la ROI définie sur le premier signal ou image sélectionné

  • Fonctionnalité de ROI d’image :

    • Correction de l”[Issue #120](DataLab-Platform/DataLab#120) - Extraction de ROI sur plusieurs images : la ROI définie ne doit pas être enregistrée dans le premier objet sélectionné. Le choix de conception est de ne pas enregistrer la ROI définie ni dans le premier ni dans aucun des objets sélectionnés : la ROI est uniquement utilisée pour l’extraction, et n’est pas enregistrée dans aucun objet

    • Correction de l”[Issue #121](DataLab-Platform/DataLab#121) - AttributeError lors de l’extraction de plusieurs ROIs sur une seule image, si plus d’une image est sélectionnée

    • Correction de l”[Issue #122](DataLab-Platform/DataLab#122) - Les masques d’image ne sont pas actualisés lors de la suppression des métadonnées sauf pour l’image active

    • Correction de l”[Issue #123](DataLab-Platform/DataLab#123) - Les masques d’image ne sont pas actualisés lors du collage de métadonnées sur plusieurs images, sauf pour la dernière image

  • Fichiers texte et CSV :

    • Améliorer la lecture des fichiers texte en détectant les en-têtes de données (en utilisant une liste d’en-têtes typiques des instruments scientifiques) et en permettant de sauter l’en-tête lors de la lecture du fichier

    • Ignorer les erreurs d’encodage lors de la lecture des fichiers dans la fonctionnalité d’ouverture et l’assistant d’importation, permettant ainsi de lire des fichiers avec des caractères spéciaux sans lever d’exception

    • Correction de l”[Issue #124](DataLab-Platform/DataLab#124) - Fichiers texte : prise en charge du séparateur décimal local (différent de .)

  • Fonctionnalités d’analyse de signal : correction des résultats en double lorsqu’aucune ROI n’est définie

  • Correction de l”[Issue #113](DataLab-Platform/DataLab#113) - L’appel à RemoteClient.open_h5_files (et import_h5_file) échoue sans passer les arguments facultatifs

  • Correction de l”[Issue #116](DataLab-Platform/DataLab#116) - Exception KeyError lors de la tentative de suppression d’un groupe après l’ouverture d’un fichier HDF5

DataLab Version 0.18.1#

💥 Améliorations :

  • Le calcul de la FWHM lève désormais une exception lorsqu’il y a moins de deux points trouvés avec la méthode du zéro-crossing

  • Amélioration de la validation des résultats de type tableau en vérifiant le type de données du résultat

🛠️ Corrections de bugs :

  • Correction de l”[Issue #106](DataLab-Platform/DataLab#106) - Analyse : résultats décalés de coordonnées sur des images avec des ROIs et une origine décalée

  • Correction de l”[Issue #107](DataLab-Platform/DataLab#107) - Mauvais indices lors de l’extraction d’un profil à partir d’une image avec une ROI

  • Correction de l”[Issue #111](DataLab-Platform/DataLab#111) - La méthode add_object du proxy ne prend pas en charge les métadonnées du signal/image (par exemple la ROI)

  • Plugin de données de test / « Créer une image gaussienne bruitée 2D » : correction du calcul de l’amplitude dans cdl.tests.data.create_2d_random pour les types de données non entiers

📚 Documentation :

  • Correction des séparateurs de chemin dans la documentation du répertoire des plugins

  • Corrigé les descriptions des zones gauche et droite dans la documentation de l’espace de travail

  • Lien de style Google mis à jour dans les directives de contribution

  • Corrections de diverses traductions françaises dans la documentation

DataLab Version 0.18.0#

ℹ️ Informations générales :

  • PlotPy v2.7 est requis pour cette version.

  • Prise en charge de Python 3.8 abandonnée.

  • Python 3.13 n’est pas encore pris en charge, car certaines dépendances ne sont pas compatibles avec cette version.

💥 Nouvelles fonctionnalités et améliorations :

  • Nouvelle fonctionnalité de mode d’opération :

    • Ajout de la fonctionnalité « Mode d’opération » à l’onglet « Traitement » de la boîte de dialogue « Paramètres »

    • Cette fonctionnalité permet de choisir entre les modes d’opération « single » et « pairwise » pour toutes les opérations de base (addition, soustraction, multiplication, division, etc.) :

      • Mode « single » : mode d’opérande unique (mode par défaut : l’opération est effectuée sur chaque objet indépendamment)

      • Mode « pairwise » : mode d’opérande par paire (l’opération est effectuée sur chaque paire d’objets)

    • Cela s’applique à la fois aux signaux et aux images, et aux calculs prenant N entrées

    • Les calculs prenant N entrées sont ceux où :

      • N(>=2) objets en entrée donnent N objets en sortie

      • N(>=1) objet(s) + 1 objet en entrée donnent N objets en sortie

  • Nouvelles fonctionnalités de ROI (Région d’intérêt) :

    • Nouvelle fonctionnalité de ROI polygonale

    • Refonte complète des interfaces utilisateur de l’éditeur de ROI, améliorant l’ergonomie et la cohérence avec le reste de l’application

    • Refactorisation interne majeure du système de ROI pour le rendre plus robuste (plus de tests) et plus facile à maintenir

  • Implémentation de l”[Issue #102](DataLab-Platform/DataLab#102) - Lancer DataLab en utilisant datalab au lieu de cdl. Notez que la commande cdl est toujours disponible pour la compatibilité ascendante.

  • Implémentation de l”[Issue #101](DataLab-Platform/DataLab#101) - Configuration : définir l’interpolation d’image par défaut sur l’anti-crénelage (5 au lieu de 0 pour le plus proche). Ce changement est motivé par le fait qu’une amélioration des performances a été apportée dans PlotPy v2.7 sur Windows, ce qui permet d’utiliser l’interpolation par anti-crénelage par défaut sans impact significatif sur les performances.

  • Implémentation de l”[Issue #100](DataLab-Platform/DataLab#100) - Utiliser le même programme d’installation et exécutable sur Windows 7 SP1, 8, 10, 11. Avant ce changement, un programme d’installation spécifique était requis pour Windows 7 SP1, en raison du fait que Python 3.9 et les versions ultérieures ne sont pas prises en charge sur cette plateforme. Une solution de contournement a été mise en œuvre pour faire fonctionner DataLab sur Windows 7 SP1 avec Python 3.9.

🛠️ Corrections de bugs :

  • Correction de l”[Issue #103](DataLab-Platform/DataLab#103) - proxy.add_annotations_from_items : la couleur de la forme de cercle semble être ignorée.

DataLab Version 0.17.1#

ℹ️ PlotPy v2.6.2 est requis pour cette version.

💥 Nouvelles fonctionnalités et améliorations :

  • Vue Image :

    • Avant cette version, lors de la sélection d’un grand nombre d’images (par exemple lors de la sélection d’un groupe d’images), l’application était très lente car toutes les images étaient affichées dans la vue image, même si elles étaient toutes superposées sur la même image

    • La solution de contournement était d’activer l’option « Afficher uniquement le premier »

    • Maintenant, pour améliorer les performances, si plusieurs images sont sélectionnées, seule la dernière image de la sélection est affichée dans la vue image si cette dernière image n’a pas de transparence et si les autres images sont complètement recouvertes par cette dernière image

  • Clarification : l’action « Afficher uniquement le premier » a été renommée en « Afficher uniquement le premier objet », et une nouvelle icône a été ajoutée à l’action

  • API : ajout des propriétés width et height à la classe ImageObj (retourne la largeur et la hauteur de l’image en unités physiques)

  • Lanceur Windows « start.pyw » : écriture d’un fichier journal « datalab_error.log » lorsqu’une exception se produit au démarrage

🛠️ Corrections de bugs :

  • Changer le thème de couleur met maintenant à jour correctement tous les composants de l’interface utilisateur de DataLab sans avoir besoin de redémarrer l’application

ℹ️ Autres changements :

  • OpenCV est désormais une dépendance facultative :

    • Ce changement est motivé par le fait que le paquet conda OpenCV n’est pas maintenu sur Windows (au moins), ce qui entraîne une erreur lors de l’installation de DataLab avec conda

    • Lorsque OpenCV n’est pas installé, seule la fonctionnalité « Détection de blob OpenCV » ne fonctionnera pas, et un message d’avertissement sera affiché lors de la tentative d’utilisation de cette fonctionnalité

DataLab Version 0.17.0#

ℹ️ PlotPy v2.6 est requis pour cette version.

💥 Nouvelles fonctionnalités et améliorations :

  • Le menu « Calcul » a été renommé en « Analyse » pour les panneaux Signal et Image, pour mieux refléter la nature des fonctionnalités de ce menu

  • Les régions d’intérêt (ROIs) sont désormais prises en compte partout dans l’application là où cela a du sens, et pas seulement pour les anciennes fonctionnalités du menu « Calcul » (maintenant « Analyse »). Cela clôture l”[Issue #93](DataLab-Platform/DataLab#93). Si un signal ou une image a une ROI définie :

    • Les opérations sont effectuées uniquement sur la ROI (sauf si l’opération modifie la forme des données, ou la taille des pixels pour les images)

    • Les fonctionnalités de traitement sont effectuées uniquement sur la ROI (si le type de données de l’objet de destination est compatible avec le type de données de l’objet source, ce qui exclut le seuillage, par exemple)

    • Les fonctionnalités d’analyse sont effectuées uniquement sur la ROI, comme avant

  • En conséquence du point précédent, et pour plus de clarté :

    • Les fonctionnalités « Modifier les régions d’intérêt » et « Supprimer toutes les régions d’intérêt » ont été déplacées du vieux menu « Calcul » (maintenant « Analyse ») vers le menu « Édition » où se trouvent toutes les fonctionnalités liées aux métadonnées

    • L’action « Modifier les régions d’intérêt » a été ajoutée aux barres d’outils verticales de la Vue Signal et Image (en deuxième position, après l’action « Voir dans une nouvelle fenêtre »)

  • Suite à la correction des problèmes de conversion du type de données des images avec les opérations de base, une nouvelle fonctionnalité « Opération arithmétique » a été ajoutée au menu « Opérations » pour les panneaux Signal et Image. Cette fonctionnalité permet d’effectuer des opérations linéaires sur les signaux et les images, avec les opérations suivantes :

    • Addition : obj3 = (obj1 + obj2) * a + b

    • Soustraction : obj3 = (obj1 - obj2) * a + b

    • Multiplication : obj3 = (obj1 * obj2) * a + b

    • Division : obj3 = (obj1 / obj2) * a + b

  • Amélioration de la gestion de la taille des boîtes de dialogue « Voir dans une nouvelle fenêtre » et « Éditeur de ROI » : la taille par défaut ne sera pas plus grande que la taille de la fenêtre principale de DataLab

  • Éditeur de ROI :

    • Ajout de barres d’outils pour les éditeurs de ROI Signal et Image, pour permettre de zoomer et dézoomer, et de réinitialiser facilement le niveau de zoom

    • Réorganisation des boutons dans la boîte de dialogue de l’éditeur de ROI pour une meilleure ergonomie et une cohérence avec l’éditeur d’annotations (boîte de dialogue « Voir dans une nouvelle fenêtre »)

  • Application de thème de couleur :

    • Ajout de la prise en charge du thème de couleur (auto, clair, foncé) dans la boîte de dialogue « Paramètres »

    • Le thème de couleur est appliqué sans redémarrer l’application

🛠️ Corrections de bugs :

  • Extraction de profil d’intensité / Profil de segment :

    • Lors de l’extraction d’un profil sur une image avec une ROI définie, la fonction PlotPy associée affiche un message d’avertissement (“UserWarning: Attention : conversion d’un élément masqué en nan.”) mais le profil est correctement extrait et affiché, avec des valeurs NaN là où la ROI n’est pas définie.

    • Les valeurs NaN sont maintenant supprimées du profil avant de le tracer

  • Les fonctionnalités de traitement simples avec une correspondance un-à-un avec une fonction Python (par exemple numpy.absolute, numpy.log10, etc.) et sans paramètres : correction du titre de l’objet résultat qui se terminait systématiquement par « | » (le caractère qui précède généralement la liste des paramètres)

  • Filtrage de Butterworth : correction de la valeur par défaut et de la plage de valeurs valides de la fréquence de coupure

  • Toutes les actions liées à la visualisation sont désormais regroupées dans la barre d’outils verticale du panneau de visualisation

    • Lors du démarrage de DataLab avec le panneau Signal actif, le passage à la Vue Image affichait les actions « Voir dans une nouvelle fenêtre » ou « Modifier les régions d’intérêt » activées dans la barre d’outils verticale, même si aucune image n’était affichée dans la Vue Image

    • La barre d’outils verticale de la Vue Image est maintenant correctement mise à jour au démarrage

  • Voir dans une nouvelle fenêtre : les outils de coupe transversale (profils d’intensité) restaient désactivés à moins que l’utilisateur ne sélectionne une image via la liste des éléments - c’est maintenant corrigé

  • Vue Image : le bouton de la barre d’outils « Afficher le panneau de contraste » n’était pas activé au démarrage, et n’était activé que lorsqu’au moins une image était affichée dans la Vue Image - il est maintenant toujours activé, comme prévu

  • Conversion du type de données des images :

    • Précédemment, la fonction de conversion de type de données était commune aux fonctionnalités de traitement de signal et d’image, c’est-à-dire une simple conversion du type de données en utilisant la méthode astype de NumPy

    • Cela n’était pas suffisant pour les fonctionnalités de traitement d’image, en particulier pour les images avec des données de type entier, car même si le résultat était correct d’un point de vue numérique, un débordement ou un dépassement pouvait légitimement être considéré comme un bug d’un point de vue mathématique

    • La fonction de conversion du type de données des images repose désormais sur la fonction interne clip_astype, qui recadre les données dans la plage valide du type de données cible avant de les convertir (dans le cas des images de type entier)

  • Problèmes d’extraction de ROI d’image :

    • Plusieurs régressions ont été introduites dans la version 0.16.0 :

      • L’extraction d’une seule ROI circulaire ne fonctionnait pas comme prévu (une ROI rectangulaire était extraite, avec des coordonnées inattendues)

      • L’extraction de plusieurs ROI circulaires conduisait à une extraction de ROI rectangulaire

      • L’extraction de plusieurs ROI ne recadrait plus l’image à la boîte englobante globale des ROIs

    • Ces problèmes sont maintenant corrigés, et des tests unitaires ont été ajoutés pour éviter les régressions :

      • Un algorithme de test indépendant a été implémenté pour vérifier la correction de l’extraction de ROI dans tous les cas mentionnés ci-dessus

      • Les tests couvrent à la fois l’extraction de ROI unique et multiple, avec des ROIs circulaires et rectangulaires

  • Problèmes de débordement et de dépassement dans certaines opérations sur des images de type entier :

    • Lors du traitement d’images de type entier, certaines fonctionnalités provoquaient des problèmes de débordement ou de dépassement, entraînant des résultats inattendus (résultats corrects d’un point de vue numérique, mais pas d’un point de vue mathématique)

    • Ce problème ne concernait que les opérations de base (addition, soustraction, multiplication, division et opérations constantes) - toutes les autres fonctionnalités fonctionnaient déjà comme prévu

    • This is now fixed as result output are now floating point images

    • Des tests unitaires ont été ajoutés pour éviter les régressions pour toutes ces opérations

DataLab Version 0.16.4#

Cette version concerne une maintenance mineure.

🛠️ Corrections de bugs :

  • PlotPy v2.4.1 ou ultérieur est requis pour corriger les problèmes suivants liés à la fonction d’ajustement de contraste :

    • Une régression a été introduite dans une version antérieure de PlotPy : l’histogramme des niveaux n’était plus supprimé du panneau d’ajustement de contraste lorsque l’image associée était supprimée du graphique

    • Cela est maintenant corrigé : lorsque une image est supprimée, l’histogramme est également supprimé et le panneau de contraste est rafraîchi (ce qui n’était pas le cas même avant la régression)

  • Ignorer AssertionError dans config_unit_test.py lors de l’exécution de la suite de tests sur WSL

📚 Documentation :

  • Correction de la référence de classe dans la documentation de Wrap11Func

DataLab Version 0.16.3#

🛠️ Corrections de bugs :

  • Correction de l”[Issue #84](DataLab-Platform/DataLab#84) - Problèmes de construction avec V0.16.1 : conflit de nom signal, …

    • Ce problème devait être corrigé dans la version 0.16.2, mais la correction n’était pas suffisante

    • Merci à [@rolandmas](rolandmas) pour avoir signalé le problème et pour l’aide apportée dans l’investigation du problème et le test de la correction

  • Correction de l”[Issue #85](DataLab-Platform/DataLab#85) - Les chemins des données de test peuvent être ajoutés plusieurs fois à cdl.utils.tests.TST_PATH

    • Ce problème est lié à l”[Issue #84](DataLab-Platform/DataLab#84)

    • Ajouter les chemins des données de test plusieurs fois à cdl.utils.tests.TST_PATH entraînait le chargement multiple des données de test, ce qui a conduit à l’échec de certains tests (une solution de contournement simple a été ajoutée à V0.16.2 : ce problème est maintenant corrigé)

    • Merci encore à [@rolandmas](rolandmas) pour avoir signalé le problème dans le contexte de l’emballage Debian

  • Correction de l”[Issue #86](DataLab-Platform/DataLab#86) - La moyenne de N images entières dépasse le type de données

  • Correction de l”[Issue #87](DataLab-Platform/DataLab#87) - Extraction du profil moyen de l’image : AttributeError lors de la tentative de modification des paramètres du profil

  • Correction de l”[Issue #88](DataLab-Platform/DataLab#88) - Profil de segment d’image : inversion des coordonnées des points

DataLab Version 0.16.2#

Cette version nécessite PlotPy v2.4.0 ou ultérieure, qui apporte les corrections de bugs et les nouvelles fonctionnalités suivantes :

  • Nouvelles fonctionnalités d’ajustement de contraste et corrections de bugs :

    • Nouvelle disposition : la barre d’outils verticale (qui était contrainte dans une petite zone sur le côté droit du panneau) est désormais une barre d’outils horizontale en haut du panneau, à côté du titre

    • Nouveau bouton « Définir l’échelle » : permet à l’utilisateur de définir manuellement les valeurs minimale et maximale de la plage de l’histogramme

    • Correction des problèmes de mise à jour de l’histogramme lorsque aucune image n’était actuellement sélectionnée (même si une image était affichée et sélectionnée auparavant)

    • La plage de l’histogramme n’était pas mise à jour lorsque la valeur minimale ou maximale était définie à l’aide des boutons « Valeur minimale » ou « Valeur maximale » (qui ont été renommés en « Min. » et « Max. » dans cette version)

    • La plage de l’histogramme n’était pas mise à jour lorsque le bouton « Définir la plage complète » était cliqué, ou lorsque la plage de LUT était modifiée à l’aide du formulaire « Échelles / Plage de LUT » dans le groupe « Propriétés »

  • Menu contextuel de la Vue Image : nouvelle fonctionnalité « Inverser l’axe X »

ℹ️ Nouvelles fonctionnalités mineures et améliorations :

  • Types de fichiers image :

    • Ajout de la prise en charge native de la lecture des fichiers image .SPE, .GEL, .NDPI et .REC

    • Ajout de la prise en charge de tout format de fichier pris en charge par imageio via le fichier de configuration (l’entrée imageio_formats peut être personnalisée pour compléter la liste par défaut des formats pris en charge : voir la [documentation](https://datalab-platform.com/fr/features/image/menu_file.html#open-image) pour plus de détails)

🛠️ Corrections de bugs :

  • Analyse de Fourier des images :

    • Correction de l’échelle logarithmique pour le spectre de magnitude (calcul en dB au lieu du logarithme naturel)

    • Correction du calcul de la DSP avec une échelle logarithmique (calcul en dB au lieu du logarithme naturel)

    • Mise à jour de la documentation pour mentionner explicitement que l’échelle logarithmique est en dB

  • Correction de l”[Issue #82](DataLab-Platform/DataLab#82) - Les macros ne sont pas renommées dans DataLab après les avoir exportées vers des scripts Python

  • L’objet ResultProperties peut désormais être ajouté aux métadonnées de SignalObj ou ImageObj même en dehors d’une boucle d’événements Qt (car l’élément d’étiquette n’est plus créé immédiatement)

  • La barre de progression est désormais automatiquement fermée en cas d’erreur lors d’une opération longue (par exemple, lors de l’ouverture d’un fichier)

  • Soustraction, division… : la boîte de dialogue pour la sélection du second opérande permettait de sélectionner un groupe (seul un signal ou une image devrait être sélectionné)

  • Lorsqu’une opération implique un objet (signal ou image) ayant un numéro d’ordre supérieur à l’objet actuel (par exemple, lors de la soustraction d’une image avec une image d’un groupe en dessous de l’image actuelle), le titre de l’objet résultant fait désormais correctement référence aux numéros d’ordre des objets impliqués dans l’opération (par exemple, pour continuer avec l’exemple de soustraction mentionné ci-dessus, le titre de l’objet résultant faisait précédemment référence au numéro d’ordre avant l’insertion de l’image résultante)

  • Ajout de la prise en charge d’un dossier de données de test supplémentaire grâce à la variable d’environnement CDL_DATA (utile à des fins de test, et notamment dans le contexte de la préparation du paquet Debian de DataLab)

DataLab Version 0.16.1#

Depuis la version 0.16.0, de nombreuses fonctions de validation ont été ajoutées à la suite de tests. Le pourcentage de fonctions de calcul validées est passé de 37 % à 84 % dans cette version.

NumPy 2.0 support has been added with this release.

ℹ️ Nouvelles fonctionnalités mineures et améliorations :

  • Filtres moyenne mobile et médiane pour les signaux et les images :

    • Ajout du paramètre « Mode » pour choisir le mode du filtre (par exemple « reflect », « constant », « nearest », « mirror », « wrap »)

    • Le mode par défaut est « reflect » pour la moyenne mobile et « nearest » pour la médiane mobile

    • Cela permet de gérer les effets de bord lors du filtrage des signaux et des images

🛠️ Corrections de bugs :

  • Correction de la détection de bord de Canny pour renvoyer une image binaire en uint8 au lieu de bool (par soucis de cohérence avec les autres fonctionnalités de traitement d’image)

  • Correction de la normalisation d’image : la borne inférieure était mal définie pour la méthode maximum

  • Correction de l’erreur ValueError lors du calcul de la DSP avec une échelle logarithmique

  • Correction de l’algorithme de dérivation d’un signal : utilisation de numpy.gradient au lieu d’une implémentation personnalisée

  • Correction de l’obsolescence de cumtrapz de SciPy : utilisation de cumulative_trapezoid à la place

  • La sélection de courbe affiche désormais les points individuels de la courbe (auparavant, seule la largeur de la ligne de la courbe était élargie)

  • Installeur Windows : ajout de la prise en charge des versions instables (par exemple, 0.16.1.dev0), permettant ainsi d’installer facilement la dernière version de développement de DataLab sur Windows

  • Correction de l”[Issue #81](DataLab-Platform/DataLab#81) - Lors de l’ouverture de fichiers, afficher la boîte de dialogue de progression uniquement si nécessaire

  • Correction de l”[Issue #80](DataLab-Platform/DataLab#80) - Tracé des résultats : prise en charge de deux cas d’utilisation

    • Les fonctionnalités du menu Analyse » produisent des résultats (scalaires) : détection de taches (coordonnées de cercle), détection de pics 2D (coordonnées de points), etc. Selon la fonctionnalité, des tables de résultats sont affichées dans la boîte de dialogue « Résultats », et les résultats sont également stockés dans les métadonnées du signal ou de l’image : chaque ligne de la table de résultats est un résultat individuel, et chaque colonne est une propriété du résultat - certains résultats peuvent ne consister qu’en un seul résultat individuel (par exemple, le centroïde de l’image ou la FWHM de la courbe), tandis que d’autres peuvent consister en plusieurs résultats individuels (par exemple, détection de taches, détection de contours, etc.).

    • Avant ce changement, la fonctionnalité « Tracer les résultats » ne prenait en charge que le tracé du premier résultat individuel d’une table de résultats, en fonction de l’index (des objets de signal ou d’image) ou de l’une des colonnes de la table de résultats. Cela n’était pas suffisant pour certains cas d’utilisation, où l’utilisateur souhaitait tracer plusieurs résultats individuels d’une table de résultats.

    • A présent, la fonctionnalité « Tracer les résultats » prend en charge deux cas d’utilisation :

      • « Une courbe par titre de résultat » : Tracer le premier résultat individuel d’une table de résultats, comme auparavant

      • « Une courbe par objet (ou ROI) et par titre de résultat » : Tracer tous les résultats individuels d’une table de résultats, en fonction de l’index (des objets de signal ou d’image) ou de l’une des colonnes de la table de résultats

    • La sélection du cas d’utilisation se fait dans la boîte de dialogue « Tracer les résultats »

    • Le cas d’utilisation par défaut est « Une courbe par titre de résultat » si la table de résultats ne comporte qu’une seule ligne, et « Une courbe par objet (ou ROI) et par titre de résultat » dans les autres cas

DataLab Version 0.16.0#

💥 Nouvelles fonctionnalités et améliorations :

  • Refonte majeure de l’interface utilisateur :

    • La barre de menu et les barres d’outils ont été réorganisées pour rendre l’application plus intuitive et plus facile à utiliser

    • Les fonctionnalités d’opérations et de traitement ont été regroupées dans des sous-menus

    • Toutes les actions liées à la visualisation sont désormais regroupées dans la barre d’outils verticale du panneau de visualisation

    • Clarification de la gestion des « Annotations » (nouveaux boutons, action de la barre d’outils…)

  • Nouveau processus de validation pour les fonctionnalités de traitement du signal et de l’image :

    • Avant cette version, le processus de validation de DataLab était exclusivement effectué du point de vue du programmeur, en écrivant des tests unitaires et des tests d’intégration, garantissant ainsi que le code fonctionnait comme prévu (c’est-à-dire qu’aucune exception n’était levée et que le comportement était correct)

    • Avec cette version, un nouveau processus de validation a été introduit, du point de vue de l’utilisateur, en ajoutant de nouvelles fonctions de validation (marquées avec le décorateur @pytest.mark.validation) dans la suite de tests

    • Une nouvelle section « Validation » dans la documentation explique comment la validation est effectuée et contient une liste de toutes les fonctions de validation avec les statistiques du processus de validation (générées à partir de la suite de tests)

    • Le processus de validation est en cours et sera amélioré dans les versions futures

  • Groupe « Propriétés » :

    • Ajout de l’onglet « Échelles », pour afficher et définir les échelles du graphique :

      • X, Y pour les signaux

      • X, Y, Z (plage de LUT) pour les images

  • Options d’affichage :

    • Nouvelle option « Afficher uniquement le premier » dans le menu « Affichage », pour afficher uniquement la première courbe (ou image) lorsque plusieurs courbes (ou images) sont affichées dans la vue du graphique

    • Nouvelle étiquette (déplaçable) pour les calculs de FWHM, en plus de l’annotation de segment existante

  • Fonctionnalités d’E/S :

    • Ajout de la prise en charge de la lecture et de l’écriture des fichiers .MAT (format MATLAB)

    • Création d’un nouveau groupe lors de l’ouverture d’un fichier contenant plusieurs signaux ou images (par exemple, un fichier CSV avec plusieurs courbes)

  • Ajout de la prise en charge des images binaires

  • Extraction de ROI de signal : ajout d’une nouvelle boîte de dialogue pour éditer manuellement les bornes inférieure et supérieure du ROI après avoir défini le ROI graphiquement

ℹ️ Nouvelles fonctionnalités de traitement des Signaux :

Menu

Sous-menu

Fonctionnalités

Nouveau

Nouveau signal

Exponentielle, impulsion, polynomiale, expérimentale (entrée manuelle)

Opérations

Exponentielle, Racine carrée, Puissance

Opérations

Opérations avec une constante

+, -, *, /

Traitement

Transformation des axes

Inverser l’axe X

Traitement

Ajustement du niveau

Correction d’offset

Traitement

Analyse de Fourier

Spectre de puissance, Spectre de phase, Spectre de magnitude, Densité spectrale de puissance

Traitement

Filtres fréquentiels

Passe-bas, Passe-haut, Passe-bande, Coupure de bande

Traitement

Fenêtrage (Hanning, Hamming, Blackman, Blackman-Harris, Nuttall, Flat-top…)

Traitement

Ajustement

Ajustement linéaire, Ajustement sinusoïdal, Ajustement exponentiel, Ajustement CDF

Analyse

LMH (Méthode du zéro-crossing), Valeur X @ min/max, Période/fréquence d’échantillonnage, Paramètres dynamiques (ENOB, SNR, SINAD, THD, SFDR), Largeur de bande -3dB, Contraste

ℹ️ Nouvelles fonctionnalités de traitement des Images :

Menu

Sous-menu

Fonctionnalités

Opérations

Exponentielle

Opérations

Profils d’intensité

Profil le long d’un segment

Opérations

Opérations avec une constante

+, -, *, /

Traitement

Ajustement du niveau

Normalisation, Recadrage, Correction d’offset

Traitement

Analyse de Fourier

Spectre de puissance, Spectre de phase, Spectre de magnitude, Densité spectrale de puissance

Traitement

Seuillage

Paramétrique, ISODATA, Li, Moyenne, Minimum, Otsu, Triangle, Yen

🛠️ Corrections de bugs :

  • Correction d’un problème de performance dû à un rafraîchissement inutile de la vue du graphique lors de l’ajout d’un nouveau signal ou d’une nouvelle image

  • Correction de l”[Issue #77](DataLab-Platform/DataLab#77) - Profils d’intensité : impossible d’accepter la boîte de dialogue la deuxième fois

  • Correction de l”[Issue #75](DataLab-Platform/DataLab#75) - Afficher dans une nouvelle fenêtre : l’anti-crénelage de la courbe n’est pas activé par défaut

  • La visibilité des annotations est désormais correctement sauvegardée et restaurée :

    • Avant cette version, lorsque la visibilité des annotations était modifiée dans la vue du graphique séparée, elle n’était pas sauvegardée et restaurée lors de la réouverture de la vue du graphique

    • Cela a été [corrigé en amont](PlotPyStack/PlotPy) dans PlotPy (v2.3.3)

DataLab Version 0.15.1#

🛠️ Corrections de bugs :

  • Correction de l”[Issue #68](DataLab-Platform/DataLab#68) - Chargement lent même pour des graphiques simples :

    • Sur macOS, l’expérience utilisateur était dégradée lors de la manipulation de graphiques simples

    • Cela était dû à la manière dont macOS gère les fenêtres contextuelles, par exemple lors du rafraîchissement de la vue du graphique (barre de progression « Création d’éléments de graphique »), provoquant ainsi un effet de scintillement très gênant et un ralentissement global de l’application

    • Le problème est maintenant résolu en affichant la barre de progression uniquement après un court délai (1s), c’est-à-dire lorsqu’elle est vraiment nécessaire (c’est-à-dire pour les opérations longues)

    • Merci à [@marcel-goldschen-ohm](marcel-goldschen-ohm) pour la description très détaillée du problème et l’aide apportée pour tester la correction

  • Correction de l”[Issue #68](DataLab-Platform/DataLab#69) - Les annotations devraient être en lecture seule dans la vue Signal/Image

    • En ce qui concerne les annotations, le comportement actuel de DataLab est le suivant :

      • Les annotations ne sont créées que lors de l’affichage du signal/image dans une fenêtre séparée (double-clic sur l’objet, ou « Affichage » > « Afficher dans une nouvelle fenêtre »)

      • Quand les objets sont affichés dans la « Vue Signal » ou la « Vue Image », les annotations devraient être en lecture seule (c’est-à-dire non déplaçables, ni redimensionnables ou supprimables)

    • Toutefois, certaines annotations étaient toujours supprimables dans la « Vue Signal » et la « Vue Image » : c’est maintenant corrigé

    • Notons que le fait que les annotations ne peuvent pas être créées dans la « Vue Signal » ou la « Vue Image » est une limitation de l’implémentation actuelle, et peut être amélioré dans les versions futures

DataLab Version 0.15.0#

🎁 Nouvel installeur pour la version autonome sur Windows :

  • La version autonome sur Windows est désormais distribuée en tant qu’installeur MSI (au lieu d’un installeur EXE)

  • Cela évite la détection de faux positifs de la version autonome comme une menace potentielle par certains logiciels antivirus

  • Le programme installera des fichiers et des raccourcis :

    • Pour l’utilisateur actuel, si l’utilisateur n’a pas de privilèges d’administrateur

    • Pour tous les utilisateurs, si l’utilisateur a des privilèges d’administrateur

    • Le répertoire d’installation peut être personnalisé

  • L’installeur MSI permet d’intégrer l’installation de DataLab de manière transparente dans le système de déploiement d’une organisation

💥 Nouvelles fonctionnalités et améliorations :

  • Ajout de la prise en charge des fichiers texte/CSV volumineux :

    • Les fichiers de plus de 1 Go (et avec un nombre raisonnable de lignes) peuvent désormais être importés en tant que signaux ou images sans quitter inopinément l’application ou même la ralentir

    • Le fichier est lu par morceaux et, pour les signaux, les données sont rééchantillonnées à un nombre raisonnable de points pour la visualisation

    • Les fichiers volumineux sont pris en charge lors de l’ouverture d’un fichier (ou du glisser-déposer d’un fichier dans le Panneau Signal) et lors de l’importation d’un fichier dans l’Assistant d’importation de texte

  • Nouvelle fonctionnalité de sous-échantillonnage automatique :

    • Ajout de la fonctionnalité « Sous-échantillonnage automatique » aux paramètres de visualisation des signaux (voir la boîte de dialogue « Paramètres »)

    • Cette fonctionnalité permet de rééchantillonner automatiquement les données du signal pour la visualisation lorsque le nombre de points est trop élevé et entraînerait un rendu lent

    • Le facteur de sous-échantillonnage est automatiquement calculé en fonction du nombre maximal de points à afficher configuré

    • Cette fonctionnalité est activée par défaut et peut être désactivée dans les paramètres de visualisation du signal

  • Gestion du format CSV :

    • Amélioration de la prise en charge des fichiers CSV avec une ligne d’en-tête (noms de colonnes)

    • Ajout de la prise en charge des fichiers CSV avec des colonnes vides

  • Gestion des erreurs d’ouverture/enregistrement de fichiers :

    • Les messages d’erreur sont désormais plus explicites lorsque l’ouverture ou l’enregistrement d’un fichier échoue

    • Ajout d’un lien vers le dossier contenant le fichier dans le message d’erreur

  • Ajout de la page « Plugins et fonctionnalités d’entrée/sortie » au Visualiseur d’installation et de configuration (voir le menu « Aide »)

  • Réinitialisation de la configuration de DataLab :

    • Dans certains cas, il peut être utile de réinitialiser le fichier de configuration de DataLab à ses valeurs par défaut (par exemple, lorsque le fichier de configuration est corrompu)

    • Ajout de la nouvelle option de ligne de commande –reset pour supprimer le dossier de configuration

    • Ajout du nouveau raccourci du Menu Démarer « Reset DataLab » à l’installeur Windows

🛠️ Corrections de bugs :

  • Correction de l”[Issue #64](DataLab-Platform/DataLab#64) - L’explorateur HDF5 ne montre pas les ensembles de données de taille 1x1 :

    • Les datasets HDF5 de taille 1x1 n’étaient pas affichés dans l’explorateur HDF5

    • Même si ces données ne devraient pas être considérées comme des signaux ou des images, elles sont désormais affichées dans l’explorateur HDF5 (mais non sélectionnables, c’est-à-dire non importables en tant que signaux ou images)

DataLab Version 0.14.2#

⚠️ Modifications de l’API nécessaires pour corriger la fonctionnalité de chargement de plusieurs signaux :

  • Fusion des méthodes open_object et open_objects en load_from_files dans les classes proxy, la fenêtre principale et les panneaux de données

  • Pour des raisons de cohérence : fusion de save_object et save_objects en save_to_files

  • En résumé, ces changements mènent à la situation suivante :

    • load_from_files : charge une séquence d’objets à partir de plusieurs fichiers

    • save_to_files : sauvegarde une séquence d’objets dans plusieurs fichiers (pour le moment, il ne prend en charge que la sauvegarde d’un seul objet dans un seul fichier, mais il pourrait être étendu à l’avenir pour prendre en charge la sauvegarde de plusieurs objets dans un seul fichier)

🛠️ Corrections de bugs :

  • Correction de l”[Issue #61](DataLab-Platform/DataLab#61) - Assistant d’importation de fichiers texte : plantage de l’application lors de l’importation d’un fichier texte à courbes multiples :

    • Ce problème concerne un cas d’utilisation où le fichier texte contient plusieurs courbes

    • C’est maintenant corrigé et un test automatique a été ajouté pour éviter les régressions

DataLab Version 0.14.1#

🎉 Nouveau nom de domaine : [datalab-platform.com](https://datalab-platform.com)

💥 Nouvelles fonctionnalités :

  • Ajout de la prise en charge de l’inversion de la palette de couleurs dans la Vue Image :

    • Ajout de la nouvelle entrée « Inverser la palette de couleurs » dans le menu contextuel du graphique, les paramètres de l’image et dans les paramètres par défaut de la vue image

    • Cette fonctionnalité nécessite PlotPy v2.3 ou ultérieur

  • Explorateur HDF5 :

    • Ajout du bouton « Afficher le tableau » dans le coin des onglets « Groupe » et « Attributs », pour afficher le tableau dans une fenêtre séparée (utile pour copier/coller des données dans d’autres applications, par exemple)

    • Attributs : ajout de la prise en charge de plus de types de données scalaires

  • Testabilité et maintenabilité :

    • Les tests unitaires de DataLab utilisent désormais [pytest](https://pytest.org). Cela a nécessité beaucoup de travail pour la transition, en particulier pour réadapter les tests afin qu’ils puissent être exécutés dans le même processus. Par exemple, une attention particulière a été portée à l’isolement des tests, afin qu’ils n’interfèrent pas les uns avec les autres.

    • Ajout de l’intégration continue (CI) avec GitHub Actions

    • Pour cette version, la couverture des tests est de 87%

  • Assistant d’importation de fichiers texte :

    • Amélioration drastique des performances de l’aperçu du tableau lors de l’importation de fichiers texte volumineux (plus de barre de progression, et l’aperçu est désormais affiché presque instantanément)

🛠️ Corrections de bugs :

  • Le serveur XML-RPC n’était pas arrêté correctement lors de la fermeture de DataLab

  • Correction de problèmes liés aux tests : certains cas limites étaient masqués par l’ancienne suite de tests, et ont été révélés par la transition vers pytest. Cela a conduit à des corrections de bugs et à des améliorations du code.

  • Sur Linux, lors de l’exécution d’un calcul sur un signal ou une image, et à de rares occasions, le calcul restait bloqué comme s’il s’exécutait indéfiniment. Même si l’interface graphique était toujours réactive, le calcul n’avançait pas et l’utilisateur devait annuler l’opération et la redémarrer. Cela était dû à la méthode de démarrage du processus séparé utilisé pour le calcul (la méthode par défaut était « fork » sur Linux). Ceci est maintenant corrigé en utilisant la méthode « spawn » à la place, qui est la méthode recommandée pour les dernières versions de Python sur Linux lorsque le multithreading est employé.

  • Correction de l”[Issue #60](DataLab-Platform/DataLab#60) - OSError: Invalid HDF5 file […] lors de la tentative d’ouverture d’un fichier HDF5 avec une extension autre que « .h5 »

  • Région d’intérêt (ROI) d’image : lors de la modification des limites de l’image dans la boîte de dialogue de confirmation, la ROI n’était pas mise à jour en conséquence jusqu’à ce que l’opération soit relancée

  • Problèmes d’obsolescence :

    • Correction de l’avertissement d’obsolescence scipy.ndimage.filters

    • Correction de l’avertissement d’obsolescence numpy.fromstring

DataLab Version 0.14.0#

💥 Nouvelles fonctionnalités :

  • Nouvelle fonctionnalité « Histogramme » dans le menu Analyse » :

    • Ajout de la fonctionnalité de calcul d’histogramme pour les signaux et les images

    • L’histogramme est calculé sur les régions d’intérêt (ROI) le cas échéant, ou sur l’ensemble du signal/image si aucune ROI n’est définie

    • Paramètres modifiables : nombre de classes, limites inférieure et supérieure

  • Explorateur HDF5 :

    • Amélioration de la disposition de la vue arborescente (plus compacte et lisible)

    • Plusieurs fichiers peuvent désormais être ouverts en même temps, en utilisant la boîte de dialogue de sélection de fichiers

    • Ajout d’onglets avec des informations sous l’aperçu graphique :

      • Informations sur le groupe : chemin, aperçu textuel, etc.

      • Informations sur les attributs : nom, valeur

    • Ajout de la case à cocher « Afficher uniquement les données prises en charge » : lorsqu’elle est cochée, seules les données prises en charge (signaux et images) sont affichées dans la vue arborescente

    • Ajout de la case à cocher « Afficher les valeurs », pour afficher/masquer les valeurs dans la vue arborescente

  • Panneau de macro-commandes :

    • Les macro-commandes sont désormais numérotées, à partir de 1, comme les signaux et les images

  • API de contrôle à distance (RemoteProxy et LocalProxy) :

    • get_object_titles accepte désormais « macro » comme nom de panneau et retourne la liste des titres de macro

    • Nouvelles méthodes run_macro, stop_macro et import_macro_from_file

🛠️ Corrections de bugs :

  • Version autonome - Intégration dans le menu de démarrage de Windows :

    • Correction du raccourci « Désinstaller » (non cliquable en raison d’un nom générique)

    • Traduction des raccourcis « Parcourir le répertoire d’installation » et « Désinstaller »

  • Correction de l”[Issue #55](DataLab-Platform/DataLab#55) - Changer les limites de l’image dans la vue d’image n’a aucun effet sur les propriétés de l’objet image associé

  • Correction de l”[Issue #56](DataLab-Platform/DataLab#56) - Plugin « Données de test » : AttributeError: “NoneType” object has no attribute “data” lors de l’annulation de « Créer une image avec des pics »

  • Ceci corrige l”[Issue #57](DataLab-Platform/DataLab#57) - Les formes résultat cercle et ellipse ne sont pas transformées correctement

  • Cycle de couleur et de style de courbe :

    • Avant cette version, ce cycle était géré par le même mécanisme pour le Panneau Signal ou l’Explorateur HDF5, ce qui n’était pas le comportement attendu

    • A présent, le cycle est géré séparément : l’Explorateur HDF5 ou l’Assistant d’importation de texte utilisent toujours la même couleur et le même style pour les courbes, et ils n’interfèrent pas avec le cycle du Panneau Signal

DataLab Version 0.12.0#

🧹 Clarification de certains libellés des interfaces graphiques :

  • Les onglets utilisés pour basculer entre les panneaux de données (signaux et images) et les composants de visualisation (« Panneau de courbes » et « Panneau d’images ») ont été renommés en « Panneau Signal » et « Panneau Image » (au lieu de « Signaux » et « Images »)

  • Les composants de visualisation ont été renommés en « Vue Signal » et « Vue Image » (au lieu de « Panneau de courbes » et « Panneau d’images »)

  • Les barres d’outils des panneaux de données ont été renommées en « Barre d’outils Signal » et « Barre d’outils Image » (au lieu de « Barre d’outils Traitement du Signal » et « Barre d’outils Traitement d’Image »)

  • Améliorations ergonomiques : le « Panneau Signal » et le « Panneau Image » sont désormais affichés sur le côté gauche de la fenêtre principale, et la « Vue Signal » et la « Vue Image » sont affichées sur le côté droit de la fenêtre principale. Cela réduit la distance entre la liste des objets (signaux et images) et les actions associées (barres d’outils et menus), et rend l’interface plus intuitive et plus facile à utiliser

✨ Nouvelle fonctionnalité de visite guidée et de démonstration :

  • Lors du premier démarrage de DataLab, une visite guidée est désormais affichée à l’utilisateur pour présenter les principales fonctionnalités de l’application

  • La visite guidée peut être relancée à tout moment depuis le menu « ? »

  • Ajout d’une nouvelle fonctionnalité « Démonstration » dans le menu « ? »

🚀 Nouvel environnement Binder pour tester DataLab en ligne sans rien installer

📚 Documentation :

  • De nouveaux tutoriels textuels sont disponibles :

    • Mesure de la taille d’un faisceau laser

    • DataLab et Spyder : un mariage parfait

  • Section « Premiers pas » : ajout de plus d’explications et de liens vers les tutoriels

  • Nouvelle section « Contribuer » expliquant comment contribuer à DataLab, que vous soyez développeur ou non

  • Nouvelle section « Macros » expliquant comment utiliser la fonctionnalité de macro-commandes

  • Ajout du bouton « Copier » aux blocs de code dans la documentation

💥 Nouvelles fonctionnalités :

  • Nouvelle fonctionnalité d’assistant d’importation de fichiers texte :

    • Cette fonctionnalité permet d’importer des fichiers texte en tant que signaux ou images

    • L’utilisateur peut définir la source (presse-papiers ou fichier texte)

    • Ensuite, il est possible de définir le délimiteur, le nombre de lignes à sauter, le type de données de destination, etc.

  • Ajout d’un menu dans le coin des onglets « Panneau Signal » et « Panneau Image » pour accéder rapidement aux fonctionnalités les plus utilisées (par exemple « Ajouter », « Supprimer », « Dupliquer », etc.)

  • Fonctionnalité d’extraction de profil d’intensité :

    • Ajout d’une interface graphique pour extraire des profils d’intensité des images, pour les profils linéaires et moyennés

    • Les paramètres sont toujours directement modifiables par l’utilisateur (bouton « Modifier les paramètres du profil »)

    • Les paramètres sont désormais stockés d’une extraction de profil à l’autre

  • Fonctionnalité de statistiques :

    • Ajout de <y>/σ(y) au tableau de résultats « Statistiques » du signal (en plus de la moyenne, de la médiane, de l’écart-type, etc.)

    • Ajout de peak-to-peak au tableau de résultats « Statistiques » du signal et de l’image

  • Fonctionnalité d’ajustement de courbe : les résultats de l’ajustement sont désormais stockés dans un dictionnaire dans les métadonnées du signal (au lieu d’être stockés individuellement dans les métadonnées du signal)

  • État de la fenêtre :

    • L’état des barres d’outils et des widgets de dock (visibilité, position, etc.) est désormais stocké dans le fichier de configuration et restauré au démarrage (la taille et la position étaient déjà stockées et restaurées)

    • Ceci implémente une partie de [Issue #30](DataLab-Platform/DataLab#30) - Sauvegarder/restaurer la disposition de la fenêtre principale

🛠️ Corrections de bugs :

  • Correction de l”[Issue #41](DataLab-Platform/DataLab#41) - Extraction du profil radial : impossible d’entrer les coordonnées du centre définies par l’utilisateur

  • Correction de l”[Issue #49](DataLab-Platform/DataLab#49) - Erreur lors de l’ouverture d’un fichier texte (UTF-8 BOM) en tant qu’image

  • Correction de l”[Issue #51](DataLab-Platform/DataLab#51) - Dimensions inattendues lors de l’ajout d’une nouvelle ROI sur une image avec des unités X/Y arbitraires (pas des pixels)

  • Amélioration de la gestion de la sérialisation du style des items graphiques :

    • Avant cette version, le style des items graphiques était stocké dans les métadonnées du signal/image uniquement lors de la sauvegarde de l’espace de travail dans un fichier HDF5. Ainsi, lors de la modification du style d’un signal/image à partir du bouton « Paramètres » (barre d’outils de la vue), le style n’était pas conservé dans certains cas (par exemple lors de la duplication du signal/image).

    • A présent, le style des items graphiques est stocké dans les métadonnées du signal/image chaque fois que le style est modifié, et est restauré lors du rechargement de l’espace de travail

  • Traitement de l’avertissement de conversion ComplexWarning lors de l’ajout de régions d’intérêt (ROI) à un signal avec des données complexes

DataLab Version 0.11.0#

💥 Nouvelles fonctionnalités :

  • Les signaux et les images peuvent maintenant être réorganisés dans la vue arborescente :

    • En utilisant les nouvelles actions « Monter » et « Descendre » dans le menu « Édition » (ou en utilisant les boutons de la barre d’outils correspondants) :

    • Ceci corrige l”[Issue #22](DataLab-Platform/DataLab#22) - Ajout des actions « monter/descendre » dans le menu « Édition », pour les signaux/images et les groupes

  • Les signaux et les images peuvent également être réorganisés par glisser-déposer :

    • Les signaux et les images peuvent être déplacés et déposés dans leur propre panneau pour changer leur ordre

    • Les groupes peuvent également être déplacés et déposés dans leur panneau

    • La fonctionnalité prend également en charge la sélection multiple (en utilisant les modificateurs standard Ctrl et Shift), de sorte que plusieurs signaux/images/groupes peuvent être déplacés à la fois, pas nécessairement avec des positions contiguës

    • Ceci corrige l”[Issue #17](DataLab-Platform/DataLab#17) - Ajout de la fonctionnalité de glisser-déposer aux vues arborescentes des signaux/images

  • Nouvelles fonctionnalités d’interpolation 1D :

    • Ajout de la fonctionnalité « Interpolation » au menu « Traitement » du panneau de signal

    • Méthodes disponibles : linéaire, spline, quadratique, cubique, barycentrique et PCHIP

    • Merci à [@marcel-goldschen-ohm](marcel-goldschen-ohm) pour sa contribution à l’interpolation spline

    • Ceci corrige l”[Issue #20](DataLab-Platform/DataLab#20) - Ajout des fonctionnalités d’interpolation 1D

  • Nouvelle fonctionnalité de rééchantillonnage 1D :

    • Ajout de la fonctionnalité « Rééchantillonnage » au menu « Traitement » du panneau de signal

    • Mêmes méthodes d’interpolation que pour la fonctionnalité « Interpolation »

    • Possibilité de spécifier le pas de rééchantillonnage ou le nombre de points

    • Ceci corrige l”[Issue #21](DataLab-Platform/DataLab#21) - Ajout de la fonctionnalité de rééchantillonnage 1D

  • Nouvelle fonctionnalité de convolution 1D :

    • Ajout de la fonctionnalité « Convolution » au menu « Opération » du panneau de signal

    • Ceci corrige l”[Issue #23](DataLab-Platform/DataLab#23) - Ajout de la fonctionnalité de convolution 1D

  • Nouvelle fonctionnalité de d’élimination de tendance 1D :

    • Ajout de la fonctionnalité « Élimination de tendance » au menu « Traitement » du panneau de signal

    • Méthodes disponibles : linéaire ou constante

    • Ceci corrige l”[Issue #24](DataLab-Platform/DataLab#24) - Ajout de la fonctionnalité d’élimination de tendance 1D

  • Résultats d’analyse 2D :

    • Avant cette version, les résultats d’analyse 2D tels que les contours, les blobs, etc. étaient stockés dans le dictionnaire de métadonnées de l’image sous forme de coordonnées (x0, y0, x1, y1, …) même pour les cercles et les ellipses (c’est-à-dire les coordonnées des rectangles englobants).

    • Par souci de commodité, les coordonnées du cercle et de l’ellipse sont désormais stockées dans le dictionnaire de métadonnées de l’image sous la forme (x0, y0, rayon) et (x0, y0, a, b, theta) respectivement.

    • Ces résultats sont également affichés comme tels dans la boîte de dialogue « Résultats » (à la fin du processus de calcul ou en cliquant sur le bouton « Afficher les résultats »).

    • Cette correction corrige l”[Issue #32](DataLab-Platform/DataLab#32) - Détection des contours : afficher le cercle (x, y, r) et l’ellipse (x, y, a, b, theta) au lieu de (x0, y0, x1, x1, …)

  • Résultats d’analyse 1D et 2D :

    • En complément de l’amélioration précédente, plus de résultats d’analyse sont désormais affichés dans la boîte de dialogue « Résultats »

    • Cela concerne à la fois les résultats d’analyse 1D (FHWM…) et 2D (contours, blobs…) :

      • Les résultats de type segment affichent désormais également la longueur (L) et les coordonnées du centre (Xc, Yc)

      • Les résultats de type cercle et ellipse affichent désormais également l’aire (A)

  • Ajout de l’entrée « Tracer les résultats » dans le menu Analyse » :

    • Cette fonctionnalité permet de tracer les résultats d’analyse (1D ou 2D)

    • Cela crée un nouveau signal avec des axes X et Y correspondant à des paramètres définis par l’utilisateur (par exemple X = index et Y = rayon pour les résultats de cercle)

  • Augmentation de la largeur par défaut de la boîte de dialogue de sélection d’objet :

    • La boîte de dialogue de sélection d’objet est désormais plus large par défaut, de sorte que les titres complets des signaux/images/groupes soient plus facilement lisibles

  • Fonctionnalité de suppression de métadonnées :

    • Avant cette version, la fonctionnalité supprimait toutes les métadonnées, y compris les métadonnées des régions d’intérêt (ROI), le cas échéant.

    • A présent, une boîte de dialogue de confirmation est affichée à l’utilisateur avant de supprimer toutes les métadonnées si le signal/l’image a des métadonnées ROI : cela permet de conserver les métadonnées ROI si nécessaire.

  • Extraction de profil d’image : ajout de la prise en charge des images masquées (lors de la définition des régions d’intérêt, les zones en dehors des ROI sont masquées, et le profil est extrait uniquement sur les zones non masquées, ou moyenné sur les zones non masquées dans le cas de l’extraction du profil moyen)

  • Style de courbe : ajout de « Réinitialiser les styles de courbe » dans le menu « Affichage ». Cette fonctionnalité permet de réinitialiser le cycle de style de courbe à son état initial.

  • Classe de base des plugins PluginBase :

    • Ajout de la méthode edit_new_signal_parameters pour afficher une boîte de dialogue pour éditer les paramètres d’un nouveau signal

    • Ajout de la méthode edit_new_image_parameters pour afficher une boîte de dialogue pour éditer les paramètres d’une nouvelle image (mise à jour du plugin cdl_testdata.py en conséquence)

  • API de calculs sur les signaux et les images (cdl.computations) :

    • Ajout de wrappers pour les calculs 1 -> 1 sur les signaux et les images

    • Ces wrappers visent à simplifier la création d’une fonction de calcul de base opérant sur les objets natifs de DataLab (SignalObj et ImageObj) à partir d’une fonction opérant sur des tableaux NumPy

    • Cela simplifie les fonctionnalités internes de DataLab et facilite la création de nouvelles fonctionnalités de calcul dans les plugins

    • Voir le plugin d’exemple cdl_custom_func.py pour un cas d’utilisation pratique

  • Ajout de la fonctionnalité « Extraction du profil radial » au menu « Opération » du panneau d’image :

    • Cette fonctionnalité permet d’extraire un profil moyenné radialement à partir d’une image

    • Le profil est extrait autour d’un centre défini par l’utilisateur (x0, y0)

    • Le centre peut également être calculé (centre de gravité ou centre de l’image)

  • Suite de tests automatisés :

    • Depuis la version 0.10, l’objet proxy de DataLab dispose d’une méthode toggle_auto_refresh pour activer/désactiver la fonctionnalité « Auto-refresh ». Cette fonctionnalité peut être utile pour améliorer les performances lors de l’exécution de scripts de test

    • Les scénarios de test sur les signaux et les images utilisent désormais cette fonctionnalité pour améliorer les performances

  • Métadonnées des signaux et des images :

    • Ajout de l’entrée « source » dans le dictionnaire de métadonnées, pour stocker le chemin du fichier source lors de l’importation d’un signal ou d’une image à partir d’un fichier

    • Ce champ est conservé lors du traitement du signal/image, afin de garder une trace du chemin du fichier source

📚 Documentation :

  • Nouvelle [section Tutoriels](https://datalab-platform.com/fr/intro/tutorials/index.html) dans la documentation :

    • Cette section fournit un ensemble de tutoriels pour apprendre à utiliser DataLab

    • Les tutoriels vidéo suivants sont disponibles :

      • Démo rapide

      • Ajout de vos propres fonctionnalités

    • Les tutoriels textuels suivants sont disponibles :

      • Traitement d’un spectre

      • Détection de taches sur une image

      • Mesure de franges Fabry-Perot

      • Prototypage d’un pipeline de traitement personnalisé

  • Nouvelle [section API](https://datalab-platform.com/fr/api/index.html) dans la documentation :

    • Cette section explique comment utiliser DataLab comme une bibliothèque Python, en abordant les sujets suivants :

      • Comment utiliser les algorithmes DataLab sur les tableaux NumPy

      • Comment utiliser les fonctionnalités de calcul de DataLab sur les objets DataLab (signaux et images)

      • Comment utiliser les fonctionnalités d’entrée/sortie de DataLab

      • Comment utiliser les objets proxy pour contrôler DataLab à distance

    • Cette section fournit également une référence complète de l’API pour les objets et les fonctionnalités de DataLab

    • Ceci corrige l”[Issue #19](DataLab-Platform/DataLab#19) - Ajout de la documentation de l’API (modèle de données, fonctions sur les tableaux ou les objets de signaux/images, …)

🛠️ Corrections de bugs :

  • Ceci corrige l”[Issue #29](DataLab-Platform/DataLab#29) - Erreur d’ajustement polynomial : QDialog […] argument 1 has an unexpected type “SignalProcessor”

  • Fonctionnalité d’extraction de ROI d’image :

    • Avant cette version, lors de l’extraction d’une seule ROI circulaire d’une image avec l’option « Extraire toutes les ROI dans un seul objet d’image » activée, le résultat était une seule image sans le masque de ROI (le masque de ROI n’était disponible que lors de l’extraction de ROI avec l’option désactivée)

    • Cela conduisait à un comportement inattendu, car on pouvait interpréter le résultat (une image carrée sans le masque de ROI) comme le résultat d’une seule ROI rectangulaire

    • A présent, lors de l’extraction d’une seule ROI circulaire d’une image avec l’option « Extraire toutes les ROI dans un seul objet d’image » activée, le résultat est une seule image avec le masque de ROI (comme si l’option était désactivée)

    • Ceci corrige l”[Issue #31](DataLab-Platform/DataLab#31) - Extraction d’une seule ROI circulaire : bascule automatique vers la fonction extract_single_roi

  • Analyse sur ROI circulaire :

    • Avant cette version, lors de l’exécution de calculs sur une ROI circulaire, les résultats étaient inattendus en termes de coordonnées (les résultats semblaient être calculés dans une région située au-dessus de la ROI réelle).

    • Cela était dû à une régression introduite dans une version antérieure.

    • A présent, lors de la définition d’une ROI circulaire et de l’exécution de calculs sur celle-ci, les résultats sont calculés sur la ROI réelle

    • Ceci corrige l”[Issue #33](DataLab-Platform/DataLab#33) - Analyse sur ROI circulaire : résultats inattendus

  • Détection des contours sur ROI :

    • Avant cette version, lors de l’exécution de la détection des contours sur une ROI, certains contours étaient détectés en dehors de la ROI (cela peut être dû à une limitation de la fonction find_contours de scikit-image).

    • A présent, grâce à une solution de contournement, les contours erronés sont filtrés.

    • Un nouveau module de test cdl.tests.features.images.contour_fabryperot_app a été ajouté pour tester la fonctionnalité de détection des contours sur une image Fabry-Perot (merci à [@emarin2642](emarin2642) pour sa contribution)

    • Ceci corrige l”[Issue #34](DataLab-Platform/DataLab#34) - Détection des contours : résultats inattendus en dehors de la ROI

  • Fusion des résultats d’analyse :

    • Avant cette version, lors d’un calcul 1->N (somme, moyenne, produit) sur un groupe de signaux/images, les résultats d’analyse associés à chaque signal/image étaient fusionnés en un seul résultat, mais seul le type de résultat présent dans le premier signal/image était conservé.

    • A présent, les résultats d’analyse associés à chaque signal/image sont fusionnés en un seul résultat, quel que soit le type de résultat.

  • Ceci corrige l”[Issue #36](DataLab-Platform/DataLab#36) - L’état d’activation de l’action « Tout supprimer » n’est parfois pas rafraîchi

  • Inversion X/Y de l’image : lors de l’inversion des axes X et Y, les régions d’intérêt (ROI) n’étaient ni supprimées ni inversées (les ROI sont désormais supprimées, jusqu’à ce que nous implémentions la fonction d’inversion, si demandé)

  • Groupe « Propriétés » : le bouton « Appliquer » était activé par défaut, même lorsqu’aucune propriété n’avait été modifiée, ce qui était déroutant pour l’utilisateur (le bouton « Appliquer » est désormais désactivé par défaut, et n’est activé que lorsqu’une propriété est modifiée)

  • Correction de la méthode get_object du proxy lorsqu’il n’y a pas d’objet à retourner (None est retourné au lieu d’une exception)

  • Correction de IndexError: list index out of range lors de certaines opérations ou calculs sur des groupes de signaux/images (par exemple « Extraction de ROI », « Détection de pics », « Redimensionnement », etc.)

  • Glisser-déposer depuis un gestionnaire de fichiers : les noms de fichiers sont désormais triés par ordre alphabétique

DataLab Version 0.10.1#

Note : la version 0.10.0 a été presque immédiatement remplacée par la version 0.10.1 en raison d’une correction de bogue 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.

🛠️ Corrections de bugs :

  • 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](DataLab-Platform/DataLab#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](DataLab-Platform/DataLab#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](DataLab-Platform/DataLab#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](DataLab-Platform/DataLab#14) - Enregistrer/Réouvrir le projet HDF5 sans nettoyage entraîne une ValueError

  • Correction de l”[Issue #15](DataLab-Platform/DataLab#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](DataLab-Platform/DataLab#12) - Version autonome sur Windows 7 : api-ms-win-core-path-l1-1-0.dll manquant)

  • Correction de l”[Issue #13](DataLab-Platform/DataLab#13) - ArchLinux : qt.qpa.plugin: Could not load the Qt platform plugin « xcb » in «  » even though it was found

DataLab Version 0.9.2#

🛠️ Corrections de bugs :

  • Fonctionnalité d’extraction de la région d’intérêt (ROI) pour les images :

    • L’extraction de la ROI ne fonctionnait pas correctement lorsque l’option « Extraire toutes les ROI dans un seul objet image » était activée s’il n’y avait qu’une seule ROI définie. Le résultat était une image positionnée à l’origine (0, 0) au lieu de la position attendue (x0, y0) et le rectangle de la ROI lui-même n’était pas supprimé comme prévu. Ceci est maintenant corrigé (voir [Issue #6](DataLab-Platform/DataLab#6) - Fonctionnalité “Extraire plusieurs ROI” : résultat inattendu pour une seule ROI)

    • Les rectangles ROI avec des coordonnées négatives n’étaient pas correctement gérés : l’extraction de la ROI levait une exception ValueError, et le masque de l’image n’était pas correctement affiché. Ceci est maintenant corrigé (voir [Issue #7](DataLab-Platform/DataLab#7) - Extraction de la ROI de l’image : ValueError: zero-size array to reduction operation minimum which has no identity)

    • L’extraction de la ROI ne prenait pas en compte la taille des pixels (dx, dy) et l’origine (x0, y0) de l’image. Ceci est maintenant corrigé (voir [Issue #8](DataLab-Platform/DataLab#8) - Extraction de la ROI de l’image : prendre en compte la taille des pixels)

  • La console de macro-commande est désormais en lecture seule :

    • La console Python du panneau de macro-commande ne prend actuellement pas en charge le flux d’entrée standard (stdin) et c’est voulu (du moins pour l’instant)

    • Définir la console Python en lecture seule pour éviter toute confusion

DataLab Version 0.9.1#

🛠️ Corrections de bugs :

  • La traduction française n’est pas disponible sur Windows/Version autonome :

    • La locale n’était pas correctement détectée sur Windows pour la version autonome (gelée avec pyinstaller) en raison d’un problème avec locale.getlocale() (fonction renvoyant None au lieu de la locale attendue sur les applications gelées)

    • C’est finalement un problème de pyinstaller, mais une solution de contournement a été implémentée dans guidata V3.2.2 (voir [Issue guidata #68](PlotPyStack/guidata#68) - Windows : la traduction gettext ne fonctionne pas sur les applications gelées)

    • [Issue #2](DataLab-Platform/DataLab#2) - La traduction française n’est pas disponible sur la version autonome de Windows

  • L’enregistrement d’une image au format JPEG2000 échoue pour les données non entières :

    • L’encodeur JPEG2000 ne prend pas en charge les données non entières ou les données entières signées

    • Avant, DataLab affichait un message d’erreur lors de la tentative de sauvegarde de données incompatibles au format JPEG2000 : cela n’était pas cohérent avec le comportement des autres formats d’image standard (par exemple PNG, JPG, etc.) pour lesquels DataLab convertissait automatiquement les données au format approprié (entier non signé sur 8 bits)

    • Le comportement actuel est maintenant cohérent avec les autres formats d’image standard : lors de la sauvegarde au format JPEG2000, DataLab convertit automatiquement les données en entier non signé sur 8 bits ou en entier non signé sur 16 bits (en fonction du type de données original)

    • [Issue #3](DataLab-Platform/DataLab#3) - Sauvegarde d’image au format JPEG2000 : “OSError: erreur d’encodeur -2 lors de l’écriture du fichier image”

  • Les raccourcis de la version autonome de Windows ne s’affichent pas dans le menu de démarrage de l’utilisateur actuel :

    • Lors de l’installation de DataLab sur Windows à partir d’un compte non administrateur, les raccourcis ne s’affichaient pas dans le menu de démarrage de l’utilisateur actuel, mais dans le menu de démarrage de l’administrateur (en raison des privilèges élevés de l’installeur et du fait que l’installeur ne prend pas en charge l’installation de raccourcis pour tous les utilisateurs)

    • Désormais, l’installeur ne demande plus de privilèges élevés, et les raccourcis sont installés dans le menu de démarrage de l’utilisateur actuel (cela signifie également que l’utilisateur actuel doit disposer d’un accès en écriture au répertoire d’installation)

    • Dans les futures versions, l’installeur prendra en charge l’installation de raccourcis pour tous les utilisateurs s’il y a une demande à cet effet (voir [Issue #5](DataLab-Platform/DataLab#5))

    • [Issue #4](DataLab-Platform/DataLab#4) - Windows : les raccourcis de la version autonome ne s’affichent pas dans le menu de démarrage de l’utilisateur actuel

  • Fenêtre d’installation et de configuration pour la version autonome :

    • Ne plus afficher le message d’erreur ambigu “Dépendances invalides”

    • Les dépendances sont censées être vérifiées lors de la construction de la version autonome

  • Ajout de la documentation PDF à la version autonome :

    • La documentation PDF était manquante dans la version précédente

    • Désormais, la documentation PDF (en anglais et en français) est incluse dans la version autonome

DataLab Version 0.9.0#

Nouvelles dépendances :

Nouvelle plateforme de référence :

  • DataLab est validé sur Windows 11 avec Python 3.11 et PyQt 5.15

  • DataLab est également compatible avec d’autres systèmes d’exploitation (Linux, MacOS) et d’autres liaisons Python-Qt et versions (Python 3.8-3.12, PyQt6, PySide6)

Nouvelles fonctionnalités :

  • DataLab est une plateforme :

    • Ajout de la prise en charge des plugins

      • Fonctionnalités de traitement personnalisées disponibles dans le menu « Plugins »

      • Fonctionnalités d’E/S personnalisées : de nouveaux formats de fichier peuvent être ajoutés aux fonctionnalités d’E/S standard pour les signaux et les images

      • Fonctionnalités HDF5 personnalisées : de nouveaux formats de fichier HDF5 peuvent être ajoutés à la fonctionnalité d’importation HDF5 standard

      • D’autres fonctionnalités à venir…

    • Ajout de la fonctionnalité de contrôle à distance : DataLab peut être contrôlé à distance via une connexion TCP/IP (voir [Contrôle à distance](https://datalab-platform.com/fr/remote_control.html))

    • Ajout de commandes de macro : DataLab peut être contrôlé via un fichier macro (voir [Commandes de macro](https://datalab-platform.com/fr/macro_commands.html))

  • Fonctionnalités générales :

    • Ajout de la boîte de dialogue des paramètres (voir l’entrée « Paramètres » dans le menu « Fichier ») :

      • Paramètres généraux

      • Paramètres de visualisation

      • Paramètres de traitement

      • Etc.

    • Nouvelle disposition par défaut : les panneaux de signaux/images sont sur le côté droit de la fenêtre principale, les panneaux de visualisation sont sur le côté gauche avec une barre d’outils verticale

  • Fonctionnalités de signal/image :

    • Ajout de l’isolation des processus : chaque signal/image est traité dans un processus séparé, de sorte que DataLab ne se fige plus lors du traitement de signaux/images volumineux

    • Ajout de la prise en charge des groupes : les signaux et les images peuvent être regroupés, et des opérations peuvent être appliquées à tous les objets d’un groupe ou entre les groupes

    • Ajout de boîtes de dialogue d’avertissement et d’erreur avec des liens de poursuite détaillés vers le code source (les avertissements peuvent être ignorés en option)

    • Amélioration significative des performances lors de la sélection d’objets

    • Optimisation des performances lors de l’affichage d’images volumineuses

    • Ajout de la prise en charge du dépôt de fichiers sur le panneau de signal/image

    • Ajout de la boîte de groupe « Paramètres de calcul » pour afficher les paramètres d’entrée du dernier résultat

    • Ajout de la fonctionnalité « Copier les titres dans le presse-papiers » dans le menu « Édition »

    • Pour chaque fonctionnalité de traitement individuelle (menus opération, traitement et analyse), les paramètres saisis (boîtes de dialogue) sont stockés en cache pour être utilisés par défaut la prochaine fois que la fonctionnalité est utilisée

  • Traitement de signal :

    • Ajout de la prise en charge du décalage FFT facultatif (voir la boîte de dialogue des paramètres)

  • Traitement d’image :

    • Ajout de l’opération de binning de pixels (facteurs de binning X/Y, opération : somme, moyenne…)

    • Ajout des options « Distribuer sur une grille » et « Réinitialiser les positions des images » dans le menu des opérations

    • Ajout du filtre de Butterworth

    • Ajout des fonctionnalités de traitement de l’exposition :

      • Correction gamma

      • Correction logarithmique

      • Correction sigmoïde

    • Ajout des fonctionnalités de traitement de la restauration :

      • Filtre de débruitage par variation totale (TV Chambolle)

      • Filtre bilatéral (débruitage)

      • Filtre de débruitage par ondelettes

      • Filtre de débruitage White Top-Hat

    • Ajout des transformations morphologiques (empreinte de disque) :

      • White Top-Hat

      • Black Top-Hat

      • Érosion

      • Dilatation

      • Ouverture

      • Fermeture

    • Ajout des fonctionnalités de détection des contours :

      • Filtre de Roberts

      • Filtre de Prewitt (vertical, horizontal, les deux)

      • Filtre de Sobel (vertical, horizontal, les deux)

      • Filtre de Scharr (vertical, horizontal, les deux)

      • Filtre de Farid (vertical, horizontal, les deux)

      • Filtre de Laplace

      • Filtre de Canny

    • Détection des contours : ajout de la prise en charge des contours polygonaux (en plus des contours de cercle et d’ellipse)

    • Ajout de la transformation de Hough pour les cercles (détection de cercles)

    • Ajout du rééchelonnement des niveaux d’intensité de l’image

    • Ajout de l’égalisation d’histogramme

    • Ajout de l’égalisation d’histogramme adaptative

    • Ajout des méthodes de détection de blobs :

      • Différence de Gaussienne

      • Méthode du déterminant de Hessian

      • Laplacien de Gaussienne

      • Détection de blobs à l’aide d’OpenCV

    • Les formes et les annotations des résultats sont maintenant transformées (au lieu d’être supprimées) lors de l’exécution de l’une des opérations suivantes :

      • Rotation (angle arbitraire, +90°, -90°)

      • Symétrie (verticale/horizontale)

    • Ajout de la prise en charge du décalage FFT facultatif (voir la boîte de dialogue des paramètres)

  • Console : ajout d’un éditeur externe configurable (par défaut : VSCode) pour suivre les liens de poursuite vers le code source