Releases: TissueImageAnalytics/tiatoolbox
Releases · TissueImageAnalytics/tiatoolbox
TIAToolbox 1.5.1
1.5.1 (2023-12-16)
Development related changes
- Specifies compatible Python versions
- Fixes
tiatoolbox-feedstock
build for conda-forge release #763
- Fixes
Full Changelog: v1.5.0...v1.5.1
TIAToolbox 1.5.0
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 inpretrained_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)
andmodel.load_model_from_file()
functionality to make it compatible with PyTorch API. #733 - Replaces
pretrained
withweights
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
andimread
#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
- Fixes #732
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 #710
- Fixes #738 raised by @xiachenrui
Development related changes
- Replaces
flake8
andisort
withruff
#625, #666 - Adds
mypy
checks toroot
andutils
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 ofbump2version
. #638 - Removes
setup.cfg
and usespyproject.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
Bug Fixes and Other Changes
Full Changelog: v1.4.0...v1.4.1
TIAToolbox 1.4.0
1.4.0 (2023-04-24)
Major Updates and Feature Improvements
- Adds Python 3.11 support [experimental] #500
- Python 3.11 is not fully supported by
pytorch
pytorch/pytorch#86566 andopenslide
openslide/openslide-python#188
- Python 3.11 is not fully supported by
- 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.
- #546 contributed by @navidstuv
- Filters logger output to stdout instead of stderr.
- Fixes #255
- Allows import of some modules at higher level for improved usability
WSIReader
can now be imported asfrom tiatoolbox.wsicore import WSIReader
WSIMeta
can now be imported asfrom tiatoolbox.wsicore import WSIMeta
HoVerNet
,HoVerNetPlus
,IDaRS
,MapDe
,MicroNet
,NuClick
,SCCNN
can now be imported asfrom tiatoolbox.models import HoVerNet, HoVerNetPlus, IDaRS, MapDe, MicroNet, NuClick, SCCNN
- Improves
PatchExtractor
performance. UpdatesWSIPatchDataset
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 #535 raised by @benkamphaus
- Fixes reading of DICOM WSIs at the correct level #564
- Fixes #529
- Fixes
scipy
,matplotlib
,scikit-image
deprecated code - Fixes breaking changes in
DICOMWSIReader
to make it compatible with latestwsidicom
version. #539, #580 - Updates
shapely
dependency to version >=2.0.0 and fixes any breaking changes. - Fixes bug with
DictionaryStore.bquery
andgeometry=None
, i.e. only a where predicate given. - Fixes local tests for Windows/Linux
- Fixes
flake8
,deepsource
errors. - Uses
logger
instead ofwarnings
andprint
statements to properly log runs.
Development related changes
- Upgrades dependencies which are dependent on Python 3.7
- Moves
requirements*.txt
files torequirements
folder - Removes
tox
- Uses
pyproject.toml
forbdist_wheel
,pytest
andisort
- Adds
joblib
andnumba
as dependencies.
Full Changelog: v1.3.3...v1.4.0
TIAToolbox 1.3.3
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
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
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
Major Updates and Feature Improvements
- Adds an
AnnotationTileGenerator
andAnnotationRenderer
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 anAnnotationStore
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
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
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 tostain_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()
andreturn_raw=True
- Thanks to @paulhacosta for raising #356, Fixed by #358.
- 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.