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
AssertionErrordans 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_PATHCe problème est lié à l”Issue #84
Ajouter les chemins des données de test plusieurs fois à
datalab.utils.tests.TST_PATHentraî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 :
AttributeErrorlors de la tentative de modification des paramètres du profilCorrection 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
imageiovia le fichier de configuration (l’entréeimageio_formatspeut ê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
ResultPropertiespeut désormais être ajouté aux métadonnées deSignalObjouImageObjmê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
uint8au lieu debool(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
maximumCorrection de l’erreur
ValueErrorlors du calcul de la DSP avec une échelle logarithmiqueCorrection de l’algorithme de dérivation d’un signal : utilisation de
numpy.gradientau lieu d’une implémentation personnaliséeCorrection de l’obsolescence de
cumtrapzde SciPy : utilisation decumulative_trapezoidà la placeLa 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 testsUne 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)