-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🔖 Release 1.6.0 #898
Merged
Merged
🔖 Release 1.6.0 #898
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Major Updates and Feature Improvements - Adds an AnnotationTileGenerator and AnnotationRenderer which allows serving of tiles rendered directly from an annotation store. - Adds [DFBR](https://arxiv.org/abs/2202.09971) registration model and jupyter notebook example - Adds DICE metric - Adds [SCCNN](https://doi.org/10.1109/tmi.2016.2525803) architecture. \[[read the docs](https://tia-toolbox.readthedocs.io/en/develop/_autosummary/tiatoolbox.models.architecture.sccnn.SCCNN.html)\] - Adds [MapDe](https://arxiv.org/abs/1806.06970) architecture. \[[read the docs](https://tia-toolbox.readthedocs.io/en/develop/_autosummary/tiatoolbox.models.architecture.mapde.MapDe.html)\] - 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 Signed-off-by: Shan E Ahmed Raza <[email protected]>
# 1.3.1 (2022-12-20) ### Major Updates and Feature Improvements - Adds [NuClick](https://arxiv.org/abs/2005.14511) architecture #449 - Adds Annotation Store Reader #476 - Adds [DFBR](https://arxiv.org/abs/2202.09971) 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 Co-authored-by: John Pocock <[email protected]> Co-authored-by: Mark Eastwood <[email protected]> Co-authored-by: Ruqayya Awan <[email protected]> Co-authored-by: Mostafa Jahanifar <[email protected]> Co-authored-by: kesixu <[email protected]> Co-authored-by: David Epstein <[email protected]> Co-authored-by: adamshephard <[email protected]> Co-authored-by: Simon Graham <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Roger Trullo <[email protected]>
- Adds [NuClick](https://arxiv.org/abs/2005.14511) architecture #449 - Adds Annotation Store Reader #476 - Adds [DFBR](https://arxiv.org/abs/2202.09971) method for registering pair of images #510 - Adds a sample SVS loading function `tiatoolbox.data.small_svs()` to the data module #517 - Simplifies example notebook for image reading for better readability - Restricts Shapely version to \<2.0.0 for compatibility - 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 Co-authored-by: John Pocock <[email protected]> Co-authored-by: Mark Eastwood <[email protected]> Co-authored-by: Ruqayya Awan <[email protected]> Co-authored-by: Mostafa Jahanifar <[email protected]> Co-authored-by: kesixu <[email protected]> Co-authored-by: David Epstein <[email protected]> Co-authored-by: adamshephard <[email protected]> Co-authored-by: Simon Graham <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Roger Trullo <[email protected]>
- 🚑 Hotfix - Restricts wsidicom version to \<0.7.0 for compatibility - Fix bug related to reading DICOM files
## 1.3.3 (2023-03-02) ### 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
## 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 and `openslide` openslide/openslide-python#188 - 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 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 #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 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. - Partly Fixes #532 raised by @blaginin - 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.
## 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 - 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` 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 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: mostafajahanifar <[email protected]> Co-authored-by: John Pocock <[email protected]> Co-authored-by: DavidBAEpstein <[email protected]> Co-authored-by: David Epstein <[email protected]> Co-authored-by: Ruqayya Awan <[email protected]> Co-authored-by: Mark Eastwood <[email protected]> Co-authored-by: adamshephard <[email protected]> Co-authored-by: adamshephard <[email protected]> Co-authored-by: Abdol <[email protected]> Co-authored-by: Jiaqi-Lv <[email protected]> Co-authored-by: Abishek <[email protected]> Co-authored-by: Dmitrii Blaginin <[email protected]>
## 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 v1.6.0 (2024-12-12) ### Major Updates and Feature Improvements - **Foundation Models Support via `timm` API** (#856, contributed by @GeorgeBatch) - Introduced `TimmBackbone` for running additional PyTorch Image Models. - Tested models include `UNI`, `Prov-GigaPath`, and `H-optimus-0`. - Added an example notebook demonstrating feature extraction with foundation models. - `timm` added as a dependency. - **Performance Enhancements with `torch.compile`** (#716) - Improved performance on newer GPUs using `torch.compile`. - **Multichannel Input Support in `WSIReader`** (#742) - **AnnotationStore Filtering for Patch Extraction** (#822) - **Python 3.12 Support** - **Deprecation of Python 3.8 Support** - **CLI Response Time Improvements** (#795) ### API Changes - **Device Specification Update** (#882) - Replaced `has_gpu` with `device` for specifying GPU or CPU usage, aligning with PyTorch's `Model.to()` functionality. - **Windows Compatibility Enhancement** (#769) - Replaced `POWER` with explicit multiplication. ### Bug Fixes and Other Changes - **TIFFWSIReader Bound Reading Adjustment** (#777) - Fixed `read_bound` to use adjusted bounds. - Reduced code complexity in `WSIReader` (#814). - **Annotation Rendering Fixes** (#813) - Corrected rendering of annotations with holes. - **Non-Tiled TIFF Support in `WSIReader`** (#807, contributed by @GeorgeBatch) - **HoVer-Net Documentation Update** (#751) - Corrected class output information. - **Citation File Fix for `cffconvert`** (#869, contributed by @Alon-Alexander) - **Bokeh Compatibility Updates** - Updated `bokeh_app` for compatibility with `bokeh>=3.5.0`. - Switched from `size` to `radius` for `bokeh>3.4.0` compatibility (#796). - **JSON Extraction Fixes** (#772) - Restructured SQL expression construction for JSON properties with dots in keys. - **VahadaneExtractor Warning** (#871) - Added warning due to changes in `scikit-learn>0.23.0` dictionary learning (#382). - **PatchExtractor Error Message Refinement** (#883) - **Immutable Output Fix in `WSIReader`** (#850) ### Development-Related Changes - **Mypy Checks Added** - Applied to `utils`, `tools`, `data`, `annotation`, and `cli/common`. - **ReadTheDocs PDF Build Deprecation** - **Formatter Update** - Replaced `black` with `ruff-format`. - **Dependency Removal** - Removed `jinja2`. - **Test Environment Update** - Updated to `Ubuntu 24.04`. - **Conda Environment Workflow Update** - Implemented `micromamba` setup. - **Codecov Reporting Fix** (#811) **Full Changelog:** v1.5.1...v1.6.0 --------- Co-authored-by: John Pocock <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Adam Shephard <[email protected]> Co-authored-by: Mark Eastwood <[email protected]> Co-authored-by: Mostafa Jahanifar <[email protected]> Co-authored-by: Simon Graham <[email protected]> Co-authored-by: Abdol A <[email protected]> Co-authored-by: Jiaqi-Lv <[email protected]> Co-authored-by: Dmitrii Blaginin <[email protected]> Co-authored-by: behnazelhaminia <[email protected]> Co-authored-by: George Batchkala <[email protected]> Co-authored-by: vqdang <[email protected]> Co-authored-by: Jiaqi Lv <[email protected]> Co-authored-by: Alon Alexander <[email protected]>
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #898 +/- ##
========================================
Coverage 99.90% 99.90%
========================================
Files 69 69
Lines 8715 8715
Branches 1149 1149
========================================
Hits 8707 8707
Misses 3 3
Partials 5 5 ☔ View full report in Codecov by Sentry. |
# Conflicts: # .github/workflows/conda-env-create.yml # .github/workflows/docker-publish.yml # .github/workflows/python-package.yml # .pre-commit-config.yaml # AUTHORS.md # CITATION.cff # HISTORY.md # docs/installation.rst # pyproject.toml # requirements/requirements_dev.txt # setup.py # tiatoolbox/__init__.py # tiatoolbox/wsicore/wsireader.py
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TIAToolbox v1.6.0 (2024-12-12)
Major Updates and Feature Improvements
timm
API (🆕 Integrate Foundation Models Available VIAtimm
:UNI
,Prov-GigaPath
,H-optimus-0
#856, contributed by @GeorgeBatch)TimmBackbone
for running additional PyTorch Image Models.UNI
,Prov-GigaPath
, andH-optimus-0
.timm
added as a dependency.torch.compile
(⚡️Addtorch.compile
Functionality #716)torch.compile
.WSIReader
(🚸 Handle MultidimensionalFeatures
inWSIReader
#742)cli.visualize
to Improvecli
Response #795)API Changes
has_gpu
withdevice
for specifying GPU or CPU usage, aligning with PyTorch'sModel.to()
functionality.POWER
from sqlite-dist Calculations #769)POWER
with explicit multiplication.Bug Fixes and Other Changes
TIFFWSIReader
read_bound
#777)read_bound
to use adjusted bounds.WSIReader
(🐛 Fix Code Complexity inwsireader
#814).WSIReader
(🚸 Add Support forignore_is_tiled_tiff
inWSIReader.open()
#807, contributed by @GeorgeBatch)HoVer-Net
Class Output Information indocs
#751)cffconvert
(🐛 FixCITATION.cff
to Make it Compatible withcffconvert
#869, contributed by @Alon-Alexander)bokeh_app
for compatibility withbokeh>=3.5.0
.size
toradius
forbokeh>3.4.0
compatibility (👽 Changesize
toradius
forbokeh 3.4
Compatibility #796).json_extract
Construction #772)VahadaneExtractor
Algorithm Instability #871)scikit-learn>0.23.0
dictionary learning (Vahadane stain-norm fails #382).PatchExtractor
Error Message #883)WSIReader
(🐛 Fix Immutable Output fromWSIReader
#850)Development-Related Changes
utils
,tools
,data
,annotation
, andcli/common
.black
withruff-format
.jinja2
.Ubuntu 24.04
.micromamba
setup.codecov
Reporting #811)Full Changelog: v1.5.1...v1.6.0