Version 0.17#

DataLab Version 0.17.1 (01/10/2024)#

ℹ️ 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

🛠️ Correctifs :

  • 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 (02/08/2024)#

ℹ️ 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. 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

🛠️ Correctifs :

  • 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

    • Cela est maintenant corrigé car les résultats sont désormais des images à virgule flottante.

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