Skip to content

Releases

v1.7.4

Choose a tag to compare

@RAHoebe RAHoebe released this 23 Jul 12:18

-- ome scheme now bundled

Full Changelog: v1.7.3...v1.7.4

v1.7.3

Choose a tag to compare

@RAHoebe RAHoebe released this 20 Jul 11:31
  • pypi package

Full Changelog: v1.7.2...v1.7.3

v1.7.2

Choose a tag to compare

@RAHoebe RAHoebe released this 13 Jul 12:23
  • Docker fix

Full Changelog: v1.7.1...v1.7.2

v1.7.1

Choose a tag to compare

@RAHoebe RAHoebe released this 13 Jul 11:36
  • Microscope Type SP5 -> Confocal

Full Changelog: v1.7.0...v1.7.1

v1.7.0

Choose a tag to compare

@RAHoebe RAHoebe released this 13 Jul 10:12
  • Added support for legacy Leica SP5/LAS AF files using MemoryBlockID fallback identifiers.

  • Fixed nested folder and image discovery for LIF, XLEF and LOF containers.

  • Added extract_nested_leica_items() to list all image IDs in a Leica file.

  • Improved SP5 metadata extraction, including microscope, objective, lasers, wavelengths, detectors and scan settings.

  • Corrected negative Z-spacing and spatial-unit handling in time-series metadata.

  • Improved OME-TIFF/OME-Zarr metadata for objectives, excitation and emission wavelengths.

  • Added microscope, objective and wavelength details to the Qt metadata display.

  • Added regression tests using real and synthetic legacy SP5 data.

  • Also included changes made by P.K. for list of all userIDs

Full Changelog: v1.6.0...v1.7.0

v1.6.0

Choose a tag to compare

@RAHoebe RAHoebe released this 19 May 12:52
  • bug fixes
  • added convert to OME-Zarr

Full Changelog: v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@RAHoebe RAHoebe released this 03 Feb 10:52

Full Changelog: v1.4.1...v1.5.0

v1.4.1

Choose a tag to compare

@RAHoebe RAHoebe released this 21 Jan 15:29
  • significant bits now used to calculate white and black levels

Full Changelog: v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@RAHoebe RAHoebe released this 21 Jan 12:27

πŸš€ Robust Network File Operations

This release focuses on reliability when working with files on network drives and large datasets.

✨ New Features

Robust File Reading (Temp-First Approach)

  • Source file copying: Before processing, source files are now copied to a local temp folder to prevent network interruptions from corrupting reads
  • Progress bar for source copying: Visual feedback while copying large source files from network locations
  • Automatic cleanup: Temp source files are cleaned up after processing completes

Robust File Writing (Temp-First Approach)

  • Safe TIFF saving: OME-TIFF files are first written to local temp storage, then copied to the destination with verification
  • Retry logic: Up to 10 retry attempts with progressive backoff (1 min, 2 min, ... up to 10 min) for network copy failures
  • Size verification: Each copy is verified by comparing file sizes before cleanup

Enhanced Progress Indicators

  • Aligned progress bars: All progress bars are now visually aligned for clean, readable output
  • Distinct visual styles for different operations
  • Elapsed time tracking: Each progress bar shows elapsed time upon completion [Xm Ys]
  • Total time display: Shows cumulative processing time at the end

LIF Extraction Improvements

  • Block-level retry: When extracting images from LIF files, each 25MB block can be retried independently on read errors

πŸ“¦ Requirements Reorganization

Split requirements into scenario-specific files:

  • requirements-docker.txt β€” Core dependencies for Docker/CLI
  • requirements-server.txt β€” For web server
  • requirements-qt6ui.txt β€” For Qt6 desktop GUIs (includes PyQt6)

πŸ“‹ Example Output

  Copying source:             {β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’} 100.0% - 65/65 MB [2.1s]
  Converting to OME-TIFF:     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 100.0% Processing complete [0.2s]
  Saving:                     <β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“> 100.0% - Writing TIFF [1.2s]
  Copying output:             {β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’} 100.0% - 46/46 MB [1.7s]
  Copying alt output:         {β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’} 100.0% - 46/46 MB [1.7s]
  Total time: 7.4s
  Cleaned up temp output file
  Cleaned up temp source file

πŸ› Bug Fixes

  • Fixed progress bar overwriting issues when transitioning between phases
  • Fixed duplicate 100% progress lines from pyvips callbacks
  • Ensured proper line clearing with minimum suffix width padding

πŸ“š Documentation Updates

  • Updated README.md with new requirements structure
  • Updated Dockerfile to use requirements-docker.txt
  • Updated ConvertLeicaQT.md and Server.md with robust file handling notes

Full Changelog: v1.3.1...v1.4.0

v1.3.1

Choose a tag to compare

@RAHoebe RAHoebe released this 08 Sep 11:12

Image and XML metadata now optional in JSON return. Default is false.
Leica LMD7 LIF File support (Missing is image_uuid fallback to memory blockid)