v0.10.1
DataLab Version 0.10.1
💡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 UpdateKB2533623(Windows6.1-KB2533623-x64.msu) and also may need to install Microsoft Visual C++ 2015-2022 Redistribuable package.
💥 New features:
- Features common to signals and images:
- Added "Real part" and "Imaginary part" features to "Operation" menu
- Added "Convert data type" feature to "Operation" menu
- Features added following user requests (12/18/2023 meetup @ CEA):
- Curve and image styles are now saved in the HDF5 file:
- Curve style covers the following properties: color, line style, line width,
marker style, marker size, marker edge color, marker face color, etc. - Image style covers the following properties: colormap, interpolation, etc.
- Those properties were already persistent during the working session, but
were lost when saving and reloading the HDF5 file - Now, those properties are saved in the HDF5 file and are restored when
reloading the HDF5 file
- Curve style covers the following properties: color, line style, line width,
- New profile extraction features for images:
- Added "Extract profile" to "Operations" menu, to extract a profile from
an image along a row or a column - Added "Extract average profile" to "Operations" menu, to extract the
average profile on a rectangular area of an image, along a row or a column
- Added "Extract profile" to "Operations" menu, to extract a profile from
- Image LUT range (contrast/brightness settings) is now saved in the HDF5 file:
- As for curve and image styles, the LUT range was already persistent during
the working session, but was lost when saving and reloading the HDF5 file - Now, the LUT range is saved in the HDF5 file and is restored when reloading it
- As for curve and image styles, the LUT range was already persistent during
- Added "Auto-refresh" and "Refresh manually" actions in "View" menu
(and main toolbar):- When "Auto-refresh" is enabled (default), the plot view is automatically refreshed
when a signal/image is modified, added or removed. Even though the refresh is
optimized, this may lead to performance issues when working with large
datasets. - When disabled, the plot view is not automatically refreshed. The user
must manually refresh the plot view by clicking on the "Refresh manually" button
in the main toolbar or by pressing the standard refresh key (e.g. "F5").
- When "Auto-refresh" is enabled (default), the plot view is automatically refreshed
- Added
toggle_auto_refreshmethod to DataLab proxy object:- This method allows to toggle the "Auto-refresh" feature from a macro-command,
a plugin or a remote control client. - A context manager
context_no_refreshis also available to temporarily disable
the "Auto-refresh" feature from a macro-command, a plugin or a remote control
client. Typical usage:with proxy.context_no_refresh(): # Do something without refreshing the plot view proxy.compute_fft() # (...)
- This method allows to toggle the "Auto-refresh" feature from a macro-command,
- Improved curve readability:
- Until this release, the curve style was automatically set by cycling through
PlotPy predefined styles - However, some styles are not suitable for curve readability (e.g. "cyan" and
"yellow" colors are not readable on a white background, especially when combined
with a "dashed" line style) - This release introduces a new curve style management with colors which are
distinguishable and accessible, even to color vision deficiency people
- Until this release, the curve style was automatically set by cycling through
- Curve and image styles are now saved in the HDF5 file:
- Added "Curve anti-aliasing" feature to "View" menu (and toolbar):
- This feature allows to enable/disable curve anti-aliasing (default: enabled)
- When enabled, the curve rendering is smoother but may lead to performance issues
when working with large datasets (that's why it can be disabled)
- Added
toggle_show_titlesmethod to DataLab proxy object. This method allows to
toggle the "Show graphical object titles" feature from a macro-command, a plugin
or a remote control client. - Remote client is now checking the server version and shows a warning message if
the server version may not be fully compatible with the client version.
🛠️ Bug fixes:
- Image contour detection feature ("Computing" menu):
- The contour detection feature was not taking into account the "shape" parameter
(circle, ellipse, polygon) when computing the contours. The parameter was stored
but really used only when calling the feature a second time. - This unintentional behavior led to an
AssertionErrorwhen choosing "polygon"
as the contour shape and trying to compute the contours for the first time. - This is now fixed (see Issue #9 - Image contour detection:
AssertionErrorwhen choosing "polygon" as the contour shape)
- The contour detection feature was not taking into account the "shape" parameter
- Keyboard shortcuts:
- The keyboard shortcuts for "New", "Open", "Save", "Duplicate", "Remove",
"Delete all" and "Refresh manually" actions were not working properly. - Those shortcuts were specific to each signal/image panel, and were working only
when the panel on which the shortcut was pressed for the first time was active
(when activated from another panel, the shortcut was not working and a warning
message was displayed in the console,
e.g.QAction::event: Ambiguous shortcut overload: Ctrl+C) - Besides, the shortcuts were not working at startup (when no panel had focus).
- This is now fixed: the shortcuts are now working whatever the active panel is,
and even at startup (see Issue #10 - Keyboard shortcuts not working properly:QAction::event: Ambiguous shortcut overload: Ctrl+C)
- The keyboard shortcuts for "New", "Open", "Save", "Duplicate", "Remove",
- "Show graphical object titles" and "Auto-refresh" actions were not working properly:
- The "Show graphical object titles" and "Auto-refresh" actions were only working on
the active signal/image panel, and not on all panels. - This is now fixed (see Issue #11 - "Show graphical object titles" and "Auto-refresh" actions were working only on current signal/image panel)
- The "Show graphical object titles" and "Auto-refresh" actions were only working on
- Fixed Issue #14 - Saving/Reopening HDF5 project without cleaning-up leads to
ValueError - Fixed Issue #15 - MacOS: 1.
pip install cdlerror - 2. Missing menus:- Part 1:
pip install cdlerror on MacOS was actually a PlotPy issue
(PlotPyStack/PlotPy#9), and was fixed in PlotPy v2.0.3
with an additional compilation flag indicating to use C++11 standard - Part 2: Missing menus on MacOS was due to a PyQt/MacOS bug regarding dynamic menus
- Part 1:
- HDF5 file format: when importing an HDF5 dataset as a signal or an image, the
dataset attributes were systematically copied to signal/image metadata: we now
only copy the attributes which match standard data types (integers, floats, strings)
to avoid errors when serializing/deserializing the signal/image object - Installation/configuration viewer: improved readability (removed syntax highlighting)
- PyInstaller specification file: added missing
skimagedata files manually in order
to continue supporting Python 3.8 (see Issue #12 - Stand-alone version on Windows 7: missingapi-ms-win-core-path-l1-1-0.dll) - Fixed Issue #13 - ArchLinux:
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found
DataLab Version 0.9.2
🛠️ Bug fixes:
- Region of interest (ROI) extraction feature for images:
- ROI extraction was not working properly when the "Extract all regions of interest
into a single image object" option was enabled if there was only one defined ROI.
The result was an image positioned at the origin (0, 0) instead of the expected
position (x0, y0) and the ROI rectangle itself was not removed as expected.
This is now fixed (see Issue #6 - 'Extract multiple ROI' feature: unexpected result for a single ROI) - ROI rectangles with negative coordinates were not properly handled:
ROI extraction was raising aValueErrorexception, and the image mask was not
displayed properly.
This is now fixed (see Issue #7 - Image ROI extraction:ValueError: zero-size array to reduction operation minimum which has no identity) - ROI extraction was not taking into account the pixel size (dx, dy) and the origin
(x0, y0) of the image.
This is now fixed (see Issue #8 - Image ROI extraction: take into account pixel size)
- ROI extraction was not working properly when the "Extract all regions of interest
- Macro-command console is now read-only:
- The macro-command panel Python console is currently not supporting standard input
stream (stdin) and this is intended (at least for now) - Set Python console read-only to avoid confusion
- The macro-command panel Python console is currently not supporting standard input
DataLab Version 0.9.1
🛠️ Bug fixes:
- French translation is not available on Windows/Stand alone version:
- Locale was not properly detected on Windows for stand-alone version (frozen
withpyinstaller) due to an issue withlocale.getlocale()(function
returningNoneinstead of the expected locale on frozen applications) - This is ultimately a
pyinstallerissue, but a workaround has been
implemented inguidataV3.2.2 (see guidata issue #68 - Windows: gettext translation is not working on frozen applications) - Issue #2 - French translation is not available on Windows Stand alone version
- Locale was not properly detected on Windows for stand-alone version (frozen
- Saving image to JPEG2000 fails for non integer data:
- JPEG2000 encoder does not support non integer data or signed integer data
- Before, DataLab was showing an error message when trying to save incompatible
data to JPEG2000: this was not a consistent behavior with other standard image
formats (e.g. PNG, JPG, etc.) for which DataLab was automatically converting
data to the appropriate format (8-bit unsigned integer) - Current behavior is now consistent with other standard image formats: when
saving to JPEG2000, DataLab automatically converts data to 8-bit unsigned
integer or 16-bit unsigned integer (depending on the original data type) - Issue #3 - Save image to JPEG2000: 'OSError: encoder error -2 when writing image file'
- Windows stand-alone version shortcuts not showing in current user start menu:
- When installing DataLab on Windows from a non-administrator account, the
shortcuts were not showing in the current user start menu but in the
administrator start menu instead (due to the elevated privileges of the
installer and the fact that the installer does not support installing
shortcuts for all users) - Now, the installer does not ask for elevated privileges anymore, and
shortcuts are installed in the current user start menu (this also means that
the current user must have write access to the installation directory) - In future releases, the installer will support installing shortcuts for all
users if there is a demand for it (see Issue #5) - Issue #4 - Windows: stand-alone version shortcuts not showing in current user start menu
- When installing DataLab on Windows from a non-administrator account, the
- Installation and configuration window for stand-alone version:
- Do not show ambiguous error message 'Invalid dependencies' anymore
- Dependencies are supposed to be checked when building the stand-alone version
- Added PDF documentation to stand-alone version:
- The PDF documentation was missing in previous release
- Now, the PDF documentation (in English and French) is included in the
stand-alone version