Skip to content

Open-source Platform for Scientific and Technical Data Processing and Visualization

License

Notifications You must be signed in to change notification settings

DataLab-Platform/DataLab

Repository files navigation

DataLab

pypi version PyPI status PyPI pyversions

ℹ️ Created by Codra/Pierre Raybaut in 2023, developed and maintained by DataLab open-source project team with the support of Codra.

DataLab

ℹ️ DataLab is powered by PlotPyStack 🚀.

PlotPyStack

ℹ️ DataLab is built on Python and scientific libraries.

Python NumPy SciPy scikit-image OpenCV PlotPyStack


Overview

DataLab is a generic signal and image processing software based on Python scientific libraries (such as NumPy, SciPy or scikit-image) and Qt graphical user interfaces (thanks to the powerful PlotPyStack - mostly the guidata and PlotPy libraries).

DataLab is available as a stand-alone application (see for example our all-in-one Windows installer) or as an addon to your Python-Qt application thanks to advanced automation and embedding features.

✨ Add features to DataLab by writing your own plugin (see plugin examples) or macro (see macro examples)

✨ DataLab may be remotely controlled from a third-party application (such as Jupyter, Spyder or any IDE):

  • Using the integrated remote control feature (this requires to install on your environment DataLab as a Python package and all its dependencies)

  • Using the lightweight DataLab Simple Client (pip install cdlclient)

See home page and documentation for more details on the library and changelog for recent history of changes.

💡About DataLab Windows installers:

  • DataLab Windows installer is available for Windows 8, 10 and 11 (main release, based on Python 3.11) and also for Windows 7 SP1 (Python 3.8 based release, see file ending with -Win7.exe).
  • ⚠️ On Windows 7 SP1, before running DataLab (or any other Python 3 application), you must install Microsoft Update KB2533623 (Windows6.1-KB2533623-x64.msu) and also may need to install Microsoft Visual C++ 2015-2022 Redistribuable package.

New in DataLab 0.9

New key features in DataLab 0.9:

  • New third-party plugin system to add your own features to DataLab
  • New process isolation feature to run computations safely in a separate process
  • New remote control features to interact with DataLab from Spyder, Jupyter or any IDE
  • New remote control features to run computations with DataLab from a third-party application
  • New data processing and visualization features (see details in changelog)
  • Fully automated high-level processing features for internal testing purpose, as well as embedding DataLab in a third-party software
  • Extensive test suite (unit tests and application tests) with >80% feature coverage

Credits

Copyrights and licensing:


Key features

Data visualization

Signal Image Feature
Screenshots (save, copy)
Z-axis Lin/log scales
Data table editing
Statistics on user-defined ROI
Markers
Aspect ratio (1:1, custom)
50+ available colormaps
X/Y raw/averaged profiles
User-defined annotations

1D-Peak detection

2D-Peak detection

Data processing

Signal Image Feature
Process isolation (for runnning computations)
Remote control from Jupyter, Spyder or any IDE
Remote control from a third-party application
Multiple ROI support
Sum, average, difference, product, ...
ROI extraction, Swap X/Y axes
Semi-automatic multi-peak detection
Rotation (flip, rotate), resize, ...
Flat-field correction
Normalize, derivative, integral
Linear calibration
Thresholding, clipping
Gaussian filter, Wiener filter
Moving average, moving median
FFT, inverse FFT
Interactive fit: Gauss, Lorenzt, Voigt, polynomial
Interactive multigaussian fit
Computing on custom ROI
FWHM, FW @ 1/e²
Centroid (robust method w/r noise)
Minimum enclosing circle center
Automatic 2D-peak detection
Automatic contour extraction (circle/ellipse fit)

Contour detection

Multi-gaussian fit


Installation

From the installer

DataLab is available as a stand-alone application, which does not require any Python distribution to be installed. Just run the installer and you're good to go!

The installer package is available in the Releases section.

Dependencies and other installation methods

See Installation section in the documentation for more details.