Use cases, main features and key strengths#

DataLab is a platform for data processing and visualization (signals or images) that includes many functions. Developed in Python, it benefits from the richness of the associated ecosystem in terms of scientific and technical libraries.

What are the applications for Datalab?#

Real world examples#

A few concrete and specific examples illustrate the nature of the work that can be carried out with DataLab:

  • Processing of experimental data (signals and images) acquired on a scientific facility in the nuclear field

  • Processing of data acquired by a sensor in an industrial context

  • Processing of images acquired by a camera in a medical context

  • Automatic detection of defects on a surface, in the context of quality control

  • Automatic detection of laser spots on a target, in the context of laser alignment

  • Instrument alignment through image processing

  • Automatic pattern detection on images and geometric correction of the images, in the context of non destructive testing

Usage modes#

Depending on the application, DataLab can be used in three different modes:

  • Stand-alone mode: DataLab is a full-fledged processing application that can be adapted to the client’s needs through the addition of industry-specific plugins.

  • Embedded mode: DataLab is integrated into your application to provide the necessary processing and visualization features.

  • Remote-controlled mode: DataLab communicates with your application, allowing it to benefit from its functionality without disrupting the user experience.

Use cases#

See also

For practical examples of use cases, see the Tutorials section:

  • Most of the tutorials are describing concrete examples of use of DataLab in a scientific or technical context.

  • Regarding the use of DataLab with an IDE (Integrated Development Environment) such as Visual Studio Code or Spyder, see the tutorial DataLab and Spyder: a perfect match.

  • As for the use of DataLab with Jupyter notebooks, that is one of the topics covered in the tutorial Add your own features.

DataLab is a versatile tool that can be used in different contexts:

Data processing

DataLab is a powerful tool for processing signals and images. It can be used to develop complex algorithms, or to quickly prototype a processing chain.

See our Tutorials for practical examples of use in data processing.

Companion tool for scientific/technical work

DataLab can be used as a companion tool for scientific/technical work. It allows you to visualize and process data, and to share your results with your colleagues. It can easily be adapted to your needs through the addition of plugins, and it may even be used together with your every day tools (e.g., Visual Studio Code, Spyder, … or Jupyter notebooks).

See our Tutorials for practical examples of use in a scientific/technical context.

Prototyping a data processing application

DataLab can be used to quickly prototype a data processing application. It can then be used as a basis for the development of a full-fledged application.

See the tutorial Prototyping a custom processing pipeline for a concrete example.

Debugging a data processing application

DataLab can be used as an advanced debugging tool for your data processing applications, independently from the development environment or the language used (Python, C#, C++, …). All you need is to be able to communicate with DataLab via its remote control interface (standard XML-RPC protocol). This allows you to send data to DataLab (signals, images or even geometric shapes), visualize the data at each step of the processing chain, manipulate them to better understand the behavior of your algorithms, and even modify them to test the robustness of your code.

See the tutorial Debugging your algorithm with DataLab for a quick overview of this feature.

Note

DataLab can also be controlled from your familiar development environment (e.g., Visual Studio Code, Spyder, …) or from a Jupyter notebook, in order to perform calculations using your processing functions while leveraging the advanced features of DataLab. See the tutorials Prototyping a custom processing pipeline or DataLab and Spyder: a perfect match for examples of use.

With its user-friendly experience and versatile usage modes, DataLab enables efficient development of your data processing and visualization applications while benefiting from an industrial-grade technological platform.

Main features#

The main technical features of DataLab include:

  • Support for numerous standard and proprietary data formats

  • Opening an arbitrary number of objects (signals or images) for batch processing, with the possibility of defining groups of objects

  • Simultaneous viewing of multiple objects with annotation support

  • Standard operations and processing on signals and images

  • Advanced image processing (restoration, morphology, edge detection, etc.)

  • Management of multiple regions of interest (calculations, extractions)

  • Macro-command editor

  • Remote-controllable API

  • Embedded interactive Python console

Key strengths#

To summarize, the four key strengths of DataLab are:

Extensibility

The DataLab plugin system makes it easy to code new features (specific processing, specific file formats, custom graphical interfaces). It can also be used as a customizable platform.

Interoperability

DataLab can also be embedded in your own application. For example, within data processing software, machine-level control systems, or test bench applications.

Automation

A high-level public API allows for full remote control of DataLab to open and process data.

Maintainability and testability

DataLab is an industrial-grade scientific and technical processing software. The built-in automated tests in DataLab cover 90% of its features, which is significant for software with graphical interfaces and helps mitigate regression risks. Moreover, the test suite includes validation tests based either on ground truth data or analytical solutions.

See also

See section Validation for more information on DataLab’s validation strategy.