Version 1.0#

DataLab Version 1.0.2 (03/12/2025)#

🛠️ Correctifs#

Calibration de l’axe des signaux - Remplacer X par le Y d’un autre signal :

  • Ajout de la nouvelle opération « Remplacer X par le Y d’un autre signal » dans le menu Traitement > Transformation d’axe pour les flux de travail de calibration des signaux

  • Répond à une fonctionnalité critique manquante signalée par les utilisateurs qui avaient besoin d’appliquer une calibration en longueur d’onde ou des transformations similaires aux données de spectroscopie

  • L’opération combine deux signaux : elle utilise les valeurs Y d’un signal comme nouvelles coordonnées X pour les valeurs Y d’un autre signal

  • Contrairement au mode X-Y (qui rééchantillonne et interpole), cette opération utilise directement les tableaux Y sans interpolation, préservant ainsi les valeurs de calibration exactes

  • Nécessite que les deux signaux aient le même nombre de points - affiche un message d’erreur clair si les tailles ne correspondent pas

  • Transfert automatique des métadonnées : l’étiquette/unité de l’axe X est prise à partir de l’étiquette/unité Y du signal de calibration

  • Emplacement dans le menu : Traitement > Transformation d’axe > « Remplacer X par le Y d’un autre signal »

  • Ceci clôture Issue #273 - Calibration de l’axe des signaux manquante : aucun moyen de remplacer X par Y d’un autre signal

Mode X-Y :

  • Le traitement Mode X-Y pour les signaux a été déplacé vers Traitement > Transformation des axes > « Mode X-Y » pour une meilleure découvrabilité

  • La nuance entre le mode X-Y (qui rééchantillonne/interpole) et la nouvelle opération « Remplacer X par le Y d’un autre signal » a été clarifiée dans la documentation

Persistance du paramètre de verrouillage de la LUT :

  • Correction du paramètre « Verrouiller la LUT lors de la mise à jour des données » ne persistant pas dans Paramètres > Visualisation > Images > Paramètres de visualisation d’image par défaut

  • Le paramètre keep_lut_range n’était pas enregistré dans la configuration, ce qui faisait que la case à cocher se décochait systématiquement après validation (ajout de l’option manquante ima_def_keep_lut_range dans la configuration)

  • Ceci clôture Issue #270 - Persistance du paramètre de verrouillage de la LUT dans les paramètres de visualisation d’image par défaut

Création de signaux personnalisés :

  • Correction de l’erreur AttributeError: 'NoneType' object has no attribute 'T' lors de la création d’un signal personnalisé à partir du menu

  • Ceci clôture Issue #269 - Création de signaux personnalisés : AttributeError lors de la création d’un signal à partir du menu

Exécution des macros :

  • Correction de l’erreur UnicodeEncodeError lors de l’exécution de macros qui impriment des caractères Unicode (par exemple, des flèches ) sur les systèmes Windows avec certaines locales, par exemple cp1252 (ceci clôture Issue #263)

  • Le sous-processus de la macro utilise désormais automatiquement l’encodage UTF-8 pour stdout et stderr, éliminant ainsi la nécessité d’ajouter manuellement sys.stdout.reconfigure(encoding='utf-8') au début de chaque macro.

Prise en charge des coordonnées non uniformes :

  • Les coordonnées des ROI sont désormais automatiquement arrondies à une précision appropriée lors de la définition interactive des ROI à partir de formes géométriques, évitant ainsi des décimales excessives tout en maintenant une précision raisonnable par rapport à l’échantillonnage des données (1/10e de la période d’échantillonnage pour les signaux, 1/10e de l’espacement des pixels pour les images)

  • Les coordonnées des ROI sont également arrondies lors de leur affichage dans la boîte de dialogue « Éditer numériquement », empêchant les erreurs d’arithmétique en virgule flottante d’afficher des décimales excessives (par exemple, 172.29999999999995 est désormais affiché sous forme de 172.3)

  • Ceci clôture Issue #266 - Décimales excessives dans les coordonnées des ROI

Gestion des ROI polygonales :

  • Correction de l’erreur ValueError: Buffer has wrong number of dimensions lors de la création de masques à partir de ROI polygonales dans l’éditeur de ROI

  • Le PolygonalTool initialisait incorrectement les coordonnées des ROI sous forme de liste imbriquée au lieu d’une liste plate, ce qui provoquait l’échec du calcul du masque

Boîte de dialogue d’ouverture de fichiers HDF5 :

  • Correction du bug où le choix de l’utilisateur dans la boîte de dialogue de confirmation « effacer l’espace de travail » était ignoré lors de l’ouverture de fichiers HDF5

  • Lorsque l’utilisateur cliquait sur « Non » dans la boîte de dialogue, le paramètre de configuration par défaut était appliqué au lieu de respecter le choix de l’utilisateur

  • Ceci clôture Issue #267 - La boîte de dialogue d’ouverture de fichiers HDF5 ignore le choix de l’utilisateur

Mise à jour de l’axe dans l’onglet Création :

  • Correction du graphique ne se mettant pas à jour lors de la modification uniquement des paramètres xmin/xmax pour les signaux de distribution (Zéro, Normal, Poisson, Uniforme) dans l’onglet Création

  • Le problème est survenu parce que le calcul du hash des données ne prenait en compte que les valeurs Y, de sorte que les modifications des limites de l’axe X n’étaient pas détectées

  • Le graphique se rafraîchit désormais correctement lorsque n’importe quel paramètre d’axe change, même si les valeurs Y restent identiques

  • Ceci clôture Issue #268 - L’axe de l’onglet Création ne se met pas à jour pour les signaux de distribution

Statistiques ROI avec ROI hors limites :

  • Correction de l’erreur ValueError: zero-size array to reduction operation minimum which has no identity lors du calcul des statistiques sur des images avec ROI s’étendant au-delà des limites de la zone de dessin

  • Le problème est survenu lorsqu’un ROI s’étendait partiellement ou complètement en dehors des limites de l’image, ce qui entraînait des tranches de tableau vides lors du calcul des statistiques

  • Les boîtes englobantes des ROI sont désormais correctement limitées aux limites de l’image, et les ROI complètement hors limites renvoient des valeurs statistiques NaN

  • Cette correction est implémentée dans la bibliothèque Sigima (voir Issue #1 - ValueError lors du calcul des statistiques sur ROI s’étendant au-delà des limites de l’image)

Sélection des onglets du panneau des propriétés des objets :

  • Correction du comportement de sélection des onglets dans le panneau des propriétés des objets pour le rendre plus prévisible et convivial

  • L’onglet Propriétés est désormais toujours affiché par défaut lors du changement d’objet, offrant une navigation cohérente

  • Les onglets Création, Traitement et Analyse apparaissent désormais automatiquement une seule fois après leurs événements déclencheurs respectifs (création d’objet, traitement 1-vers-1 ou calcul d’analyse), puis reviennent à l’onglet Propriétés pour les sélections ultérieures

  • Cela élimine le comportement déroutant où l’onglet persistait ou changeait arbitrairement en fonction des sélections précédentes

  • Ceci clôture Issue #271 - Amélioration du comportement de sélection des onglets du panneau des propriétés des objets

DataLab Version 1.0.1 (18/11/2025)#

Cette version majeure représente une étape importante pour DataLab avec de nombreuses améliorations dans tous les domaines. Les changements sont organisés par catégorie pour une navigation plus facile.

Note : La version 1.0.1 est une version corrective qui résout les limitations de l’installateur Windows de la version 1.0.0 (publiée le 16/11/2025), où il n’était pas possible d’installer DataLab V1.0 aux côtés des versions majeures antérieures (V0.20 et antérieures) malgré le support de coexistence prévu. Cette version ne contient aucune nouvelle fonctionnalité ni modification fonctionnelle.

🎨 Interface utilisateur et flux de travail#

Réorganisation des menus :

  • Nouveau menu « Création » : La fonctionnalité de création d’objets a été séparée du menu « Fichier » et placée entre les menus « Fichier » et « Édition » pour une organisation plus claire

    • Toutes les actions « Fichier > Nouveau […] » ont été déplacées vers le menu « Création »

    • Note de migration : Les actions de création de signaux/images se trouvent désormais dans le nouveau menu « Création »

  • Nouveau menu « ROI » : Menu dédié à la gestion des régions d’intérêt, placé entre les menus « Édition » et « Opérations »

  • Nouveau sous-menu « Annotations » : Regroupement des opérations d’annotation dans le menu « Édition »

  • Nouveau sous-menu « Métadonnées » : Regroupement de toutes les opérations de métadonnées dans le menu « Édition »

Édition interactive d’objets :

  • Création interactive d’objets : Les paramètres de création peuvent être modifiés après la création de l’objet via le nouvel onglet « Création » dans le panneau des propriétés

    • Appliquer les modifications sans créer de nouveaux objets, en préservant le traitement ultérieur

    • Disponible pour les générateurs paramétriques (Gaussien, sinusoïdal, etc.)

  • Traitement interactif 1-vers-1 : Les paramètres de traitement peuvent être ajustés et réappliqués après le traitement initial

    • Mise à jour sur place des objets résultats avec les paramètres modifiés

    • Uniquement pour les opérations paramétriques (filtres, morphologie, etc.)

  • Fonction de recalcul : Nouvelle action « Recalculer » (Ctrl+R) pour retraiter rapidement les objets avec les paramètres stockés

    • Fonctionne avec un ou plusieurs objets

    • Met à jour automatiquement les résultats lorsque les données sources changent

  • Mise à jour automatique de l’analyse ROI : Les résultats d’analyse sont automatiquement recalculés lorsque le ROI est modifié

    • Fonctionne pour toutes les opérations d’analyse (statistiques, centroïde, etc.)

    • Recalcul silencieux en arrière-plan pour un retour immédiat

  • Sélectionner les objets source : Naviguer vers les objets source utilisés dans le traitement via une nouvelle action du menu « Édition »

    • Gère tous les modèles de traitement (1-vers-1, 2-vers-1, n-vers-1)

    • Affiche des messages informatifs si les sources n’existent plus

  • Historique de traitement : Nouvel onglet « Historique » affichant la lignée de traitement des objets

    • Affiche la chaîne de traitement complète depuis la création jusqu’à l’état actuel

    • Texte sélectionnable à des fins de documentation

Édition des propriétés de plusieurs objets :

  • Appliquer les modifications de propriétés à plusieurs objets sélectionnés simultanément

  • Seules les propriétés modifiées sont appliquées, préservant les paramètres individuels inchangés

  • Cas d’utilisation typique : modification des limites de la LUT (bornes de l’échelle Z) ou de la carte des couleurs de plusieurs images à la fois, ou ajustement des propriétés d’affichage d’un groupe de signaux.

Améliorations de la taille des boîtes de dialogue :

  • Les boîtes de dialogue de traitement se redimensionnent désormais intelligemment en fonction de la taille de la fenêtre principale

  • Ne dépasse jamais les dimensions de la fenêtre principale pour une meilleure expérience utilisateur

Indicateur de la console interne :

  • L’indicateur de la barre d’état affiche l’état de la console lorsqu’elle est masquée

  • Devient rouge en cas d’erreurs/avertissements pour alerter les utilisateurs

  • Cliquer pour ouvrir la console

🎬 Nouvelles fonctionnalités de création d’objets#

Générateurs de signaux paramétriques :

  • Chirp linéaire, fonction logistique, fonction de Planck

  • Générer des signaux avec bruit de Poisson

Générateurs d’images paramétriques :

  • Damier : Motif de calibration avec taille de carrés et valeurs claires/sombres configurables

  • Réseau sinusoïdal : Test de réponse en fréquence avec fréquences spatiales X/Y indépendantes

  • Motif en anneau : Anneaux circulaires concentriques pour l’analyse radiale et les tests PSF. Période d’anneau, largeur, position centrale et plage d’amplitude réglables.

  • Étoile de Siemens : Test de résolution avec rayons radiaux et rayon configurable

  • Sinc 2D : Fonction sinus cardinal pour la modélisation de la PSF et la simulation de motifs de diffraction. Les paramètres incluent l’amplitude, la position centrale, le facteur d’échelle (sigma) et le décalage DC.

  • Rampe 2D : Nouveau générateur d’image de rampe

  • Bruit de Poisson : Générer des images avec distribution de bruit de Poisson

Création de signaux/images à partir d’opérations :

  • Créer un signal/image à valeurs complexes à partir des parties réelle et imaginaire

  • Créer un signal/image à valeurs complexes à partir de la magnitude et de la phase (ceci clôture Issue #216)

  • Extraire l’information de phase (argument) des signaux ou images complexes

🔬 Traitement et analyse de données#

Traitement du signal :

  • Ajustement de courbes amélioré : Estimation des paramètres considérablement améliorée pour tous les types de courbes (Gaussienne, Lorentzienne, Voigt, exponentielle, sinusoïdale, Planckienne, pics asymétriques, CDF)

    • Estimations initiales des paramètres plus intelligentes pour une convergence robuste

    • Prise en charge des paramètres verrouillés (nécessite PlotPy v2.8.0) :

  • Vérification de la compatibilité des tableaux X pour les calculs multi-signaux :

    • Nouveau paramètre de configuration : Demander à l’utilisateur ou interpoler automatiquement

    • Empêche les résultats inattendus dus à des tableaux de signaux incompatibles

  • Améliorations du zero padding : Prise en charge de l’ajout de zéros au début et à la fin, stratégie par défaut désormais « Prochaine puissance de 2 »

  • Filtre idéal dans le domaine fréquentiel : « Filtre en brique » pour les signaux (ceci clôture Issue #215)

  • Bande passante à -3dB : Améliorée pour prendre en charge la bande passante

  • Extraction des caractéristiques des impulsions : Nouvelle fonctionnalité complète d’analyse des impulsions pour les signaux en escalier et carrés :

    • Reconnaissance automatique de la forme et détection de la polarité

    • Mesure l’amplitude, le temps de montée/descente, la FWHM, les paramètres temporels, les plages de référence

  • Filtres dans le domaine fréquentiel : Déconvolution et filtre Gaussien (ceci clôture Issue #189, Issue #205)

  • Transformations de coordonnées : Conversion en coordonnées cartésiennes/polaires

  • Mode X-Y : Simule le mode X-Y d’un oscilloscope (trace un signal par rapport à un autre)

  • Opérations de recherche : Première abscisse à y=…, ordonnée à x=…, largeur totale à y=…

  • Opération 1/x : Opération réciproque avec gestion des NaN pour les dénominateurs nuls

Traitement d’images :

  • Rééchantillonnage 2D : Rééchantillonner les images vers de nouvelles grilles de coordonnées avec plusieurs méthodes d’interpolation (ceci clôture Issue #208)

  • Convolution : Opération de convolution 2D

  • Effacer une zone : Effacer les zones d’image définies par ROI (ceci clôture Issue #204)

  • Projections horizontales/verticales : Somme des pixels le long des axes (ceci clôture Issue #209)

  • Calcul du centroïde amélioré : Plus précis dans les cas difficiles (images tronquées/asymétriques) (voir Issue #251)

  • Retourner en diagonale : Nouvelle transformation géométrique

  • Opération 1/x : Opération réciproque pour les images

Opérations inter-panneaux :

  • Conversion signaux vers image : Combiner plusieurs signaux en images 2D

    • Deux modes d’orientation : en lignes (spectrogrammes) ou en colonnes (affichages en cascade)

    • Normalisation optionnelle (Z-score, Min-Max, Maximum)

    • Cas d’utilisation typiques : cartes de chaleur, spectrogrammes, visualisation de données multi-canaux

Fonctionnalités communes :

  • Écart-type : Calculer sur plusieurs signaux/images (ceci clôture Issue #196)

  • Ajouter du bruit : Ajouter du bruit gaussien, de Poisson ou uniforme (ceci clôture Issue #201)

  • Ajouter des métadonnées : Ajouter des métadonnées personnalisées avec prise en charge des motifs ({title}, {index}, etc.) et conversion de type

📐 Gestion des ROI et annotations#

Fonctionnalités ROI :

  • Opérations de presse-papiers ROI : Copier/coller les ROI entre objets

  • Importer/exporter des ROI : Enregistrer/charger les ROI au format JSON

  • Suppression individuelle de ROI : Supprimer les ROI sélectivement via le sous-menu « Supprimer »

  • Édition des titres de ROI : Définir les titres pendant la création interactive et dans la boîte de dialogue de confirmation

  • Créer une grille de ROI : Générer une grille de ROI avec lignes, colonnes et espacement configurables

    • Importer/exporter les configurations de grille

    • Aperçu avant création

  • Logique ROI inverse : Sélectionner la zone en dehors des formes définies (images uniquement)

  • Création de ROI par coordonnées : Saisie manuelle des coordonnées pour les ROI rectangulaires et circulaires

  • Édition de ROI multi-objets : Éditer les ROI sur plusieurs objets simultanément

Fonctionnalités d’annotation :

  • Coller les annotations : Coller les annotations du presse-papiers sur l’objet (ou les objets) sélectionné(s)

  • Éditer les annotations : Boîte de dialogue d’éditeur interactif avec outils PlotPy

  • Exporter les annotations : Enregistrer les annotations dans des fichiers JSON .dlabann

  • Supprimer les annotations : Supprimer toutes les annotations de l’objet (ou des objets) sélectionné(s)

  • Annotations indépendantes des ROI : Peuvent coexister sur le même objet

Détection avec création de ROI :

  • Les 7 algorithmes de détection prennent désormais en charge la création automatique de ROI :

    • Détection de pics, forme de contour, détection de blobs (DOG/DOH/LOG/OpenCV), cercle de Hough

  • Choix de géométrie de ROI : ROI rectangulaires ou circulaires

  • Détection de pics 2D : Option pour choisir la géométrie de ROI (ceci clôture les exigences associées)

📊 Visualisation et affichage#

Performances et limites d’affichage :

  • Optimisations des performances pour les grands ensembles de résultats : Ajout de limites d’affichage configurables pour éviter le gel de l’interface utilisateur avec de grands résultats d’analyse

    • max_shapes_to_draw (par défaut : 1 000), max_cells_in_label (par défaut : 100), max_cols_in_label (par défaut : 15)

    • Paramètres documentés avec implications sur les performances

  • Rendu de contours plus rapide : Amélioration des performances de plus de 5x pour l’affichage des contours

  • Optimisation des performances de rendu des signaux : Ajout d’un plafonnement intelligent de l’épaisseur de trait pour les grands ensembles de données

    • Nouveau paramètre : « Seuil de performance de l’épaisseur de trait » (par défaut : 1 000 points) dans les paramètres de visualisation des signaux

    • Empêche un ralentissement de 10x dû à la limitation du moteur raster de Qt

Visualisation des résultats :

  • Étiquettes de résultats fusionnées : Tous les résultats d’analyse pour un signal ou une image sont désormais affichés dans une seule étiquette consolidée en lecture seule

    • Réduit l’encombrement visuel, mises à jour automatiques, résultats divisés horizontalement

  • Contrôle de visibilité de l’étiquette de résultats : Basculer la visibilité via la case à cocher du panneau de propriétés

    • Visibilité par défaut configurable dans les paramètres

  • Création de groupe de résultats : Toutes les opérations de tracé des résultats organisent désormais automatiquement les résultats dans un groupe « Résultats » dédié

  • Titres de résultats complets : Les titres des signaux de résultats incluent désormais les identifiants des objets source

  • Suppression individuelle de résultats : Supprimer les résultats sélectivement via le menu Analyse

  • Styles de formes/marqueurs personnalisables : Quatre nouveaux boutons de configuration de style dans les paramètres

    • Fonctionnalités communes aux signaux et aux images :

    • Éditeur interactif avec options complètes

    • Configuration persistante avec rafraîchissement au changement

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

  • Cliquer directement sur les tracés de profils X/Y pour changer la direction d’extraction

  • Pas besoin d’ouvrir la boîte de dialogue des paramètres pour les changements de direction

  • Améliore l’efficacité du flux de travail (ceci clôture Issue #156)

Prise en charge des signaux DateTime :

  • Détection automatique des dates dans les fichiers CSV

  • Formatage de l’axe datetime : Horodatages lisibles sur l’axe X

  • Formats configurables : Formats séparés pour les unités standard et sub-secondes

  • Prend en charge diverses unités de temps (secondes, millisecondes, microsecondes, minutes, heures)

  • Ceci clôture Issue #258

Paramètres :

  • Marges d’auto-échelle : Marges configurables (0-50%) pour les tracés de signaux/images

  • Verrouiller le rapport d’aspect de l’image : Option pour un rapport d’aspect 1:1 (par défaut : utiliser la taille de pixel physique) (ceci clôture Issue #244)

  • Afficher la console en cas d’erreur : Comportement configurable (par défaut : désactivé)

Paramètres d’étendue de l’image :

  • Nouvelle boîte de groupe « Étendue » affichant les Xmin, Xmax, Ymin, Ymax calculés

  • Calculé automatiquement à partir de l’origine, de l’espacement des pixels et des dimensions

📁 Import/Export et gestion des fichiers#

Prise en charge de nouveaux formats de fichiers :

  • Signaux et images FT-Lab : Formats binaires CEA (.sig, .ima) (ceci clôture Issue #211)

  • Fichiers texte coordonnés : Images à valeurs réelles et complexes avec images d’erreur (similaire au format Matris)

    • Gestion automatique des NaN, métadonnées avec unités et étiquettes

Prise en charge HDF5 améliorée :

  • Extensions de fichiers personnalisées : Détection intelligente HDF5 par contenu (pas seulement l’extension)

    • Détection basée sur l’extension pour les boîtes de dialogue, basée sur le contenu pour le glisser-déposer

    • Option « Tous les fichiers (*) » dans les boîtes de dialogue de fichiers

  • Améliorations du navigateur HDF5 : Vue arboresc ente réduite par défaut pour une meilleure navigation

  • Options de nettoyage de l’espace de travail : Comportement configurable avec option « Ignorer » (ceci clôture Issue #146).

Améliorations des fichiers texte :

  • Amélioration de la gestion des délimiteurs dans la lecture CSV (signaux) pour mieux prendre en charge les fichiers avec divers séparateurs d’espaces.

  • Séparateur décimal local : Prise en charge de la virgule comme séparateur décimal (ceci clôture Issue #124)

  • Tolérance aux erreurs d’encodage : Ignorer les erreurs pour les fichiers avec des caractères spéciaux

  • Détection d’en-tête : Détection et saut automatiques des en-têtes de données

Autres fonctionnalités d’E/S :

  • Enregistrer dans un répertoire : Nouvelle fonctionnalité (ceci clôture Issue #227)

  • Ouvrir depuis un répertoire : Ouvrir récursivement plusieurs fichiers avec prise en charge du glisser-déposer de dossiers

  • Ordre d’importation des fichiers : Correction de l’ordre incohérent des fichiers entre les plateformes lors de l’importation d’images/signaux

🔧 Fonctionnalités avancées#

Prise en charge des coordonnées non uniformes :

  • Les images prennent désormais en charge l’espacement de pixels non uniforme

  • Nouvelle fonctionnalité « Définir les coordonnées uniformes » dans le menu Traitement > Transformation des axes :

  • Prend désormais en charge l’étalonnage polynomial jusqu’à l’ordre cubique pour tous les axes (X, Y, Z)

    • Pour les axes X et Y : Crée des coordonnées non uniformes pour représenter les transformations polynomiales

  • Le format HDF5 préserve les informations de coordonnées non uniformes

Gestion des groupes :

  • ID courts spécifiques au panneau : Préfixe gs pour les signaux, préfixe gi pour les images

    • Évite l’ambiguïté dans les opérations inter-panneaux

  • Numérotation de groupe fixe pour les nouveaux groupes

Réinitialisation de la configuration de DataLab :

  • Dossiers spécifiques à la version : Coexistence des versions majeures (.DataLab_v1, .DataLab_v2, etc.)

    • Permet à v0.x et v1.x de s’exécuter simultanément

API publique (locale ou distante) :

  • Amélioration de la gestion des métadonnées en ajoutant le contexte du nom de la fonction aux résultats :

  • Méthodes add_group, add_signal, add_image avec arguments group_id et set_current

  • get_object_uuids avec filtre group optionnel

  • Plusieurs améliorations de l’API pour une meilleure programmabilité

Infrastructure de traitement (pour les développeurs) :

  • Ajout d’un nouveau décorateur @computation_function pour marquer et enregistrer les fonctions de calcul

  • Renommé les fonctions de calcul pour supprimer le préfixe redondant « compute_ » (par exemple, compute_fftfft)

  • Méthodes BaseProcessor refactorisées avec des noms clairs :

    • compute_1_to_1, compute_1_to_0, compute_1_to_n, compute_n_to_1, compute_2_to_1

  • Aucune compatibilité ascendante n’est maintenue pour ces modifications internes (ceci clôture Issue #180)

🛠️ Correctifs depuis la version 0.20#

Corrections de performances :

  • Passage entre images avec de nombreux résultats : Amélioration spectaculaire (66s → <1ms) lors de la navigation entre des images avec des centaines de formes

  • Robustesse du nettoyage des graphiques : Correction d’erreurs occasionnelles lors de la suppression des résultats d’analyse des graphiques

  • Correction critique : Les éléments d’étiquette de résultat sont désormais correctement exclus du nettoyage pour éviter une suppression accidentelle

Gestion inter-panneaux et des groupes :

  • Groupes de calculs inter-panneaux : Correction de l’organisation incohérente des groupes pour les opérations image vers signal

  • Ordre d’importation des fichiers : Correction de l’ordre incohérent des fichiers entre les plateformes lors de l’importation d’images/signaux

Mises à jour de l’état des actions :

  • Correction des états d’activation des actions ne se mettant pas à jour après les opérations d’annotation/métadonnées

  • L’interface utilisateur reflète désormais immédiatement l’état actuel de l’objet

Gestion des résultats :

  • Correction de la suppression des étiquettes de résultats pour supprimer définitivement les métadonnées associées

  • Correction du nettoyage des métadonnées de paramètres de résultats en double

  • Corrections des coordonnées des résultats : Correction des résultats décalés sur les images avec des ROI et une origine décalée (Issue #106)

  • Indices d’extraction de profil : Correction des indices erronés avec ROI (Issue #107)

Corrections liées aux ROI :

  • Correction de l’extraction de ROI multi-image ne sauvegardant pas la ROI dans le premier objet (Issue #120)

  • Correction de l’AttributeError lors de l’extraction de plusieurs ROI sur une seule image avec plusieurs sélections (Issue #121)

  • Correction des problèmes de rafraîchissement du masque (Issue #122, Issue #123)

  • Correction de l’éditeur de ROI sur plusieurs signaux/images (Issue #135)

  • Correction de l’effacement des ROI n’affectant que la première image (Issue #160)

  • Correction de l’éditeur de ROI affichant la première au lieu de la dernière image (Issue #158)

Assistant d’importation de texte :

  • Correction de la préservation des titres et unités définis par l’utilisateur (Issue #239)

  • Correction de la préservation des types de données (Issue #240)

  • Correction de la prise en charge du séparateur décimal virgule (Issue #186)

  • Correction du problème de délimiteur final (Issue #238)

Ajustement amélioré pour tous les types de courbes :

  • Amélioration de l’estimation initiale de la fréquence pour l’ajustement de courbe sinusoïdale.

  • Correction du formatage d’affichage des paramètres pour les valeurs extrêmes

  • Correction de la gestion des exceptions de calcul FWHM

  • Correction du changement inattendu du style de marqueur de courbe (Issue #184)

  • Correction du plantage brutal sur un signal nul avec l’outil de statistiques de courbe (Issue #233)

Gestion des images :

  • Correction du rapport d’aspect ne se mettant pas à jour lors du changement d’images

  • Correction des problèmes de dépaquetage des formes (Issue #246, Issue #247)

  • Correction des colormaps non stockées dans les métadonnées (problème PlotPy v2.6.3+) (Issue #138)

  • Correction du calcul de l’amplitude pour les types de données non entiers

Traitement du signal :

  • Correction du calcul de l’axe x pour ifft1d lorsque shift=False (Issue #241)

  • Correction du plantage du médian mobile sur Linux avec le mode miroir (Issue #117) - bug SciPy

  • Correction du spectre de magnitude avec échelle logarithmique (Issue #169)

  • Correction du mode d’opération par paires pour les fonctions asymétriques (Issue #157)

Analyse et résultats :

  • Correction de la gestion des valeurs NaN dans les statistiques et la normalisation (Issue #141, Issue #152, Issue #153)

  • Correction des résultats d’analyse conservés de l’original après le traitement (Issue #136)

  • Correction des résultats en double lorsqu’aucune ROI n’est définie

  • Correction du mode « Une courbe par titre de résultat » ignorant les ROI (Issue #132)

  • Ajout de la validation des résultats pour les résultats de type tableau

Graphique et visualisation :

  • Correction des tracés de profils ne se rafraîchissant pas lors du déplacement/redimensionnement (Issue #172) - correction PlotPy

  • Correction de l’affichage du profil moyen vide en dehors de la zone de l’image (Issue #168) - correction PlotPy

  • Correction de la ValueError d’extraction de profil moyen avec un rectangle surdimensionné (Issue #144)

  • Désactivation de l’onglet générique « Axes » dans les boîtes de dialogue des paramètres

Autres corrections :

  • Correction de la méthode proxy add_object ne prenant pas en charge les métadonnées (Issue #111)

  • Correction des appels de méthode RemoteClient sans arguments optionnels (Issue #113)

  • Correction du KeyError lors de la suppression d’un groupe après l’ouverture d’un HDF5 (Issue #116)

  • Correction du KeyError dans « Afficher dans une nouvelle fenêtre » avec plusieurs images après l’ouverture d’un HDF5 (Issue #159)

  • Correction de l’affichage des titres d’objets longs (Issue #128)

  • Correction des titres de noms de fichiers affichant des chemins relatifs (Issue #165)

  • Correction des noms de groupe inattendus dans « Ouvrir depuis un répertoire » (Issue #177)

  • Correction de l’attente d’un groupe par dossier (Issue #163)

  • Correction des fichiers non pris en charge dans le chargement récursif (Issue #164)

Fonctionnalités supprimées :

  • Suppression de l’option « Utiliser la plage de LUT de l’image de référence » :

    • Stratégie de migration : Utilisez plutôt le nouvel éditeur de propriétés de sélection multiple :

🔒 Corrections de sécurité :#

  • Correction de vulnérabilité de dépendance : Correction de la vulnérabilité CVE-2023-4863 dans opencv-python-headless

ℹ️ Autres changements :#

  • Dépendance plotpy mise à jour vers V2.8.0

  • Dépendance guidata mise à jour vers V3.13.0

  • Utilisation du nouvel utilitaire de traduction guidata basé sur babel

  • Python 3.13 désormais pris en charge (via scikit-image V0.25)