The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Updates default compression and fixes missing dependencies.
- python-build-package.yml action
- banners and updated README.md
- 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
- Python 3.9 and 3.10 as valid versions
Minor fixes to automated workflows and documentation.
- docker publish workflow
- README image links and updated installation guide
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.
compressionparameter- 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-sizeparameter now defaults to 256 instead of 1024- support for different data types - primarily np.uint8 in addition to np.uint16
- output image file-size is reduced by applying lossless compression ("LZW" by default)
- Palom and OpenCV as dependencies
- old scripts, version history should be checked instead.
chunksizeargument - chunking is done now only by the default dask.array behaviour
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).
--chunk-sizeparameter 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 issue with RAM inefficiency - reworked Backsub.
--pyramidtag introduced in v0.3.4, for smaller images, a smaller tile size should be specified now.
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.