Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 3.94 KB

File metadata and controls

75 lines (52 loc) · 3.94 KB

schapirolabor/background_subtraction: Changelog

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v0.5.2 - [2026.05.12]

Updates default compression and fixes missing dependencies.

Added

  • python-build-package.yml action
  • banners and updated README.md

Fixed

  • CLI help
  • default compression is now 'zlib'
  • updated 'pyproject.toml' - imagecodecs and psutil as dependencies
  • updated 'environment.yml' - nodefaults
  • updated minimum Python version to 3.11
  • updated workflow actions to use more up-to-date versions

Removed

  • Python 3.9 and 3.10 as valid versions

v0.5.1 - [2025.11.13]

Minor fixes to automated workflows and documentation.

Added

Fixed

  • docker publish workflow
  • README image links and updated installation guide

Removed

v0.5.0 - [2025.11.13]

Rework of Backsub to not have Palom as a dependency reducing the environment size and making it lightweight, and reducing the output file size, while keeping the time and memory usage efficiency.

Added

  • compression parameter
  • two RAM profiles: (1) default, uses moderate RAM. (2) Uses approximately half of the default RAM at the cost of a slight loss in precision of the calculation of the downsized dimensions of the pyramidal output image. This means the dimensions of the pyramidal level will differ between profile 1 and 2. The high-resolution level is not affected by this.
  • organizes the tool in five scripts: (1) CLI, (2) ome-schema structure, (3) ome-schema writer, (4) background subtraction and writing of output image and (5) extraction of metadata from Lunaphore COMET images to create the marker table.
  • logger has been re-designed.
  • restructured README
  • tile-size parameter now defaults to 256 instead of 1024
  • support for different data types - primarily np.uint8 in addition to np.uint16

Fixed

  • output image file-size is reduced by applying lossless compression ("LZW" by default)

Removed

  • Palom and OpenCV as dependencies
  • old scripts, version history should be checked instead.
  • chunksize argument - chunking is done now only by the default dask.array behaviour

v0.4.1 - [2023.11.21]

The script has been rewritten to perform channel subtraction in a RAM-efficient manner - updating is highly recommended. If the output file is much bigger than expected, adjust the --tile-size parameter to a smaller value (e.g 512). Changing the --chunk-size parameter may affect performance (lower values increase execution time, higher values increase RAM usage).

Added

  • --chunk-size parameter for dask array chunking and delayed execution for subtraction that happens while the output pyramidal OME-TIFF is being created.
  • Palom's pyramid writer
  • CHANGELOG.md

Fixed

  • Fixed issue with RAM inefficiency - reworked Backsub.

Removed

  • --pyramid tag introduced in v0.3.4, for smaller images, a smaller tile size should be specified now.

Versions v0.2.0 and older:

The markers.csv file which gives details about the channels needs to contain the following columns: "Filter", "background" and "exposure". An exemplary markers_old.csv file is given. The "Filter" column should specify the Filter used when acquiring images. If different stains are aquired with the same filter, the exact same value needs to be written (including background) as it is used for determining which background channel should be subtracted. The "background" column should contain logical TRUE values for channels which represent autofluorescence. The "exposure" column should contain the exposure time used for channel acquisition, and the measure unit should be consistent across the column. Exposure time is used for scaling the value of the background to be comparable to the processed channel. Usage of these versions is strongly disencouraged.