Skip to content

Releases: TissueImageAnalytics/tiatoolbox

TIAToolbox 1.5.1

16 Dec 11:25
490be26
Compare
Choose a tag to compare

1.5.1 (2023-12-16)

Development related changes

  • Specifies compatible Python versions
    • Fixes tiatoolbox-feedstock build for conda-forge release #763

Full Changelog: v1.5.0...v1.5.1

TIAToolbox 1.5.0

15 Dec 22:30
bba59ba
Compare
Choose a tag to compare

1.5.0 (2023-12-15)

Major Updates and Feature Improvements

  • Adds the bokeh visualization tool. #684
    • The tool allows a user to launch a server on their machine to visualise whole slide images, overlay the results of deep learning algorithms or to select a patch from whole slide image and run TIAToolbox deep learning engines.
    • This tool powers the TIA demos server. For details please see https://tiademos.dcs.warwick.ac.uk/.
  • Extends Annotation to Support Init from WKB #639
  • Adds IOConfig for NuClick in pretrained_model.yaml #709
  • Adds functions to save the TIAToolbox Engine outputs to Zarr and AnnotationStore files. #724
  • Adds Support for QuPath Annotation Imports #721

Changes to API

  • Adds model.to(device) and model.load_model_from_file() functionality to make it compatible with PyTorch API. #733
  • Replaces pretrained with weights to make the engines compatible with the new PyTorch API. #621
  • Adds support for high-level imports for various utility functions and classes such as WSIReader, PatchPredictor and imread #606, #607,
  • Adds tiatoolbox.typing for type hints. #619
  • Fixes incorrect file size saved by save_tiles, issue with certain WSIs raised by @TomastpPereira
  • TissueMasker transform now returns mask instead of a list. #748

Bug Fixes and Other Changes

  • Fixes pixman incompability error on Colab #601
  • Removes shapely.speedups. The module no longer has any affect in Shapely >=2.0. #622
  • Fixes errors in the slidegraph example notebook #608
  • Fixes bugs in WSI Registration #645, #670, #693
  • Fixes the situation where PatchExtractor.get_coords() can return patch coords which lie fully outside the bounds of a slide. #712
  • Fixes #738 raised by @xiachenrui

Development related changes

  • Replaces flake8 and isort with ruff #625, #666
  • Adds mypy checks to root and utils package. This will be rolled out in phases to other modules. #723
  • Adds a module to detect file types using magic number/signatures #616
  • Uses poetry for version updates instead of bump2version. #638
  • Removes setup.cfg and uses pyproject.toml for project configurations.
  • Reduces runtime for some unit tests e.g., #627, #630, #631, #629
  • Reuses models and datasets in tests on GitHub actions by utilising cache #641, #644
  • Set up parallel tests locally #671

Full Changelog: v1.4.0...v1.5.0

TIAToolbox 1.4.1

25 Jul 14:40
51f504b
Compare
Choose a tag to compare

Bug Fixes and Other Changes

  • Fix dictionary changed size Error #626 (#605)

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

TIAToolbox 1.4.0

05 May 12:53
5231f9d
Compare
Choose a tag to compare

1.4.0 (2023-04-24)

Major Updates and Feature Improvements

  • Adds Python 3.11 support [experimental] #500
  • Removes Python 3.7 support
    • This allows upgrading all the dependencies which were dependent on an older version of Python.
  • Adds Neighbourhood Querying Support To AnnotationStore #540
    • This enables easy and efficient querying of annotations within a neighbourhood of other annotations.
  • Adds MultiTaskSegmentor engine #424
  • Fixes an issue with stain augmentation to apply augmentation to only tissue regions.
  • Filters logger output to stdout instead of stderr.
  • Allows import of some modules at higher level for improved usability
    • WSIReader can now be imported as from tiatoolbox.wsicore import WSIReader
    • WSIMeta can now be imported as from tiatoolbox.wsicore import WSIMeta
    • HoVerNet, HoVerNetPlus, IDaRS, MapDe, MicroNet, NuClick, SCCNN can now be imported as from tiatoolbox.models import HoVerNet, HoVerNetPlus, IDaRS, MapDe, MicroNet, NuClick, SCCNN
  • Improves PatchExtractor performance. Updates WSIPatchDataset to be consistent. #571
  • Updates documentation for License for clarity on source code and model weights license.

Changes to API

  • Updates SCCNN architecture to make it consistent with other models. #544

Bug Fixes and Other Changes

  • Fixes Parsing Missing Omero Version NGFF Metadata #568
  • Fixes reading of DICOM WSIs at the correct level #564
  • Fixes scipy, matplotlib, scikit-image deprecated code
  • Fixes breaking changes in DICOMWSIReader to make it compatible with latest wsidicom version. #539, #580
  • Updates shapely dependency to version >=2.0.0 and fixes any breaking changes.
  • Fixes bug with DictionaryStore.bquery and geometry=None, i.e. only a where predicate given.
  • Fixes local tests for Windows/Linux
  • Fixes flake8, deepsource errors.
  • Uses logger instead of warnings and print statements to properly log runs.

Development related changes

  • Upgrades dependencies which are dependent on Python 3.7
  • Moves requirements*.txt files to requirements folder
  • Removes tox
  • Uses pyproject.toml for bdist_wheel, pytest and isort
  • Adds joblib and numba as dependencies.

Full Changelog: v1.3.3...v1.4.0

TIAToolbox 1.3.3

02 Mar 13:39
d548b33
Compare
Choose a tag to compare

Major Updates and Feature Improvements

  • Restricts dependency versions for long term stability of the current version

Changes to API

None

Bug Fixes and Other Changes

  • Fix bug related to reading scikit-image

Development related changes

  • Restricts dependency versions for compatibility

TIAToolbox 1.3.2

17 Feb 13:43
24390e5
Compare
Choose a tag to compare

Major Updates and Feature Improvements

  • None

Changes to API

  • None

Bug Fixes and Other Changes

  • Fix bug related to reading DICOM files

Development related changes

  • Restricts wsidicom version to <0.7.0 for compatibility

TIAToolbox 1.3.1

20 Dec 12:40
Compare
Choose a tag to compare

Major Updates and Feature Improvements

  • Adds NuClick architecture #449
  • Adds Annotation Store Reader #476
  • Adds DFBR method for registering pair of images #510

Changes to API

  • Adds a sample SVS loading function tiatoolbox.data.small_svs() to the data module #517

Bug Fixes and Other Changes

  • Simplifies example notebook for image reading for better readability
  • Restricts Shapely version to <2.0.0 for compatibility

Development related changes

  • Adds GitHub workflow for automatic generation of docker image
  • Updates dependencies
  • Updates bump2version config
  • Enables flake8 E800 checks for commented codes.
  • Fixes several errors generated by DeepSource.
  • Prevent test dumping file to root
  • Removes duplicate functions to generate parameterized test scenarios

Note: Please note that Python 3.7 support will be removed after this release. We plan to add support for Python 3.11 in the next release.

TIAToolbox 1.3.0

21 Oct 22:03
1c11b1e
Compare
Choose a tag to compare

Major Updates and Feature Improvements

  • Adds an AnnotationTileGenerator and AnnotationRenderer which allows serving of tiles rendered directly from an annotation store.
  • Adds DFBR registration model and Jupyter notebook example
    • Adds DICE metric
  • Adds SCCNN architecture. [read the docs]
  • Adds MapDe architecture. [read the docs]
  • Adds support for reading MPP metadata from NGFF v0.4
  • Adds enhancements to tiatoolbox.annotation.storage that are useful when using an AnnotationStore for visualization purposes.

Changes to API

  • None

Bug Fixes and Other Changes

  • Fixes colorbar_params #410
  • Fixes Jupyter notebooks for better read the docs rendering
    • Fixes typos, metadata and links
  • Fixes nucleus_segmentor_engine for boundary artefacts
  • Fixes the colorbar cropping in tests
  • Adds citation in README.md and CITATION.cff to Nature Communications Medicine paper
  • Fixes a bug #452 raised by @rogertrullo where only the numerator of the TIFF resolution tags was being read.
  • Fixes HoVer-Net+ post-processing to be inline with original work.
  • Fixes a bug where an exception would be raised if the OME XML is missing objective power.

Development related changes

  • Uses Furo theme for readthedocs
  • Replaces nbgallery and nbsphinx with myst-nb for jupyter notebook rendering
  • Uses myst for markdown parsing
  • Uses requirements.txt to define dependencies for requirements consistency
  • Adds notebook AST pre-commit hook
  • Adds check to validate python examples in the code
  • Adds check to resolve imports
  • Fixes an error in a docstring which triggered the failing test.
  • Adds pre-commit hooks to format markdown and notebook markdown
  • Adds pip install workflow to resolve dependencies when requirements file is updated
  • Improves TIAToolbox import using LazyLoader

TIAToolbox 1.2.1

07 Jul 20:07
9b3d3b1
Compare
Choose a tag to compare

Major Updates and Feature Improvements

  • None

Changes to API

  • None

Bug Fixes and Other Changes

  • Fixes issues with dependencies
    • Adds flask to dependencies.
  • Fixes missing file in the python package
  • Clarifies help string for show-wsi option

Development related changes

  • Removes Travis CI
    • GitHub Actions will be used instead.
  • Adds pre-commit hooks to check requirements consistency.
  • Adds GitHub Action to resolve conda environment checks on Windows and Ubuntu.

TIAToolbox 1.2.0

05 Jul 23:10
110c20c
Compare
Choose a tag to compare

1.2.0 (2022-07-05)

Major Updates and Feature Improvements

  • Adds support for Python 3.10
  • Adds short description for IDARS algorithm #383
  • Adds support for NGFF v0.4 OME-ZARR.
  • Adds CLI for launching tile server.

Changes to API

  • Renames stainnorm_target() function to stain_norm_target().
  • Removes get_wsireader
  • Replaces the custom PlattScaler in tools/scale.py with the regular Scikit-Learn LogisticRegression.

Bug Fixes and Other Changes

  • Fixes bugs in UNET architecture.
    • Number of channels in Batchnorm argument in the decoding path to match with the input channels.
    • Padding 0 creates feature maps in the decoder part with the same size as encoder.
  • Fixes linter issues and typos
  • Fixes incorrect output with overlap in predictor.merge_predictions() and return_raw=True
  • Fixes errors with JP2 read. Checks input path exists.
  • Fixes errors with torch upgrade to 1.12.

Development related changes

  • Adds pre-commit hooks for consistency across the repo.
  • Sets up GitHub Actions Workflow.
    • Travis CI will be removed in future release.