Validation Status of DataLab#

Functional validation#

In DataLab, functional validation is based on a classic test strategy (see Functional validation).

Test coverage is around 90%, with more than 200 tests.

Technical validation#

This paragraph provides the validation status of compute functions in DataLab (this is what we call technical validation, see Technical Validation).

Note

This is a work in progress: the tables below are updated continuously as new functions are validated or test code is adapted (the tables are generated from the test code). Some functions are already validated but do not appear in the list below yet, while others are still in the validation process.

Warning

The validation status must not be confused with the test coverage. The validation status indicates whether the function has been validated against ground-truth data or analytical models. The test coverage indicates the percentage of the code that is executed by the test suite, but it does not necessarily take into account the correctness of the results (DataLab’s test coverage is around 90%).

Validation Statistics#

Category

Signal

Image

Total

Number of compute functions

96

115

211

Number of validated compute functions

96

115

211

Percentage of validated compute functions

100%

100%

100%

Signal Compute Functions#

The table below shows the validation status of signal compute functions in DataLab. It is automatically generated from the source code.

Validation status of signal compute functions#

Compute function

Description

Test function

absolute

Compute absolute value with numpy.absolute

test_signal_absolute

add_gaussian_noise

Add normal noise to the input signal

test_signal_add_gaussian_noise

add_poisson_noise

Add Poisson noise to the input signal

test_signal_add_poisson_noise

add_uniform_noise

Add uniform noise to the input signal

test_signal_add_uniform_noise

addition

Compute the element-wise sum of multiple signals

test_signal_addition

addition_constant

Compute the sum of a signal and a constant value

test_signal_addition_constant

allan_deviation

Compute Allan deviation

test_signal_allan_deviation

allan_variance

Compute Allan variance

test_signal_allan_variance

apply_window

Compute windowing

test_signal_apply_window

arithmetic

Perform an arithmetic operation on two signals

test_signal_arithmetic

astype

Convert data type

test_signal_astype

average

Compute the element-wise average of multiple signals

test_signal_average

bandpass

Compute band-pass filter

test_signal_bandpass

bandstop

Compute band-stop filter

test_signal_bandstop

bandwidth_3db

Compute bandwidth at -3 dB

test_signal_bandwidth_3db

calibration

Compute linear calibration

test_signal_calibration

cdf_fit

Compute CDF fit

test_signal_cdf_fit

clip

Compute maximum data clipping

test_signal_clip

complex_from_magnitude_phase

Combine magnitude and phase signals into a complex signal

test_signal_complex_from_magnitude_phase

complex_from_real_imag

Combine two real signals into a complex signal using real + i * imag

test_signal_complex_from_real_imag

contrast

Compute contrast

test_signal_contrast

convolution

Compute convolution of two signals

test_signal_convolution

deconvolution

Compute deconvolution

test_signal_deconvolution

derivative

Compute derivative

test_signal_derivative

detrending

Detrend data

test_signal_detrending

difference

Compute the element-wise difference between two signals

test_signal_difference

difference_constant

Compute the difference between a signal and a constant value

test_signal_difference_constant

division

Compute the element-wise division between two signals

test_signal_division

division_constant

Compute the division of a signal by a constant value

test_signal_division_constant

dynamic_parameters

Compute Dynamic parameters

test_dynamic_parameters

evaluate_fit

Evaluate fit function from src1 on the x-axis of src2

test_signal_evaluate_fit

exp

Compute exponential with numpy.exp

test_signal_exp

exponential_fit

Compute exponential fit

test_signal_exponential_fit

extract_pulse_features

Extract pulse features

test_signal_extract_pulse_features

extract_roi

Extract single region of interest from data

test_signal_extract_roi

extract_rois

Extract multiple regions of interest from data

test_signal_extract_rois

fft

Compute FFT

test_signal_fft

full_width_at_y

test_signal_full_width_at_y

fw1e2

Compute FW at 1/e²

test_signal_fw1e2

fwhm

Compute FWHM

test_signal_fwhm

gaussian_filter

Compute gaussian filter

test_signal_gaussian_filter

gaussian_fit

Compute Gaussian fit

test_signal_gaussian_fit

hadamard_variance

Compute Hadamard variance

test_signal_hadamard_variance

highpass

Compute high-pass filter

test_signal_highpass

histogram

Compute histogram

test_signal_histogram

ifft

Compute the inverse FFT

test_signal_ifft

imag

Compute imaginary part

test_signal_imag

integral

Compute integral

test_signal_integral

interpolate

Interpolate data

test_signal_interpolate

inverse

Compute the element-wise inverse of a signal

test_signal_inverse

linear_fit

Compute linear fit

test_signal_linear_fit

log10

Compute Log10 with numpy.log10

test_signal_log10

lorentzian_fit

Compute Lorentzian fit

test_signal_lorentzian_fit

lowpass

Compute low-pass filter

test_signal_lowpass

magnitude_spectrum

Compute magnitude spectrum

test_signal_magnitude_spectrum

modified_allan_variance

Compute Modified Allan variance

test_signal_modified_allan_variance

moving_average

Compute moving average

test_signal_moving_average

moving_median

Compute moving median

test_signal_moving_median

normalize

Normalize data

test_signal_normalize

offset_correction

Correct offset: subtract the mean value of the signal in the specified range

test_signal_offset_correction

overlapping_allan_variance

Compute Overlapping Allan variance

test_signal_overlapping_allan_variance

peak_detection

Peak detection

test_signal_peak_detection

phase

Compute the phase (argument) of a complex signal

test_signal_phase

phase_spectrum

Compute phase spectrum

test_signal_phase_spectrum

piecewiseexponential_fit

Compute piecewise exponential fit (raise-decay)

test_signal_piecewiseexponential_fit

planckian_fit

Compute Planckian fit

test_signal_planckian_fit

polynomial_fit

Compute polynomial fit

test_polynomial_fit

power

Compute power with numpy.power

test_signal_power

product

Compute the element-wise product of multiple signals

test_signal_product

product_constant

Compute the product of a signal and a constant value

test_signal_product_constant

psd

Compute power spectral density

test_signal_psd

quadratic_difference

Compute the normalized difference between two signals

test_signal_quadratic_difference

real

Compute real part

test_signal_real

replace_x_by_other_y

Create a new signal using Y from src1 and Y from src2 as X coordinates

test_replace_x_by_other_y

resampling

Resample data

test_signal_resampling

reverse_x

Reverse x-axis

test_signal_reverse_x

sampling_rate_period

Compute sampling rate and period

test_signal_sampling_rate_period

sigmoid_fit

Compute sigmoid fit

test_signal_sigmoid_fit

signals_to_image

Combine multiple signals into an image

test_signal_signals_to_image

sinusoidal_fit

Compute sinusoidal fit

test_sinusoidal_fit

sqrt

Compute square root with numpy.sqrt

test_signal_sqrt

standard_deviation

Compute the element-wise standard deviation of multiple signals

test_signal_standard_deviation

stats

Compute statistics on a signal

test_signal_stats_unit

time_deviation

Compute Time Deviation (TDEV)

test_signal_time_deviation

to_cartesian

Convert polar coordinates to Cartesian coordinates

test_signal_to_cartesian

to_polar

Convert Cartesian coordinates to polar coordinates

test_signal_to_polar

total_variance

Compute Total variance

test_signal_total_variance

transpose

Transpose signal (swap X and Y axes)

test_signal_transpose

twohalfgaussian_fit

Compute two-half-Gaussian fit

test_signal_twohalfgaussian_fit

voigt_fit

Compute Voigt fit

test_signal_voigt_fit

wiener

Compute Wiener filter

test_signal_wiener

x_at_minmax

test_signal_x_at_minmax

x_at_y

test_signal_x_at_y

xy_mode

Simulate the X-Y mode of an oscilloscope

test_signal_xy_mode

y_at_x

test_signal_y_at_x

zero_padding

Compute zero padding

test_signal_zero_padding

Image Compute Functions#

The table below shows the validation status of image compute functions in DataLab. It is automatically generated from the source code.

Validation status of image compute functions#

Compute function

Description

Test function

absolute

Compute absolute value with numpy.absolute

test_image_absolute

add_gaussian_noise

Add Gaussian (normal) noise to the input image

test_image_add_gaussian_noise

add_poisson_noise

Add Poisson noise to the input image

test_image_add_poisson_noise

add_uniform_noise

Add uniform noise to the input image

test_image_add_uniform_noise

addition

Add images in the list and return the result image object

test_image_addition

addition_constant

Add dst and a constant value and return the new result image object

test_image_addition_constant

adjust_gamma

Gamma correction

test_adjust_gamma

adjust_log

Compute log correction

test_adjust_log

adjust_sigmoid

Compute sigmoid correction

test_adjust_sigmoid

arithmetic

Compute arithmetic operation on two images

test_image_arithmetic

astype

Convert image data type

test_image_astype

average

Compute the average of images in the list and return the result image object

test_image_average

average_profile

Compute horizontal or vertical average profile

test_average_profile

binning

Binning: image pixel binning (or aggregation)

test_binning

black_tophat

Compute Black Top-Hat

test_black_tophat

blob_dog

Compute blobs using Difference of Gaussian method

test_image_blob_dog

blob_doh

Compute blobs using Determinant of Hessian method

test_image_blob_doh

blob_log

Compute blobs using Laplacian of Gaussian method

test_image_blob_log

blob_opencv

Compute blobs using OpenCV

test_image_blob_opencv

butterworth

Compute Butterworth filter

test_butterworth

calibration

Compute polynomial calibration

test_image_calibration

canny

Compute Canny filter

test_canny

centroid

Compute centroid

test_image_centroid

clip

Apply clipping

test_image_clip

closing

Compute morphological closing

test_closing

complex_from_magnitude_phase

Combine magnitude and phase images into a complex image

test_image_complex_from_magnitude_phase

complex_from_real_imag

Combine two real images into a complex image using real + i * imag

test_image_complex_from_real_imag

contour_shape

Compute contour shape

test_contour_shape

convolution

Convolve an image with a kernel

test_image_convolution

deconvolution

Deconvolve a kernel from an image using Fast Fourier Transform (FFT)

test_image_deconvolution

denoise_bilateral

Compute bilateral filter denoising

test_denoise_bilateral

denoise_tophat

Denoise using White Top-Hat

test_denoise_tophat

denoise_tv

Compute Total Variation denoising

test_denoise_tv

denoise_wavelet

Compute Wavelet denoising

test_denoise_wavelet

difference

Compute difference between two images

test_image_difference

difference_constant

Subtract a constant value from an image and return the new result image object

test_image_difference_constant

dilation

Compute Dilation

test_dilation

division

Compute division between two images

test_image_division

division_constant

Divide an image by a constant value and return the new result image object

test_image_division_constant

enclosing_circle

Compute minimum enclosing circle

test_image_enclosing_circle

equalize_adapthist

Adaptive histogram equalization

test_equalize_adapthist

equalize_hist

Histogram equalization

test_equalize_hist

erase

Erase an area of the image using the mean value of the image

test_erase

erosion

Compute Erosion

test_erosion

exp

Compute exponential with numpy.exp

test_image_exp

extract_roi

Extract single ROI

test_image_extract_roi

extract_rois

Extract multiple regions of interest from data

test_image_extract_rois

farid

Compute Farid filter

test_farid

farid_h

Compute horizontal Farid filter

test_farid_h

farid_v

Compute vertical Farid filter

test_farid_v

fft

Compute FFT

test_image_fft

flatfield

Compute flat field correction

test_flatfield

fliph

Flip data horizontally

test_image_fliph

flipv

Flip data vertically

test_image_flipv

gaussian_filter

Compute gaussian filter

test_image_gaussian_filter

gaussian_freq_filter

Apply a Gaussian filter in the frequency domain

test_gaussian_freq_filter

histogram

Compute histogram of the image data,

test_image_histogram

horizontal_projection

Compute the sum of pixel intensities along each col. (projection on the x-axis)

test_image_horizontal_projection

hough_circle_peaks

Compute Hough circles

test_image_hough_circle_peaks

ifft

Compute inverse FFT

test_image_ifft

imag

Compute imaginary part

test_image_imag

inverse

Compute the inverse of an image and return the new result image object

test_image_inverse

laplace

Compute Laplace filter

test_laplace

line_profile

Compute horizontal or vertical profile

test_line_profile

log10

Compute log10 with numpy.log10

test_image_log10

log10_z_plus_n

Compute log10(z+n) with numpy.log10

test_image_log10_z_plus_n

magnitude_spectrum

Compute magnitude spectrum

test_image_magnitude_spectrum

moving_average

Compute moving average

test_image_moving_average

moving_median

Compute moving median

test_image_moving_median

normalize

test_image_normalize

offset_correction

Apply offset correction

test_image_offset_correction

opening

Compute morphological opening

test_opening

peak_detection

Compute 2D peak detection

test_image_peak_detection

phase

Compute the phase (argument) of a complex image

test_image_phase

phase_spectrum

Compute phase spectrum

test_image_phase_spectrum

prewitt

Compute Prewitt filter

test_prewitt

prewitt_h

Compute horizontal Prewitt filter

test_prewitt_h

prewitt_v

Compute vertical Prewitt filter

test_prewitt_v

product

Multiply images in the list and return the result image object

test_image_product

product_constant

Multiply dst by a constant value and return the new result image object

test_image_product_constant

psd

Compute power spectral density

test_image_psd

quadratic_difference

Compute quadratic difference between two images

test_image_quadratic_difference

radial_profile

Compute radial profile around the centroid

test_radial_profile

real

Compute real part

test_image_real

resampling

Resample image to new coordinate grid using interpolation

test_image_resampling

rescale_intensity

Rescale image intensity levels

test_rescale_intensity

resize

Zooming function

test_image_resize

roberts

Compute Roberts filter

test_roberts

rotate

Rotate data

test_image_rotate

rotate270

Rotate data 270°

test_image_rotate270

rotate90

Rotate data 90°

test_image_rotate90

scharr

Compute Scharr filter

test_scharr

scharr_h

Compute horizontal Scharr filter

test_scharr_h

scharr_v

Compute vertical Scharr filter

test_scharr_v

segment_profile

Compute segment profile

test_segment_profile

set_uniform_coords

Convert image to uniform coordinate system

test_set_uniform_coords

sobel

Compute Sobel filter

test_sobel

sobel_h

Compute horizontal Sobel filter

test_sobel_h

sobel_v

Compute vertical Sobel filter

test_sobel_v

standard_deviation

Compute the element-wise standard deviation of multiple images

test_image_standard_deviation

stats

Compute statistics on an image

test_image_stats_unit

threshold

Compute the threshold, using one of the available algorithms

test_threshold

threshold_isodata

Compute the threshold using the Isodata algorithm with default parameters

test_threshold_isodata

threshold_li

Compute the threshold using the Li algorithm with default parameters

test_threshold_li

threshold_mean

Compute the threshold using the Mean algorithm

test_threshold_mean

threshold_minimum

Compute the threshold using the Minimum algorithm with default parameters

test_threshold_minimum

threshold_otsu

Compute the threshold using the Otsu algorithm with default parameters

test_threshold_otsu

threshold_triangle

Compute the threshold using the Triangle algorithm with default parameters

test_threshold_triangle

threshold_yen

Compute the threshold using the Yen algorithm with default parameters

test_threshold_yen

translate

Translate data

test_image_translate

transpose

Transpose image

test_image_transpose

vertical_projection

Compute the sum of pixel intensities along each row (projection on the y-axis)

test_image_vertical_projection

white_tophat

Compute White Top-Hat

test_white_tophat

wiener

Compute Wiener filter

test_image_wiener

zero_padding

Zero-padding: add zeros to image borders

test_image_zero_padding