Version 0.16#

DataLab Version 0.16.4 (09/07/2024)#

Cette version concerne une maintenance mineure.

🛠️ Correctifs :

  • 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 (03/07/2024)#

🛠️ Correctifs :

  • Correction de l”Issue #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 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 - Les chemins des données de test peuvent être ajoutés plusieurs fois à datalab.utils.tests.TST_PATH

    • Ce problème est lié à l”Issue #84

    • Ajouter les chemins des données de test plusieurs fois à datalab.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 pour avoir signalé le problème dans le contexte de l’emballage Debian

  • Correction de l”Issue #86 - La moyenne de N images entières dépasse le type de données

  • Correction de l”Issue #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 - Profil de segment d’image : inversion des coordonnées des points

DataLab Version 0.16.2 (01/07/2024)#

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 pour plus de détails)

🛠️ Correctifs :

  • 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 - 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 DATALAB_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 (21/06/2024)#

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.

La prise en charge de NumPy 2.0 a été ajoutée avec cette version.

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

🛠️ Correctifs :

  • 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 - Lors de l’ouverture de fichiers, afficher la boîte de dialogue de progression uniquement si nécessaire

  • Correction de l”Issue #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 (13/06/2024)#

💥 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, personnalisé (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

🛠️ Correctifs :

  • 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 - Profils d’intensité : impossible d’accepter la boîte de dialogue la deuxième fois

  • Correction de l”Issue #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 dans PlotPy (v2.3.3)