Etat de validation de DataLab#

Validation fonctionnelle#

Dans DataLab, la validation fonctionnelle est basée sur une stratégie de test classique (voir Validation fonctionnelle).

Package

Couverture

Nombre de tests

DataLab

~82%

>130

Sigima

~90%

>570

Validation technique#

Ce paragraphe fournit l’état de validation des fonctions de calcul dans DataLab (c’est ce que nous appelons validation technique, voir Validation technique).

Note

Il s’agit d’un travail en cours : les tableaux ci-dessous sont mis à jour en continu à mesure que de nouvelles fonctions sont validées ou que le code de test est adapté (les tableaux sont générés à partir du code de test). Certaines fonctions sont déjà validées mais n’apparaissent pas encore dans la liste ci-dessous, tandis que d’autres sont encore en cours de validation.

Avertissement

L’état de validation ne doit pas être confondu avec la couverture de test. L’état de validation indique si la fonction a été validée par rapport à des données de référence ou des modèles analytiques. La couverture de test indique le pourcentage du code qui est exécuté par la suite de tests, mais elle ne prend pas nécessairement en compte la justesse des résultats (la couverture de test de DataLab est d’environ 90%).

Statistiques de validation#

Catégorie

Signal

Image

Total

Nombre de fonctions de calcul

98

116

214

Nombre de fonctions de calcul validées

98

116

214

Pourcentage de fonctions de calcul validées

100%

100%

100%

Fonctions de calcul signal#

Le tableau ci-dessous montre l’état de validation des fonctions de calcul signal dans DataLab. Il est généré automatiquement à partir du code source.

Etat de validation de DataLab#

Fonctions de calcul

Description

Fonction de test

Calculer la valeur absolue avec numpy.absolute

Calculer la valeur absolue avec numpy.absolute

test_signal_absolute

add_gaussian_noise

Ajouter un bruit normal au signal d’entrée

test_signal_add_gaussian_noise

add_poisson_noise

Ajouter un bruit de Poisson au signal d’entrée

test_signal_add_poisson_noise

add_uniform_noise

Ajouter un bruit uniforme au signal d’entrée

test_signal_add_uniform_noise

addition

Calculer la somme élément par élément de plusieurs signaux

test_signal_addition

addition_constant

Calculer la somme d’un signal et d’une valeur constante

test_signal_addition_constant

allan_deviation

Calculer la déviation d’Allan

test_signal_allan_deviation

allan_variance

Calculer la variance d’Allan

test_signal_allan_variance

apply_window

Calcul d’un fenêtrage

test_signal_apply_window

arithmetic

Effectuer une opération arithmétique sur deux signaux

test_signal_arithmetic

astype

Convertir le type de données

test_signal_astype

average

Calculer la moyenne élément par élément de plusieurs signaux

test_signal_average

bandpass

Calculer le filtre passe-bande

test_signal_bandpass

bandstop

Calculer le filtre coupe-bande

test_signal_bandstop

bandwidth_3db

Calculer la largeur de bande à -3 dB

test_signal_bandwidth_3db

calibration

Calculer l’étalonnage linéaire

test_signal_calibration

cdf_fit

Calculer l’ajustement CDF

test_signal_cdf_fit

clip

Calculer le découpage maximal des données

test_signal_clip

complex_from_magnitude_phase

Combiner les signaux de magnitude et de phase en un signal complexe

test_signal_complex_from_magnitude_phase

complex_from_real_imag

Combiner deux signaux réels en un signal complexe en utilisant réel + i * imag

test_signal_complex_from_real_imag

contrast

Calculer le contraste

test_signal_contrast

convolution

Calculer la convolution de deux signaux

test_signal_convolution

deconvolution

Calculer la déconvolution de deux signaux

test_signal_deconvolution

derivative

Calculer la dérivée

test_signal_derivative

detrending

Supprimer la tendance des données

test_signal_detrending

difference

Calculer la différence élément par élément entre deux signaux

test_signal_difference

difference_constant

Calculer la différence entre un signal et une valeur constante

test_signal_difference_constant

division

Calculer la division élément par élément entre deux signaux

test_signal_division

division_constant

Calculer la division d’un signal par une valeur constante

test_signal_division_constant

dynamic_parameters

Calculer les paramètres dynamiques

test_dynamic_parameters

evaluate_fit

Évaluer la fonction d’ajustement de src1 sur l’axe des x de src2

test_signal_evaluate_fit

exp

Calculer l’exponentielle avec numpy.exp

test_signal_exp

exponential_fit

Calculer l’ajustement exponentiel

test_signal_exponential_fit

extract_peak_positions

Extraire les positions des pics sous forme de tableau de marqueurs XY

test_signal_extract_peak_positions

extract_pulse_features

Extraire les caractéristiques des impulsions

test_signal_extract_pulse_features

extract_roi

Extraire une seule région d’intérêt à partir des données

test_signal_extract_roi

extract_rois

Extraire plusieurs régions d’intérêt à partir des données

test_signal_extract_rois

fft

Calculer la FFT

test_signal_fft

full_width_at_y

test_signal_full_width_at_y

fw1e2

Calculer la largeur à 1/e²

test_signal_fw1e2

fwhm

Calculer la largeur à mi-hauteur

test_signal_fwhm

gaussian_filter

Calculer le filtre gaussien

test_signal_gaussian_filter

gaussian_fit

Calculer l’ajustement gaussien

test_signal_gaussian_fit

hadamard_variance

Calculer la variance d’Hadamard

test_signal_hadamard_variance

highpass

Calculer le filtre passe-haut

test_signal_highpass

histogram

Calculer l’histogramme

test_signal_histogram

ifft

Calculer la FFT inverse

test_signal_ifft

imag

Calculer la partie imaginaire

test_signal_imag

integral

Calculer l’intégrale

test_signal_integral

interpolate

Interpoler les données

test_signal_interpolate

inverse

Calculer l’inverse élément par élément d’un signal

test_signal_inverse

linear_fit

Calculer l’ajustement linéaire

test_signal_linear_fit

log10

Calculer Log10 avec numpy.log10

test_signal_log10

lorentzian_fit

Calculer l’ajustement lorentzien

test_signal_lorentzian_fit

lowpass

Calculer le filtre passe-bas

test_signal_lowpass

magnitude_spectrum

Calculer le spectre de magnitude

test_signal_magnitude_spectrum

modified_allan_variance

Calculer la variance d’Allan modifiée

test_signal_modified_allan_variance

moving_average

Calculer la moyenne mobile

test_signal_moving_average

moving_median

Calculer la médiane mobile

test_signal_moving_median

normalize

Normaliser les données

test_signal_normalize

offset_correction

Corriger le décalage : soustraire la valeur moyenne du signal dans la plage spécifiée

test_signal_offset_correction

overlapping_allan_variance

Calculer la variance d’Allan chevauchante

test_signal_overlapping_allan_variance

peak_detection

Détection des pics

test_signal_peak_detection

phase

Calculer la phase (argument) d’un signal complexe

test_signal_phase

phase_spectrum

Calculer le spectre de phase

test_signal_phase_spectrum

piecewiseexponential_fit

Calculer l’ajustement exponentiel par morceaux (augmentation-décroissance)

test_signal_piecewiseexponential_fit

planckian_fit

Calculer l’ajustement de Planck

test_signal_planckian_fit

polynomial_fit

Calculer l’ajustement polynomial

test_polynomial_fit

power

Calculer la puissance avec numpy.power

test_signal_power

product

Calculer le produit élément par élément de plusieurs signaux

test_signal_product

product_constant

Calculer le produit d’un signal et d’une valeur constante

test_signal_product_constant

psd

Calculer la densité spectrale de puissance

test_signal_psd

quadratic_difference

Calculer la différence normalisée entre deux signaux

test_signal_quadratic_difference

real

Calculer la partie réelle

test_signal_real

replace_special_values

Remplacer les valeurs NaN, +Inf et -Inf dans un signal

test_signal_replace_special_values

replace_x_by_other_y

Créer un nouveau signal en utilisant Y de src1 et Y de src2 comme coordonnées X

test_replace_x_by_other_y

resampling

Rééchantillonner les données

test_signal_resampling

reverse_x

Inverser l’axe des x

test_signal_reverse_x

sampling_rate_period

Calculer la fréquence d’échantillonnage et la période

test_signal_sampling_rate_period

sigmoid_fit

Calculer l’ajustement sigmoïde

test_signal_sigmoid_fit

signals_to_image

Combine multiple signals into an image

test_signal_signals_to_image

sinusoidal_fit

Calculer l’ajustement sinusoïdal

test_sinusoidal_fit

sqrt

Calculer la racine carrée avec numpy.sqrt

test_signal_sqrt

standard_deviation

Calculer l’écart-type élément par élément de plusieurs signaux

test_signal_standard_deviation

stats

Calculer les statistiques sur un signal

test_signal_stats_unit

time_deviation

Calculer la déviation temporelle (TDEV)

test_signal_time_deviation

to_cartesian

Convertir des coordonnées polaires en coordonnées cartésiennes

test_signal_to_cartesian

to_polar

Convertir des coordonnées cartésiennes en coordonnées polaires

test_signal_to_polar

total_variance

Calculer la variance totale

test_signal_total_variance

transpose

Transposer le signal (échanger les axes X et Y)

test_signal_transpose

twohalfgaussian_fit

Calculer l’ajustement à deux demi-Gaussiennes

test_signal_twohalfgaussian_fit

voigt_fit

Calculer l’ajustement de Voigt

test_signal_voigt_fit

wiener

Calculer le filtre de Wiener

test_signal_wiener

x_at_minmax

test_signal_x_at_minmax

x_at_y

test_signal_x_at_y

xy_mode

Simuler le mode X-Y d’un oscilloscope

test_signal_xy_mode

y_at_x

test_signal_y_at_x

zero_padding

Calculer le remplissage nul

test_signal_zero_padding

Fonctions de calcul image#

Le tableau ci-dessous montre l’état de validation des fonctions de calcul image dans DataLab. Il est généré automatiquement à partir du code source.

Etat de validation des fonctions de calcul image#

Fonctions de calcul

Description

Fonction de test

absolute

Calculer la valeur absolue avec numpy.absolute

test_image_absolute

add_gaussian_noise

Ajouter du bruit gaussien (normal) à l’image d’entrée

test_image_add_gaussian_noise

add_poisson_noise

Ajouter du bruit de Poisson à l’image d’entrée

test_image_add_poisson_noise

add_uniform_noise

Ajouter du bruit uniforme à l’image d’entrée

test_image_add_uniform_noise

addition

Ajouter les images de la liste et retourner l’objet image résultant

test_image_addition

addition_constant

Ajouter dst et une valeur constante et retourner le nouvel objet image résultant

test_image_addition_constant

adjust_gamma

Correction gamma

test_adjust_gamma

adjust_log

Calculer l’ajustement logarithmique

test_adjust_log

adjust_sigmoid

Calculer l’ajustement sigmoïde

test_adjust_sigmoid

arithmetic

Effectuer une opération arithmétique sur deux images

test_image_arithmetic

astype

Convertir le type de données de l’image

test_image_astype

average

Calculer la moyenne des images dans la liste et retourner l’objet image résultant

test_image_average

average_profile

Calculer le profil moyen horizontal ou vertical

test_average_profile

binning

Regroupement : regroupement (ou agrégation) des pixels de l’image

test_binning

black_tophat

Calculer le Black Top-Hat

test_black_tophat

blob_dog

Calculer les blobs en utilisant la méthode de la différence de Gaussienne

test_image_blob_dog

blob_doh

Calculer les blobs en utilisant la méthode du déterminant de Hessian

test_image_blob_doh

blob_log

Calculer les blobs en utilisant la méthode du Laplacien de Gaussienne

test_image_blob_log

blob_opencv

Calculer les blobs en utilisant OpenCV

test_image_blob_opencv

butterworth

Calculer le filtre de Butterworth

test_butterworth

calibration

Calculer l’étalonnage polynomial

test_image_calibration

canny

Calculer le filtre de Canny

test_canny

centroid

Calculer le centroïde

test_image_centroid

clip

Appliquer le clipping

test_image_clip

closing

Calculer la fermeture morphologique

test_closing

complex_from_magnitude_phase

Combiner les images de magnitude et de phase en une image complexe

test_image_complex_from_magnitude_phase

complex_from_real_imag

Combiner deux images réelles en une image complexe en utilisant réel + i * imag

test_image_complex_from_real_imag

contour_shape

Calculer la forme du contour

test_contour_shape

convolution

Convoluer une image avec un noyau

test_image_convolution

deconvolution

Déconvoluer un noyau d’une image en utilisant la Transformée de Fourier Rapide (FFT)

test_image_deconvolution

denoise_bilateral

Calculer le débruitage par filtre bilatéral

test_denoise_bilateral

denoise_tophat

Débruiter en utilisant le White Top-Hat

test_denoise_tophat

denoise_tv

Calculer le débruitage par variation totale

test_denoise_tv

denoise_wavelet

Calculer le débruitage par ondelettes

test_denoise_wavelet

difference

Calculer la différence entre deux images

test_image_difference

difference_constant

Soustraire une valeur constante d’une image et retourner le nouvel objet image résultant

test_image_difference_constant

dilation

Calculer la dilatation

test_dilation

division

Calculer la division entre deux images

test_image_division

division_constant

Diviser une image par une valeur constante et retourner le nouvel objet image résultant

test_image_division_constant

enclosing_circle

Calculer le cercle circonscrit minimum

test_image_enclosing_circle

equalize_adapthist

Égalisation adaptative de l’histogramme

test_equalize_adapthist

equalize_hist

Égalisation de l’histogramme

test_equalize_hist

erase

Effacer une zone de l’image en utilisant la valeur moyenne de l’image

test_erase

erosion

Calculer l’érosion

test_erosion

exp

Calculer l’exponentielle avec numpy.exp

test_image_exp

extract_roi

Extract single ROI

test_image_extract_roi

extract_rois

Extraire plusieurs régions d’intérêt à partir des données

test_image_extract_rois

farid

Calculer le filtre de Farid

test_farid

farid_h

Calculer le filtre de Farid horizontal

test_farid_h

farid_v

Calculer le filtre de Farid vertical

test_farid_v

fft

Calculer la FFT

test_image_fft

flatfield

Calculer la correction de champ plat

test_flatfield

fliph

Retourner les données horizontalement

test_image_fliph

flipv

Retourner les données verticalement

test_image_flipv

gaussian_filter

Calculer le filtre gaussien

test_image_gaussian_filter

gaussian_freq_filter

Appliquer un filtre gaussien dans le domaine fréquentiel

test_gaussian_freq_filter

histogram

Calculer l’histogramme des données de l’image

test_image_histogram

horizontal_projection

Calculer la somme des intensités des pixels le long de chaque colonne (projection sur l’axe x)

test_image_horizontal_projection

hough_circle_peaks

Calculer les cercles de Hough

test_image_hough_circle_peaks

ifft

Calculer la transformée de Fourier inverse

test_image_ifft

imag

Calculer la partie imaginaire

test_image_imag

inverse

Calculer l’inverse d’une image et retourner le nouvel objet image résultant

test_image_inverse

laplace

Calculer le filtre de Laplace

test_laplace

line_profile

Calculer le profil horizontal ou vertical

test_line_profile

log10

Calculer le logarithme en base 10 avec numpy.log10

test_image_log10

log10_z_plus_n

Calculer le logarithme en base 10 de (z+n) avec numpy.log10

test_image_log10_z_plus_n

magnitude_spectrum

Calculer le spectre de magnitude

test_image_magnitude_spectrum

moving_average

Calculer la moyenne mobile

test_image_moving_average

moving_median

Calculer la médiane mobile

test_image_moving_median

normalize

test_image_normalize

offset_correction

Appliquer la correction de l’offset

test_image_offset_correction

opening

Calculer l’ouverture morphologique

test_opening

peak_detection

Calculer la détection de pics 2D

test_image_peak_detection

phase

Calculer la phase (argument) d’une image complexe

test_image_phase

phase_spectrum

Calculer le spectre de phase

test_image_phase_spectrum

prewitt

Calculer le filtre de Prewitt

test_prewitt

prewitt_h

Calculer le filtre de Prewitt horizontal

test_prewitt_h

prewitt_v

Calculer le filtre de Prewitt vertical

test_prewitt_v

product

Multiplier les images de la liste et retourner le nouvel objet image résultant

test_image_product

product_constant

Multiplier dst par une valeur constante et retourner le nouvel objet image résultant

test_image_product_constant

psd

Calculer la densité spectrale de puissance

test_image_psd

quadratic_difference

Calculer la différence quadratique entre deux images

test_image_quadratic_difference

radial_profile

Calculer le profil radial autour du centroïde

test_radial_profile

real

Calculer la partie réelle

test_image_real

replace_special_values

Remplacer les valeurs NaN, +Inf et -Inf dans une image

test_image_replace_special_values

resampling

Rééchantillonner l’image sur une nouvelle grille de coordonnées en utilisant l’interpolation

test_image_resampling

rescale_intensity

Recaler les niveaux d’intensité de l’image

test_rescale_intensity

resize

Fonction de zoom de l’image

test_image_resize

roberts

Calculer le filtre de Roberts

test_roberts

rotate

Faire pivoter l’image

test_image_rotate

rotate270

Faire pivoter l’image de 270°

test_image_rotate270

rotate90

Faire pivoter l’image de 90°

test_image_rotate90

scharr

Calculer le filtre de Scharr

test_scharr

scharr_h

Calculer le filtre de Scharr horizontal

test_scharr_h

scharr_v

Calculer le filtre de Scharr vertical

test_scharr_v

segment_profile

Calculer le profil de segment

test_segment_profile

set_uniform_coords

Convertir l’image en un système de coordonnées uniforme

test_set_uniform_coords

sobel

Calculer le filtre de Sobel

test_sobel

sobel_h

Calculer le filtre de Sobel horizontal

test_sobel_h

sobel_v

Calculer le filtre de Sobel vertical

test_sobel_v

standard_deviation

Calculer l’écart-type élément par élément de plusieurs images

test_image_standard_deviation

stats

Calculer les statistiques sur une image

test_image_stats_unit

threshold

Calculer le seuil, en utilisant l’un des algorithmes disponibles

test_threshold

threshold_isodata

Calculer le seuil en utilisant l’algorithme Isodata avec les paramètres par défaut

test_threshold_isodata

threshold_li

Calculer le seuil en utilisant l’algorithme Li avec les paramètres par défaut

test_threshold_li

threshold_mean

Calculer le seuil en utilisant l’algorithme de la moyenne

test_threshold_mean

threshold_minimum

Calculer le seuil en utilisant l’algorithme du minimum avec les paramètres par défaut

test_threshold_minimum

threshold_otsu

Calculer le seuil en utilisant l’algorithme d’Otsu avec les paramètres par défaut

test_threshold_otsu

threshold_triangle

Calculer le seuil en utilisant l’algorithme du triangle avec les paramètres par défaut

test_threshold_triangle

threshold_yen

Calculer le seuil en utilisant l’algorithme de Yen avec les paramètres par défaut

test_threshold_yen

translate

Translater les données

test_image_translate

transpose

Transposer l’image

test_image_transpose

vertical_projection

Calculer la somme des intensités des pixels le long de chaque ligne (projection sur l’axe y)

test_image_vertical_projection

white_tophat

Calculer le White Top-Hat

test_white_tophat

wiener

Calculer le filtre de Wiener

test_image_wiener

zero_padding

Zero-padding : ajouter des zéros aux bords de l’image

test_image_zero_padding