Skip to content

Releases: DataLab-Platform/DataLab

v1.0.0

16 Nov 14:36
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 1.0.0

This major release represents a significant milestone for DataLab with numerous enhancements across all areas. The changes are organized by category for easier navigation.

🎨 User Interface & Workflow

Menu reorganization:

  • New "Create" menu: Separated object creation functionality from the "File" menu, placed between "File" and "Edit" menus for clearer organization
    • All "File > New [...]" actions moved to "Create" menu
    • Migration note: Find signal/image creation actions in the new "Create" menu
  • New "ROI" menu: Dedicated menu for Region of Interest management, positioned between "Edit" and "Operations" menus
  • New "Annotations" submenu: Consolidated annotation operations in the "Edit" menu
  • New "Metadata" submenu: Grouped all metadata operations in the "Edit" menu

Interactive object editing:

  • Interactive object creation: Creation parameters can be modified after object creation via new "Creation" tab in properties panel
    • Apply changes without creating new objects, preserving subsequent processing
    • Available for parametric generators (Gaussian, sine, etc.)
  • Interactive 1-to-1 processing: Processing parameters can be adjusted and reapplied via new "Processing" tab
    • Update result objects in-place with modified parameters
    • Only for parametric operations (filters, morphology, etc.)
  • Recompute feature: New "Recompute" action (Ctrl+R) to quickly reprocess objects with stored parameters
    • Works with single or multiple objects
    • Automatically updates results when source data changes
  • Automatic ROI analysis update: Analysis results automatically recalculate when ROI is modified
    • Works for all analysis operations (statistics, centroid, etc.)
    • Silent background recomputation for immediate feedback
  • Select source objects: Navigate to source objects used in processing via new "Edit" menu action
    • Handles all processing patterns (1-to-1, 2-to-1, n-to-1)
    • Shows informative messages if sources no longer exist
  • Processing history: New "History" tab displays object processing lineage as hierarchical tree
    • Shows complete processing chain from creation to current state
    • Selectable text for documentation purposes

Multi-object property editing:

  • Apply property changes to multiple selected objects simultaneously
  • Only modified properties are applied, preserving unchanged individual settings
  • Typical use case: Adjust LUT boundaries or colormap for multiple images at once

Dialog sizing improvements:

  • Processing dialogs now intelligently resize based on main window size
  • Never exceed main window dimensions for better user experience

Internal console indicator:

  • Status bar indicator shows console status when hidden
  • Turns red on errors/warnings to alert users
  • Click to open console

🎬 New Object Creation Features

Parametric signal generators:

  • Linear chirp, logistic function, Planck function
  • Generate signals with Poisson noise

Parametric image generators:

  • Checkerboard: Calibration pattern with configurable square size and light/dark values
  • Sinusoidal grating: Frequency response testing with independent X/Y spatial frequencies
  • Ring pattern: Concentric circular rings for radial analysis and PSF testing
  • Siemens star: Resolution testing with radial spokes and configurable radius
  • 2D sinc: Cardinal sine function for PSF modeling and diffraction simulation
  • 2D ramp: New ramp image generator
  • Poisson noise: Generate images with Poisson noise distribution

Signal/image creation from operations:

  • Create complex-valued signal/image from real and imaginary parts
  • Create complex-valued signal/image from magnitude and phase (closes Issue #216)
  • Extract phase (argument) information from complex signals or images

🔬 Data Processing & Analysis

Signal processing:

  • Enhanced curve fitting: Significantly improved parameter estimation for all curve types (Gaussian, Lorentzian, Voigt, exponential, sinusoidal, Planckian, asymmetric peaks, CDF)
    • Smarter initial parameter guesses for robust convergence
    • Locked parameter support: Lock individual parameters during optimization (requires PlotPy v2.8.0)
  • X-array compatibility checking: Comprehensive validation for multi-signal operations with automatic interpolation options
    • New configuration setting: Ask user or interpolate automatically
    • Prevents unexpected results from incompatible signal arrays
  • Zero padding enhancements: Support for prepending and appending zeros, default strategy now "Next power of 2"
  • Ideal frequency domain filter: "Brick wall filter" for signals (closes Issue #215)
  • Bandwidth at -3dB: Enhanced to support passband bandwidth
  • Pulse features extraction: Comprehensive pulse analysis for step and square signals
    • Automated shape recognition and polarity detection
    • Measures amplitude, rise/fall time, FWHM, timing parameters, baseline ranges
  • Frequency domain filters: Deconvolution and Gaussian filter (closes Issue #189, Issue #205)
  • Coordinate transformations: Convert to Cartesian/polar coordinates
  • X-Y mode: Simulate oscilloscope X-Y mode (plot one signal vs. another)
  • Find operations: First abscissa at y=..., ordinate at x=..., full width at y=...
  • 1/x operation: Reciprocal operation with NaN handling for zero denominators

Image processing:

  • 2D resampling: Resample images to new coordinate grids with multiple interpolation methods (closes Issue #208)
  • Convolution: 2D convolution operation
  • Erase area: Erase image areas defined by ROI (closes Issue #204)
  • Horizontal/vertical projections: Sum of pixels along axes (closes Issue #209)
  • Improved centroid computation: More accurate in challenging cases (truncated/asymmetric images) (see Issue #251)
  • Flip diagonally: New geometric transformation
  • 1/x operation: Reciprocal operation for images

Cross-panel operations:

  • Signals to image conversion: Combine multiple signals into 2D images
    • Two orientation modes: as rows (spectrograms) or columns (waterfall displays)
    • Optional normalization (Z-score, Min-Max, Maximum)
    • Typical use cases: heatmaps, spectrograms, multi-channel data visualization

Common features:

  • Standard deviation: Calculate across multiple signals/images (closes Issue #196)
  • Add noise: Add Gaussian, Poisson, or uniform noise (closes Issue #201)
  • Add metadata: Add custom metadata with pattern support ({title}, {index}, etc.) and type conversion

📐 ROI & Annotation Management

ROI features:

  • ROI clipboard operations: Copy/paste ROIs between objects
  • ROI import/export: Save/load ROIs as JSON files
  • Individual ROI removal: Remove ROIs selectively via "Remove" submenu
  • ROI title editing: Set titles during interactive creation and in confirmation dialog
  • Create ROI grid: Generate grid of ROIs with configurable rows, columns, and spacing
    • Import/export grid configurations
    • Preview before creation
  • Inverse ROI logic: Select area outside defined shapes (images only)
  • Coordinate-based ROI creation: Manual input of coordinates for rectangular and circular ROIs
  • Multi-object ROI editing: Edit ROIs on multiple objects simultaneously

Annotation features:

  • Annotation clipboard: Copy/paste annotations between objects
  • Edit annotations: Interactive editor dialog with PlotPy tools
  • Import/export annotations: Save/load as .dlabann JSON files with versioning
  • Delete annotations: Remove from single or multiple objects with confirmation
  • Annotations independent from ROI: Can coexist on same object

Detection with ROI creation:

  • All 7 detection algorithms now support automatic ROI creation:
    • Peak detection, contour shape, blob detection (DOG/DOH/LOG/OpenCV), Hough circle
  • ROI geometry choice: Rectangular or circular ROIs
  • 2D peak detection: Option to choose ROI geometry (closes related requirements)

📊 Visualization & Display

Performance & display limits:

  • Configurable result display limits: Prevent UI freezing with large result sets
    • max_shapes_to_draw (default: 1,000), max_cells_in_label (default: 100), max_cols_in_label (default: 15)
    • Settings documented with performance implications
  • Faster contour rendering: Over 5x performance improvement for contour display
  • Signal rendering optimization: Smart linewidth clamping for large datasets
    • New setting: "Line width performance threshold" (default: 1,000 points)
    • Prevents 10x slowdown from Qt raster engine limitation

Result visualization:

  • Merged result labels: All analysis results consolidated in single read-only label
    • Reduces visual clutter, auto-updates, horizontally divided results
  • Result label visibility control: Toggle visibility via Properties panel checkbox
    • Default visibility configurable in Settings
  • Results group organization: Plot results automatically org...
Read more

v0.20.1

15 Jul 16:59

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.20.1

🛠️ Bug fixes:

  • Fixed Issue #233 - Hard crash when trying to activate the curve stats tool on a zero signal
  • Fixed Issue #184 - Curve marker style unexpectedly changes to "Square" after validating "Parameters…" dialog
  • Fixed Issue #117 - DataLab's signal moving median crashes on Linux with mode='mirror': free(): invalid next size (normal) (this is a bug in SciPy v1.15.0 to v1.15.2, which was fixed in SciPy v1.15.3)
  • Fixed Issue #186 - Image text files with a comma as decimal separator cannot be opened directly (only the Import Wizard does support this)
  • Fixed Issue #238 - Image text files with a trailing delimiter leads to data with a superfluous column when opened directly (does not happen in the Import Wizard)
  • Fixed Issue #239 - Text Import Wizard does not preserve user-defined titles and units
  • Fixed Issue #240 - Text Import Wizard does not preserve user-defined data type (e.g. int16, float32, etc.)
  • Fixed Issue #235 - Text Import Wizard: add support for importing signal files with integer values
  • Fixed Issue #236 - Text Import Wizard: add support for .mca files
  • Fixed Issue #243 - View in a new window (image): intensity profile tools are sometimes disabled (fixed in PlotPy v2.7.5)

v0.20.0

29 Apr 05:20

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.20.0

💥 New features and enhancements:

  • ANDOR SIF Images:
    • Added support for background images in ANDOR SIF files
    • This closes Issue #178 - Add support for ANDOR SIF files with background image
  • Array editor (results, signal and image data, ...):
    • New "Copy all" button in the array editor dialog box, to copy all the data in the clipboard, including row and column headers
    • New "Export" button in the array editor dialog box, to export the data in a CSV file, including row and column headers
    • New "Paste" button in the array editor dialog box, to paste the data from the clipboard into the array editor (this feature is not available for read-only data, such as analysis results)
    • The features above require guidata v3.9.0 or later
    • This closes Issue #174, Issue #175 and Issue #176
  • Fourier analysis features ("Processing" menu):
    • New "Zero padding" feature
    • Implementation for signals:
      • Choose a zero padding strategy (Next power of 2, Double the length, Triple the length, Custom length)
      • Or manually set the zero padding length (if "Custom length" is selected)
    • Implementation for images:
      • Choose a zero padding strategy (Next power of 2, Next multiple of 64, Custom length)
      • Or manually set the zero padding row and column lengths (if "Custom length" is selected)
      • Set the position of the zero padding (bottom-right, centered)
    • This closes Issue #170 - Fourier analysis: add zero padding feature for signals and images
  • Region of Interest (ROI) editor:
    • This concerns the "Edit Regions of Interest" feature for both signals and images
    • New behavior:
      • Signals: the range ROI selection tool is now active by default, and the user can select right away the range of the signal to be used as a ROI
      • Images: the rectangular ROI selection tool is now active by default, and the user can select right away the rectangular ROI to be used as a ROI
      • This closes Issue #154 - ROI editor: activate ROI selection tool by default, so that the user can select right away the area to be used as a ROI
    • Added the "Select tool" to editor's toolbar, to allow the user to switch between the "Select" and "Draw" tools easily without having to use the plot toolbar on the top of the window
  • Signal processing features ("Processing" menu):
    • New "X-Y mode" feature: this feature simulates the behavior of the X-Y mode of an oscilloscope, i.e. it allows to plot one signal as a function of another signal (e.g. X as a function of Y)
    • New abscissa and ordinate find features:
      • "First abscissa at y=..." feature: this feature allows to find the first abscissa value of a signal at a given y value (e.g. the abscissa value of a signal at y=0)
      • "Ordinate at x=..." feature: this feature allows to find the ordinate value of a signal at a given x value (e.g. the ordinate value of a signal at x=0)
      • Each feature has its own dialog box, which allows to set the y or x value to be used for the search with a slider or a text box
      • This closes Issue #125 and Issue #126
    • New full width at given y feature:
      • The "Full width at y=..." feature allows to find the full width of a signal at a given y value (e.g. the full width of a signal at y=0)
      • A specific dialog box allows to set the y value to be used for the search with a slider or a text box
      • This closes Issue #127
  • Public API (local or remote):
    • Add group_id and set_current arguments to add_signal, add_image and add_object methods:
      • This concerns the LocalProxy, AbstractCDLControl, RemoteClient, RemoteServer and CDLMainWindow classes
      • group_id argument allows to specify the group ID where the signal or image should be added (if not specified, the signal or image is added to the current group)
      • set_current argument allows to specify if the signal or image should be set as current after being added (default is True)
      • This closes Issue #151 - Public API: add a keyword group_id to add_signal and add_image

v0.19.2

28 Apr 12:38

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.19.2

🛠️ Bug fixes:

  • Fixed Issue #172 - Image profiles: when moving/resizing image, profile plots are not refreshed (fixed in PlotPy v2.7.4)
  • Fixed Issue #173 - Phase spectrum: add unit (degree) and function reference (numpy.angle) to the documentation
  • Fixed Issue #177 - "Open from directory" feature: unexpected group name (a group named "." is created instead of the root folder name)
  • Fixed Issue #169 - Signal / Fourier analysis: magnitude spectrum feature does not work as expected with logarithmic scale enabled
  • Fixed Issue #168 - Average profile visualization: empty profile is displayed when the target rectangular area is outside the image area (this has been fixed upstream, in PlotPy v2.7.4, and so requires the latest version of PlotPy)

v0.19.1

08 Apr 10:38

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.19.1

🛠️ Bug fixes:

  • Pairwise operation mode:
    • Fixed an unexpected behavior when using the pairwise operation mode with functions that take a single second operand (e.g. for images: difference, division, arithmetic operations, and flatfield correction)
    • If only one set of operands was selected in a single group, a warning message was displayed "In pairwise mode, you need to select objects in at least two groups.", which is correct for functions that are symmetric (e.g. addition, multiplication, etc.), but not for functions that are not symmetric (e.g. difference, division, etc.).
    • This is now fixed: the warning message is only displayed for functions that are symmetric (e.g. addition, multiplication, etc.).
    • This closes Issue #157 - Pairwise operation mode: unexpected behavior with functions that take a single second operand
  • Fixed Issue #152 - Ignore nan values for image normalization, flatfield correction, offset correction, and centroid computation
  • Fixed Issue #153 - Ignore nan values for signal normalization and statistics computations (both analysis result and interactive tool)
  • Fixed Issue #158 - When editing ROI of a list of images, the first image of the selection is shown (instead of the last as in the image panel)
  • Fixed Issue #159 - When selecting multiple images just after opening an HDF5 file, the "View in a new window" feature does not work (KeyError exception)
  • Fixed Issue #160 - When selecting multiple images and clearing ROI in ROI editor, only the first image is affected
  • Fixed Issue #161 - Refresh image items only if necessary (when editing ROI, pasting/deleting metadata)
  • Fixed Issue #162 - View in a new window: when displaying multiple images, the item list panel should be visible
  • Fixed Issue #163 - Open from directory: expected one group per folder when loading multiple files
  • Fixed Issue #164 - Open from directory: unsupported files should be ignored when loading files recursively, to avoid warning popup dialog boxes
  • Fixed Issue #165 - When opening a file, the default signal/image title must be set to the file name, instead of the relative path to the file name

v0.19.0

31 Mar 11:32

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.19.0

💥 New features and enhancements:

  • Image operation features ("Operations" menu):
    • Renamed "Rotation" submenu to "Flip or rotation"
    • New "Flip diagonally" feature
  • Signal processing features ("Processing" menu):
    • New "Convert to Cartesian coordinates" feature
    • New "Convert to polar coordinates" feature
  • Signal analysis features ("Analysis" menu):
    • Renamed "X values at min/max" to "Abscissa of the minimum and maximum"
    • New "Abscissa at y=..." feature
  • New "Open from directory" feature:
    • This feature allows to open multiple files from a directory at once, recursively (only the files with the supported extensions by the current panel are opened)
    • Add "Open from directory" action to the "File" menu for both Signal and Image panels
    • Add support for folders when dropping files in the Signal and Image panels
  • Add 1/x operation to the "Operations" menu for both Signal and Image panels:
    • This feature relies on the numpy.reciprocal function, and handles the case where the denominator is zero by catching warnings and replacing the np.inf values with np.nan values
    • Add compute_inverse method for image and signal processors
    • This closes Issue #143 - New feature: 1/x for signals and images
  • Public API (local or remote):
    • Add add_group method with title and select arguments to create a new group in a data panel (e.g. Signal or Image panel) and eventually select it after creation:
      • Method was added to the following classes: AbstractCDLControl, BaseDataPanel and RemoteClient
      • This closes the following issues:
        • Issue #131 - BaseDataPanel.add_group: add select argument
        • Issue #47 - Remote proxy / Public API: add add_group method
    • AbstractCDLControl.get_object_uuids: add an optional group argument (group ID, title or number) to eventually filter the objects by group (this closes Issue #130)
  • When opening an HDF5 file, the confirmation dialog box asking if current workspace should be cleared has a new possible answer "Ignore":
    • Choosing "Ignore" will prevent the confirmation dialog box from being displayed again, and will choose the current setting (i.e. clear or not the workspace) for all subsequent file openings
    • Added a new "Clear workspace before loading HDF5 file" option in the "Settings" dialog box, to allow the user to change the current setting (i.e. clear or not the workspace) for all subsequent file openings
    • Added a new "Ask before clearing workspace" option in the "Settings" dialog box, to allow the user to disable or re-enable the confirmation dialog box asking if current workspace should be cleared when opening an HDF5 file
    • This closes Issue #146 - Ask before clearing workspace when opening HDF5 file: add "Ignore" option to prevent dialog from being displayed again
  • Object and group title renaming:
    • Removed "Rename group" feature from the "Edit" menu and context menu
    • Added "Rename object" feature to the "Edit" menu and context menu, with F2 shortcut, to rename the title of the selected object or group
    • This closes Issue #148 - Rename signal/image/group title by pressing F2
  • Region of Interest editor:
    • Regrouped the graphical actions (new rectangular ROI, new circular ROI, new polygonal ROI) in a single menu "Graphical ROI"
    • Added new "Coordinate-based ROI" menu to create a ROI using manual input of the coordinates:
      • For signals, the ROI is defined by the start and end coordinates
      • For images:
        • The rectangular ROI is defined by the top-left and bottom-right coordinates
        • The circular ROI is defined by the center and radius coordinates
        • The polygonal ROI is not supported yet
      • This closes Issue #145 - ROI editor: add manual input of the coordinates

🛠️ Bug fixes:

  • Fixed Issue #141 - Image analysis: mask nan values when computing statistics, for example
  • Fixed Issue #144 - Average profile extraction: ValueError when selection rectangle is larger than the image

v0.18.2

17 Mar 08:39

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.18.2

ℹ️ General information:

  • Python 3.13 is now supported, since the availability of the scikit-image V0.25 (see Issue #104 - Python 3.13: KeyError: 'area_bbox')

💥 Enhancements:

  • Added new "Keep results after computation" option in "Processing" section:
    • Before this change, when applying a processing feature (e.g. a filter, a threshold, etc.) on a signal or an image, the analysis results were removed from the object
    • This new option allows to keep the analysis results after applying a processing feature on a signal or an image. Even if the analysis results are not updated, they might be relevant in some use cases (e.g. when using the 2D peak detection feature on an image, and then applying a filter on the image, or summing two images, etc.)

🛠️ Bug fixes:

  • Fixed Issue #138 - Image colormaps were no longer stored in metadata (and serialized in HDF5 files) since PlotPy v2.6.3 (this commit, specifically: PlotPyStack/PlotPy@a37af8a)
  • Fixed Issue #137 - Arithmetic operations and signal interpolation: dialog box with parameters is not displayed
  • Fixed Issue #136 - When processing a signal or an image, the analysis result is kept from original object
    • Before this fix, when processing a signal or an image (e.g. when applying a filter, a threshold, etc.), the analysis result was kept from the original object, and was not updated with the new data. Thus the analysis result was not meaningful anymore, and was misleading the user.
    • This is now fixed: the analysis result is now removed when processing a signal or an image. However it is not recalculated automatically, because there is no way to know which analysis result should be recalculated (e.g. if the user has applied a filter, should the FWHM be recalculated?) - besides, the current implementation of the analysis features does not allow to recalculate the analysis results automatically when the data is modified. The user has to recalculate the analysis results manually if needed.
  • Fixed Issue #132 - Plot analysis results: "One curve per result title" mode ignores ROIs
    • Before this fix, the "One curve per result title" mode was ignoring ROIs, and was plotting the selected result for all objects (signals or images) without taking into account the ROI defined on the objects
    • This is now fixed: the "One curve per result title" mode now takes into account the ROI defined on the objects, and plots the selected result for each object (signal or image) and for each ROI defined on the object
  • Fixed Issue #128 - Support long object titles in Signal and Image panels
  • Fixed Issue #133 - Remove specific analysis results from metadata clipboard during copy operation
  • Fixed Issue #135 - Allow to edit ROI on multiple signals or images at once
    • Before this fix, the ROI editor was disabled when multiple signals or images were selected
    • This is now fixed: the ROI editor is now enabled when multiple signals or images are selected, and the ROI is applied to all selected signals or images (only the ROI of the first selected signal or image is taken into account)
    • This new behavior is consistent with the ROI extraction feature, which allows to extract the ROI on multiple signals or images at once, based on the ROI defined on the first selected signal or image
  • Image ROI features:
    • Fixed Issue #120 - ROI extraction on multiple images: defined ROI should not be saved in the first selected object. The design choice is to save the defined ROI neither in the first nor in any of the selected objects: the ROI is only used for the extraction, and is not saved in any object
    • Fixed Issue #121 - AttributeError when extracting multiple ROIs on a single image, if more than one image is selected
    • Fixed Issue #122 - Image masks are not refreshed when removing metadata except for the active image
    • Fixed Issue #123 - Image masks are not refreshed when pasting metadata on multiple images, except for the last image
  • Text and CSV files:
    • Enhance text file reading by detecting data headers (using a list of typical headers from scientific instruments) and by allowing to skip the header when reading the file
    • Ignore encoding errors when reading files in both open feature and import wizard, hence allowing to read files with special characters without raising an exception
    • Fixed Issue #124 - Text files: support locale decimal separator (different than .)
  • Signal analysis features: fixed duplicate results when no ROI is defined
  • Fixed Issue #113 - Call to RemoteClient.open_h5_files (and import_h5_file) fails without passing the optional arguments
  • Fixed Issue #116 - KeyError exception when trying to remove a group after opening an HDF5 file

v0.18.1

13 Dec 16:51

Choose a tag to compare

See DataLab roadmap page for future and past milestones.

DataLab Version 0.18.1

💥 Enhancements:

  • FWHM computation now raises an exception when less than two points are found with zero-crossing method
  • Improved result validation for array-like results by checking the data type of the result

🛠️ Bug fixes:

  • Fixed Issue #106 - Analysis: coordinate shifted results on images with ROIs and shifted origin
  • Fixed Issue #107 - Wrong indices when extracting a profile from an image with a ROI
  • Fixed Issue #111 - Proxy add_object method does not support signal/image metadata (e.g. ROI)
  • Test data plugin / "Create 2D noisy gauss image": fixed amplitude calculation in cdl.tests.data.create_2d_random for non-integer data types

📚 Documentation:

  • Fixed path separators in plugin directory documentation
  • Corrected left and right area descriptions in workspace documentation
  • Updated Google style link in contributing guidelines
  • Fixed various French translations in the documentation

v0.18.0

14 Nov 17:49

Choose a tag to compare

DataLab is available on all platforms:

ℹ️ General information:

  • PlotPy v2.7 is required for this release.
  • Dropped support for Python 3.8.
  • Python 3.13 is not supported yet, due to the fact that some dependencies are not compatible with this version.

💥 New features and enhancements:

  • New operation mode feature:

    • Added "Operation mode" feature to the "Processing" tab in the "Settings" dialog box
    • This feature allows to choose between "single" and "pairwise" operation modes for all basic operations (addition, subtraction, multiplication, division, etc.):
      • "Single" mode: single operand mode (default mode: the operation is done on each object independently)
      • "Pairwise" mode: pairwise operand mode (the operation is done on each pair of objects)
    • This applies to both signals and images, and to computations taking N inputs
    • Computations taking N inputs are the ones where:
      • N(>=2) objects in give N objects out
      • N(>=1) object(s) + 1 object in give N objects out
  • New ROI (Region Of Interest) features:

    • New polygonal ROI feature
    • Complete redesign of the ROI editor user interfaces, improving ergonomics and consistency with the rest of the application
    • Major internal refactoring of the ROI system to make it more robust (more tests) and easier to maintain
  • Implemented Issue #102 - Launch DataLab using datalab instead of cdl. Note that the cdl command is still available for backward compatibility.

  • Implemented Issue #101 - Configuration: set default image interpolation to anti-aliasing (5 instead of 0 for nearest). This change is motivated by the fact that a performance improvement was made in PlotPy v2.7 on Windows, which allows to use anti-aliasing interpolation by default without a significant performance impact.

  • Implemented Issue #100 - Use the same installer and executable on Windows 7 SP1, 8, 10, 11. Before this change, a specific installer was required for Windows 7 SP1, due to the fact that Python 3.9 and later versions are not supported on this platform. A workaround was implemented to make DataLab work on Windows 7 SP1 with Python 3.9.

🛠️ Bug fixes:

  • Fixed Issue #103 - proxy.add_annotations_from_items: circle shape color seems to be ignored.

v0.17.1

01 Oct 18:27

Choose a tag to compare

DataLab is available on all platforms:

ℹ️ PlotPy v2.6.2 is required for this release.

💥 New features and enhancements:

  • Image View:
    • Before this release, when selecting a high number of images (e.g. when selecting a group of images), the application was very slow because all the images were displayed in the image view, even if they were all superimposed on the same image
    • The workaround was to enable the "Show first only" option
    • Now, to improve performance, if multiple images are selected, only the last image of the selection is displayed in the image view if this last image has no transparency and if the other images are completely covered by this last image
  • Clarification: action "Show first only" was renamed to "Show first object only", and a new icon was added to the action
  • API: added width and height properties to ImageObj class (returns the width and height of the image in physical units)
  • Windows launcher "start.pyw": writing a log file "datalab_error.log" when an exception occurs at startup

🛠️ Bug fixes:

  • Changing the color theme now correctly updates all DataLab's user interface components without the need to restart the application

ℹ️ Other changes:

  • OpenCV is now an optional dependency:
    • This change is motivated by the fact that the OpenCV conda package is not maintained on Windows (at least), which leads to an error when installing DataLab with conda
    • When OpenCV is not installed, only the "OpenCV blob detection" feature won't work, and a warning message will be displayed when trying to use this feature