Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
767 commits
Select commit Hold shift + click to select a range
9575a4c
[skip ci]🚨 Add `ruff` Checks for `06-semantic-segmentation` (#660)
shaneahmed Jul 25, 2023
045c52f
[skip ci] :rotating_light: Add `ruff` checks to `04-patch-extraction.…
shaneahmed Jul 25, 2023
e5e3e09
:bookmark: Release v1.4.1 (#662)
shaneahmed Jul 25, 2023
e662000
[skip ci] :rotating_light: Add `ruff` Checks 07-advanced-modeling.ipy…
shaneahmed Jul 25, 2023
d009bbf
🐛 Parse JP2 Boxes By ID Not Position (#651)
John-P Jul 27, 2023
c7447cd
🚨 Add `ruff` Checks to `05-patch-prediction.ipynb` (#665)
shaneahmed Jul 27, 2023
9435622
➖ Remove `isort` and Use `ruff` for sorting imports (#666)
shaneahmed Jul 28, 2023
bfb04ed
🚨 Add `ruff` Checks `10-wsi-registration` (#667)
shaneahmed Jul 28, 2023
b5e12d3
[skip ci] 🚨 Add `ruff` checks to `examples/inference-pipelines` (#668)
shaneahmed Jul 31, 2023
35a7869
:rotating_light: Add `ruff` checks to `examples` notebooks. (#669)
shaneahmed Jul 31, 2023
f445ebb
🐛 Fix `AffineWSITransformer.read_rect()` (#670)
ruqayya Jul 31, 2023
49cc824
[pre-commit.ci] pre-commit autoupdate (#672)
pre-commit-ci[bot] Aug 1, 2023
91f5a7f
💚 Add CI Cache (#644)
blaginin Aug 1, 2023
6eb40a9
:rotating_light: `ruff` tiatoolbox root (#678)
shaneahmed Aug 1, 2023
c1c05ea
🚨 Add `ruff` Checks to `cli` (#680)
shaneahmed Aug 1, 2023
e7d485c
:arrow_up: Update ruff to 0.0.282 (#681)
shaneahmed Aug 2, 2023
d242ed2
🚨 Add `ruff` Checks to All Jupyter Notebooks (#676)
shaneahmed Aug 2, 2023
3689f57
[skip ci] :rotating_light: `ruff` notebooks for #677 (#682)
shaneahmed Aug 2, 2023
4034007
:rotating_light: Fix `ANN201` Errors in `tests` (#683)
shaneahmed Aug 4, 2023
b47175b
:rotating_light: Add `flake8-boolean-trap` Checks (#686)
shaneahmed Aug 7, 2023
f766799
:rotating_light: Add `flake8-bandit` Checks (#687)
shaneahmed Aug 8, 2023
20b81ae
:rotating_light: Add `flake8-unused-arguments` Checks (#688)
shaneahmed Aug 9, 2023
75a9d74
:arrow_up: Upgrade `ruff` to `0.0.283` (#689)
shaneahmed Aug 9, 2023
c4ba2e9
:arrow_up: Upgrade `ruff` to `0.0.284` (#690)
shaneahmed Aug 10, 2023
a5be79f
:adhesive_bandage: Add `imwrite` Check (#646)
blaginin Aug 10, 2023
2da75c6
🚨 Fix Linter Errors in `utils` (#685)
shaneahmed Aug 10, 2023
8ae4eec
🚨 Add `pylint` Checks (#691)
shaneahmed Aug 11, 2023
8615181
🐛 Fix `prealignment` Function (#693)
ruqayya Aug 11, 2023
a157833
:thread: Safer downloads (#673)
blaginin Aug 14, 2023
fd1d649
🚨 Add `flake8-annotations` Checks to `tools` (#694)
shaneahmed Aug 14, 2023
fa31894
:fire: Remove redundant `_rm_dir` in tests. (#695)
shaneahmed Aug 14, 2023
f26387f
:rotating_light: Add `flake8-annotations` to `Visualization` (#696)
shaneahmed Aug 14, 2023
451bdac
✨ Extend Annotation to Support Init from WKB (#639)
John-P Aug 21, 2023
7d9c944
:arrow_up: Upgrade `ruff` (#698)
shaneahmed Aug 21, 2023
e633e56
:rotating_light: Add `flake8-annotations` Checks for `examples` (#699)
shaneahmed Aug 21, 2023
20e7c82
:rotating_light: Fix `flake8-annotations` for `wsicore` (#700)
shaneahmed Aug 23, 2023
c4ca84e
:rotating_light: Add `flake8-annotations` Checks for `engine` (#701)
shaneahmed Aug 23, 2023
98465d6
💚 Parallel tests (#671)
blaginin Aug 23, 2023
2468892
:memo: Fix docstrings in `PatchExtractors` (#697)
measty Aug 23, 2023
2e7eb09
🚨 Fix `flake8-annotations` Checks in `models` (#702)
shaneahmed Aug 24, 2023
eea4531
:arrow_up: Upgrade `ruff` to version `0.0.286` (#704)
shaneahmed Aug 29, 2023
e700a29
[pre-commit.ci] pre-commit autoupdate (#703)
pre-commit-ci[bot] Aug 29, 2023
50b6f33
🚨 Add `flake8-annotations` to `tests\models` and `tests\"root"` (#706)
shaneahmed Aug 29, 2023
e7e5de5
🚨 Add `flake8-annotations` to All Except `tiatoolbox/annotations` (#707)
shaneahmed Aug 30, 2023
eb49f66
:bug: Add `IOConfig` for NuClick in `pretrained_model.yaml` (#709)
mostafajahanifar Sep 1, 2023
459ec03
[pre-commit.ci] pre-commit autoupdate (#711)
pre-commit-ci[bot] Sep 13, 2023
795607d
:bug: Fix `patch_coords` (#712)
measty Sep 13, 2023
a4b942b
[pre-commit.ci] pre-commit autoupdate (#714)
pre-commit-ci[bot] Sep 21, 2023
c6cb65b
🚨 Fix `flake8-annotation` Linter Errors (#713)
Abdol Sep 22, 2023
392cd6b
[pre-commit.ci] pre-commit autoupdate (#715)
pre-commit-ci[bot] Sep 26, 2023
1598970
🚨 Add `ruff` Checks to All Files with All Selected Options (#677)
shaneahmed Sep 26, 2023
edd182c
[pre-commit.ci] pre-commit autoupdate (#717)
pre-commit-ci[bot] Oct 3, 2023
4084244
:arrow_up: Update torch dependency (#719)
shaneahmed Oct 6, 2023
931de99
[pre-commit.ci] pre-commit autoupdate (#720)
pre-commit-ci[bot] Oct 10, 2023
2e9802b
❇️ Add Convert `patches` Output to `AnnotationStore` (#718)
measty Oct 13, 2023
67aeb56
:construction: Add Type Checking using `mypy` (#723)
Jiaqi-Lv Oct 19, 2023
9505af1
:hammer: Add `mypy` Checks to `exceptions.py` (#725)
shaneahmed Oct 23, 2023
7a9fbc9
[pre-commit.ci] pre-commit autoupdate (#727)
pre-commit-ci[bot] Oct 26, 2023
f16c232
❇️ Add Function to Save Engines Output in the `zarr` Format (#724)
AbishekRajVG Oct 26, 2023
e899cec
[pre-commit.ci] pre-commit autoupdate (#730)
pre-commit-ci[bot] Oct 31, 2023
d79178c
:recycle: Add typehints for dataset_abc.py (#726)
blaginin Nov 3, 2023
ec94629
[pre-commit.ci] pre-commit autoupdate (#734)
pre-commit-ci[bot] Nov 8, 2023
5cae516
📝 Fix Example 05 (#736)
measty Nov 8, 2023
77c76c7
:hammer: Add `typing.py` and `env_detection.py` to `mypy` Type Check …
Jiaqi-Lv Nov 10, 2023
4a041ae
[pre-commit.ci] pre-commit autoupdate (#739)
pre-commit-ci[bot] Nov 15, 2023
cca7443
♻️ Update `model_to()` and `load_torch_model()` methods in `ModelABC`…
AbishekRajVG Nov 15, 2023
890e5a3
[pre-commit.ci] pre-commit autoupdate (#741)
pre-commit-ci[bot] Nov 21, 2023
1d3f039
✨ Add Support for `QuPath` Annotation Imports (#721)
measty Nov 22, 2023
8e9545f
:hammer: Add `mypy` Checks (#740)
Jiaqi-Lv Nov 22, 2023
df6e947
:hammer: Add `utils/misc.py` to mypy (#744)
Jiaqi-Lv Nov 29, 2023
30fa13f
:pushpin: Update dependency link for pytorch cuda version (#746)
shaneahmed Nov 30, 2023
a4463ee
:bug: Return `masks` instead of `[mask]` (#748)
Abdol Dec 8, 2023
e0b5f5e
[pre-commit.ci] pre-commit autoupdate (#754)
pre-commit-ci[bot] Dec 12, 2023
3afb52a
:white_check_mark: Add `mypy` checks to `image.py` (#753)
shaneahmed Dec 15, 2023
c3b49e6
✨ Add `bokeh` Visualization (#684)
measty Dec 15, 2023
4edd779
🩹 Fix `save_tiles` (#752)
measty Dec 15, 2023
445c19d
:white_check_mark: Add `mypy` checks to `visualization.py` (#755)
shaneahmed Dec 15, 2023
07fde55
[skip ci] :bug: Fix error related to overlay_predictions (#758)
shaneahmed Dec 15, 2023
6e0ee54
[skip ci] :bug: Fix example notebook 09 (#759)
shaneahmed Dec 15, 2023
01eb4a2
[skip ci] :bug: Fix idars example notebook (#760)
shaneahmed Dec 15, 2023
4d5cbd6
🔖 Release 1.5.0 (#761)
shaneahmed Dec 15, 2023
1f7084d
:pushpin: Specify Python versions (#762)
shaneahmed Dec 16, 2023
c9a4e58
🚑 Release 1.5.1 (#766)
shaneahmed Dec 18, 2023
7195c63
[pre-commit.ci] pre-commit autoupdate (#767)
pre-commit-ci[bot] Jan 5, 2024
3cea662
[pre-commit.ci] pre-commit autoupdate (#768)
pre-commit-ci[bot] Jan 12, 2024
3fb5686
[pre-commit.ci] pre-commit autoupdate (#770)
pre-commit-ci[bot] Jan 18, 2024
8dc89f8
♻️ Remove `POWER` from sqlite-dist Calculations (#769)
measty Jan 19, 2024
0002963
[pre-commit.ci] pre-commit autoupdate (#774)
pre-commit-ci[bot] Jan 26, 2024
41b9f37
🐛Fix `test` in `test_annotation_stores.py` (#779)
measty Feb 2, 2024
f18c808
🐛 Fix `json_extract` Construction (#772)
measty Feb 2, 2024
a1feb25
[pre-commit.ci] pre-commit autoupdate (#778)
pre-commit-ci[bot] Feb 2, 2024
9551b57
:hammer: `mypy` type check `tools/` (#782)
Jiaqi-Lv Feb 12, 2024
23fb2a7
[pre-commit.ci] pre-commit autoupdate (#781)
pre-commit-ci[bot] Feb 12, 2024
b6a371b
[pre-commit.ci] pre-commit autoupdate (#784)
pre-commit-ci[bot] Feb 13, 2024
5c00381
:pushpin: Update minimum Python version to `3.9` (#786)
shaneahmed Feb 20, 2024
a304598
📌 Update `wsidicom` dependency (#785)
shaneahmed Feb 20, 2024
027ffdd
[pre-commit.ci] pre-commit autoupdate (#788)
pre-commit-ci[bot] Feb 20, 2024
9c51582
:children_crossing: Handle Multidimensional `Features` in `WSIReader`…
behnazelhaminia Feb 29, 2024
26544bc
Fix a typo in examples/README.md (#792)
moodyhunter Mar 7, 2024
728494e
[pre-commit.ci] pre-commit autoupdate (#794)
pre-commit-ci[bot] Mar 13, 2024
ce348e7
🐛 Fix `HoVer-Net` Class Output Information in `docs` (#751)
adamshephard Mar 14, 2024
ffe9232
:children_crossing: Refactor some code to improve cli response (#795)
shaneahmed Mar 15, 2024
76cfd31
:alien: Change `size` to `radius` for `bokeh 3.4` Compatibility (#796)
measty Mar 15, 2024
9ab4bcd
:hammer: Add `mypy` Type Check to `stainnorm`, `stainaugment`, `patch…
Jiaqi-Lv Mar 15, 2024
277fc1c
🧑‍💻 Replace `black` with `ruff` Formatter (#797)
shaneahmed Mar 18, 2024
dc897e2
[pre-commit.ci] pre-commit autoupdate (#798)
pre-commit-ci[bot] Mar 19, 2024
4332fab
:pushpin: Fix docs/requirements. (#799)
shaneahmed Mar 20, 2024
7b6f1ee
Add `mypy` Type Check to `wsi_registration.py` (#801)
Jiaqi-Lv Mar 22, 2024
b68c9ce
[pre-commit.ci] pre-commit autoupdate (#802)
pre-commit-ci[bot] Apr 8, 2024
d2a1f0a
[pre-commit.ci] pre-commit autoupdate (#805)
pre-commit-ci[bot] Apr 16, 2024
ab9f641
[pre-commit.ci] pre-commit autoupdate (#809)
pre-commit-ci[bot] Apr 23, 2024
f664f04
:bug: Fix `codecov` Reporting (#811)
shaneahmed Apr 29, 2024
ec5a373
[pre-commit.ci] pre-commit autoupdate (#812)
pre-commit-ci[bot] Apr 30, 2024
8b0e1cf
🐛 Fix Rendering Annotations with Holes (#813)
measty May 3, 2024
c3ae5d5
Add support for `ignore_is_tiled_tiff` in `WSIReader.open()` (#807)
GeorgeBatch May 3, 2024
fc6e02d
🐛 Fix Code Complexity in `wsireader` (#814)
shaneahmed May 3, 2024
807d8f7
[pre-commit.ci] pre-commit autoupdate (#815)
pre-commit-ci[bot] May 9, 2024
3da5ca2
[pre-commit.ci] pre-commit autoupdate (#816)
pre-commit-ci[bot] May 14, 2024
a66fa19
[pre-commit.ci] pre-commit autoupdate (#818)
pre-commit-ci[bot] Jun 3, 2024
973378b
:pushpin: Update `ruff` version. (#821)
shaneahmed Jun 7, 2024
c180566
Add `mypy` type check to `annotation/` (#806)
Jiaqi-Lv Jun 12, 2024
14f1215
[pre-commit.ci] pre-commit autoupdate (#823)
pre-commit-ci[bot] Jun 18, 2024
6add5c6
🐛 Fix Type Annotation for `annotation/storage.py`
Jiaqi-Lv Jun 25, 2024
73aa802
[pre-commit.ci] pre-commit autoupdate (#826)
pre-commit-ci[bot] Jun 25, 2024
621a857
:white_check_mark: Add test to reset logger filters. (#827)
shaneahmed Jun 25, 2024
6643e7a
[skip ci] :memo: Enhance download paths in 10-wsi-registration.ipynb …
shaneahmed Jun 26, 2024
82e9d8f
🐛 Fix `TIFFWSIReader` `read_bound` (#777)
vqdang Jul 5, 2024
409ae2a
:pushpin: Pin bokeh to less than 3.5.0 due to incompatibility. (#830)
shaneahmed Jul 5, 2024
138e84a
[pre-commit.ci] pre-commit autoupdate (#829)
pre-commit-ci[bot] Jul 5, 2024
5bb0cab
📌 Fix Compatibility with `bokeh` Version `3.5.0` (#832)
measty Jul 8, 2024
647d30b
[pre-commit.ci] pre-commit autoupdate (#833)
pre-commit-ci[bot] Jul 9, 2024
54fa32a
🐛 Add `mypy` Type Check `tools/wsi_registration.py` (#831)
Jiaqi-Lv Jul 12, 2024
964c846
[pre-commit.ci] pre-commit autoupdate (#835)
pre-commit-ci[bot] Jul 17, 2024
aed63b6
[pre-commit.ci] pre-commit autoupdate (#838)
pre-commit-ci[bot] Aug 9, 2024
56d569a
🧑‍💻 Fix `mypy` Type Error in `tiatoolbox/tools` (#842)
Jiaqi-Lv Aug 12, 2024
a6fceef
[pre-commit.ci] pre-commit autoupdate (#843)
pre-commit-ci[bot] Aug 15, 2024
af5f284
:bug: Fix `test_dsl` for `pytest`>=8.3.0 (#845)
shaneahmed Aug 15, 2024
b0b1474
[pre-commit.ci] pre-commit autoupdate (#847)
pre-commit-ci[bot] Aug 20, 2024
70db186
🐛 Fix Immutable Output from `WSIReader` (#850)
mostafajahanifar Aug 23, 2024
015652c
[pre-commit.ci] pre-commit autoupdate (#851)
pre-commit-ci[bot] Aug 27, 2024
ee72d69
[pre-commit.ci] pre-commit autoupdate (#857)
pre-commit-ci[bot] Sep 18, 2024
1e76e9e
:heavy_minus_sign: Remove `jinja2` dependency (#861)
shaneahmed Sep 18, 2024
03e7491
:hammer: Update test build for `Ubuntu-24.04` (#862)
shaneahmed Sep 19, 2024
6df8565
📝 Add `WSIReader` Type Annotation to `input_img` for `PatchExtrator`
Jiaqi-Lv Sep 20, 2024
6ef915d
☑️ Add `mypy` Checks in `tiatoolbox/cli` (#846)
Jiaqi-Lv Sep 20, 2024
3714ef7
:pushpin: Pin `bokeh` version to less than 3.6.0 (#870)
shaneahmed Oct 2, 2024
52792bc
🐛 Fix `CITATION.cff` to Make it Compatible with `cffconvert`
Alon-Alexander Oct 2, 2024
0b857c7
:technologist: `pre-commit` autoupdate (#868)
pre-commit-ci[bot] Oct 18, 2024
76f02f8
🆕 Use Annotations as a Filter for Patch Extraction (#822)
measty Oct 18, 2024
12d435e
:pushpin: Pin `numpy<2.0.0` (#876)
shaneahmed Oct 24, 2024
7fb9926
🐛 Add Warning for `VahadaneExtractor` Algorithm Instability (#871)
mostafajahanifar Nov 8, 2024
c980eec
🆕 Integrate Foundation Models Available VIA `timm`: `UNI`, `Prov-Giga…
GeorgeBatch Nov 15, 2024
9113996
:technologist: pre-commit autoupdate (#880)
pre-commit-ci[bot] Nov 15, 2024
32cae0b
⚡️Add `torch.compile` Functionality (#716)
Abdol Nov 15, 2024
ca13e7f
♻️ Update Changes from New Engine Design (#882)
shaneahmed Nov 21, 2024
5f1cecb
🧑‍💻 Refine `PatchExtractor` Error Message (#883)
Jiaqi-Lv Nov 29, 2024
4a1940d
:technologist: `torch.compile` is not compatible with Windows. (#888)
shaneahmed Nov 29, 2024
9a62c10
[skip ci] :memo: Update Jupyter Notebooks for Release `v1.6.0` (#885)
shaneahmed Dec 2, 2024
741463c
:pushpin: Update `ruff` Version to `v0.8.1` (#890)
shaneahmed Dec 2, 2024
442bd3f
:technologist: pre-commit autoupdate (#891)
pre-commit-ci[bot] Dec 3, 2024
6b214fe
📝 Add Example Notebook for Foundation Models (#887)
adamshephard Dec 3, 2024
a38d95f
[skip ci] 🐛 Fix `benchmarks/annotation_store.ipynb` (#894)
shaneahmed Dec 5, 2024
0ddd2b1
🔖 Release 1.6.0 (#898)
shaneahmed Dec 12, 2024
f385ced
:technologist: pre-commit autoupdate (#902)
pre-commit-ci[bot] Jan 10, 2025
8ff4f5e
📌 Pin `zarr<3.0.0` (#905)
measty Jan 23, 2025
d82df5c
:technologist: pre-commit autoupdate (#910)
pre-commit-ci[bot] Feb 5, 2025
264b079
:memo: Update Documentation Structure (#909)
shaneahmed Feb 7, 2025
ba0109f
🐛 Fix in `test_arch_mapde` and `test_arch_sccnn` (#911)
Jiaqi-Lv Feb 19, 2025
9021b57
[skip ci] :memo: Improve Documentation (#913)
shaneahmed Feb 28, 2025
95e70fa
:bug: Fix `MapDe` `dist_filter` Shape (#914)
Jiaqi-Lv Mar 3, 2025
2416ba9
:technologist: pre-commit autoupdate (#916)
pre-commit-ci[bot] Mar 4, 2025
5a90a26
Add FsspecJsonWSIReader class. (#897)
aacic Mar 7, 2025
01948a9
✨ Support for Additional Foundation Models (#906)
adamshephard Mar 7, 2025
1f2282b
:pushpin: Pin `glymur<0.14` (#920)
shaneahmed Mar 31, 2025
a9e34c3
🔧 `mypy` Type Check `tiatoolbox/models` (#912)
Jiaqi-Lv Apr 3, 2025
bae6c2e
:technologist: pre-commit autoupdate (#922)
pre-commit-ci[bot] Apr 10, 2025
7ba7394
:mute: Remove Unnecessary Logging (#924)
aacic Apr 25, 2025
ad66b2d
📝 Add Examples to `utils/metrics.py` (#921)
YijieZhu15 May 1, 2025
c05a6b7
🔧 `mypy` type check `tools/` and `utils/` (#931)
Jiaqi-Lv May 2, 2025
b6eefcf
:technologist: pre-commit autoupdate (#932)
pre-commit-ci[bot] May 9, 2025
3eea490
✨ Add Feature to Write Model Probabilities as `ome.tiff` for Overlay …
shaneahmed May 9, 2025
d94014f
:sparkles: Add `dict_to_store_semantic_segmentor` (#926)
shaneahmed May 14, 2025
7ac64f1
🐛 Fix Consecutive Annotations Load Bug (#927)
aacic May 16, 2025
fa4efbd
:stethoscope: Add Health Check and Sessions Endpoints (#925)
aacic May 16, 2025
78d519a
:pushpin: Setup to Install `openslide-binaries` using `pip` (#936)
shaneahmed May 16, 2025
6ecb9e9
:pushpin: `tifffile >=2022.10.10, <=2025.5.10` (#937)
Jiaqi-Lv May 23, 2025
6b4a75a
🐛 Fix DICOM Reading (Issue #933) (#934)
measty May 30, 2025
b18f83a
🔧 `mypy` fix typing in `pyramid.py` (#938)
Jiaqi-Lv Jun 9, 2025
c0da691
:technologist: pre-commit autoupdate (#939)
pre-commit-ci[bot] Jun 9, 2025
b564590
🔧 `mypy` type check `wsicore` (#935)
Jiaqi-Lv Jun 10, 2025
9593cfe
🐛 Fix Multi-GPU Support with `torch.compile` (#923)
adamshephard Jun 16, 2025
22dfa11
✨ Add on-the-fly Registered Slide Visualization (#875)
measty Jun 24, 2025
6ac6f55
:technologist: pre-commit autoupdate (#944)
pre-commit-ci[bot] Jul 9, 2025
ca755f0
📝 Add `utils.visualization` Examples (#943)
YijieZhu15 Jul 24, 2025
c1eb36c
:technologist: pre-commit autoupdate (#946)
pre-commit-ci[bot] Aug 4, 2025
d5c1995
⚡ Make WSIPatchDataset Pickleable to Support Windows Multithreading (…
measty Aug 8, 2025
318aa32
:technologist: pre-commit autoupdate (#950)
pre-commit-ci[bot] Sep 2, 2025
5ccbc70
🏷️ `mypy` Update Typing in `utils.py` (#951)
Jiaqi-Lv Sep 12, 2025
3fa051f
🆕 Improve Support for `QuPath` GeoJson and Multipoint Geometry (#841)
measty Sep 12, 2025
5bb255b
🐛 Fix Contours with Holes (#956)
measty Oct 2, 2025
e3c0cc9
:technologist: pre-commit autoupdate (#957)
pre-commit-ci[bot] Oct 10, 2025
e1eb5bd
:arrow_up: Upgrade Supported Python Versions (#958)
shaneahmed Oct 16, 2025
d173a8c
🤗 HuggingFace for pretrained model weights hosting (#945)
mostafajahanifar Oct 17, 2025
c9f026b
:pushpin: Pin `Python` versions (#959)
shaneahmed Oct 17, 2025
9d0c40c
:wastebasket: Implement clean up for test outputs (#960)
shaneahmed Oct 17, 2025
adc18c9
:technologist: Fix issues with Cache processing on GitHub (#962)
shaneahmed Oct 18, 2025
1614a1f
:technologist: pre-commit autoupdate (#966)
pre-commit-ci[bot] Nov 5, 2025
3242b1a
:bug: Fix `sccnn` Model (#970)
Jiaqi-Lv Nov 14, 2025
7620358
:technologist: pre-commit autoupdate (#973)
pre-commit-ci[bot] Dec 2, 2025
ce25587
:technologist: Use `cpu-only` PyTorch for GitHub Actions (#974)
shaneahmed Dec 5, 2025
aa6c8ab
:technologist: Update `.readthedocs.yml` to Install CPU Version only …
shaneahmed Dec 18, 2025
59a22d8
🔨 Fix TileServer issues on `macOS` (#976)
Jiaqi-Lv Dec 19, 2025
1b4f642
:technologist: pre-commit autoupdate (#980)
pre-commit-ci[bot] Jan 6, 2026
56ade2b
:pushpin: Update `click` Version (#982)
shaneahmed Jan 10, 2026
65c354f
:pushpin: Update `bokeh` to `3.8.2` and Above (#984)
shaneahmed Jan 13, 2026
f38e809
♻️ Move Remote Samples to Hugging Face (#983)
Jiaqi-Lv Jan 13, 2026
5f4b454
:memo: Update contact address to `TIA@warwick.ac.uk` (#986)
shaneahmed Jan 22, 2026
78b797e
:technologist: pre-commit autoupdate (#991)
pre-commit-ci[bot] Feb 3, 2026
d9f133f
🆕Multichannel Image Reading (#825)
measty Feb 14, 2026
66f7ec2
:arrow_up: Update cuda dependency
shaneahmed Feb 27, 2026
25430d5
:technologist: pre-commit autoupdate (#1010)
pre-commit-ci[bot] Mar 3, 2026
76b59c5
⚡ Improve `Engine` Performance and Implementation (#578)
shaneahmed Mar 5, 2026
eaf2425
:technologist: Update `pip install` Workflow (#1013)
shaneahmed Mar 5, 2026
f5eddcb
:memo: Potential fixes for 2 code quality findings (#1015)
shaneahmed Mar 6, 2026
fbf8bc6
:arrow_up: Update Docker Containers (#1014)
shaneahmed Mar 6, 2026
f6853ff
Potential fix for 1 code quality finding (#1016)
shaneahmed Mar 7, 2026
f366318
Fix for An assert statement has a side-effect (#1017)
shaneahmed Mar 9, 2026
a24ba9f
Improve Dockerfiles for Ubuntu (#1019)
Jiaqi-Lv Mar 9, 2026
1b281e7
:bug: Fix Variable Defined Multiple Times (#1020)
shaneahmed Mar 9, 2026
4a37e8b
Potential fix for code scanning alert no. 1: Workflow does not contai…
shaneahmed Mar 9, 2026
0e5b723
:passport_control: Workflow Does Not Contain Permissions (#1023)
shaneahmed Mar 9, 2026
e401b71
:art: Potential Fixes for 2 code Quality Findings (#1024)
shaneahmed Mar 9, 2026
22e26d8
:zap: Improve Metadata Handling for WSI Readers (#1001)
shaneahmed Mar 10, 2026
fcbd3d1
🆕 Simplified `SAM` Segmentation in `TIAViz` (#968)
measty Mar 10, 2026
6aee523
:pencil2: Fix Notebook 11 Link (#1026)
measty Mar 10, 2026
b0b6c9f
:memo: Fix Jupyter Notebook to run on Colab (#1027)
shaneahmed Mar 10, 2026
c219b2f
:memo: Update Jupyter Notebook 06 to Run on `Colab` (#1028)
shaneahmed Mar 11, 2026
7246c70
🎨 Fix `tqdm` Progress Bar on Colab Runs (#1030)
shaneahmed Mar 11, 2026
aa42e7e
Update Nuclei Detection Notebook (#1029)
Jiaqi-Lv Mar 11, 2026
85a8fe8
:twisted_rightwards_arrows: Merge remote-tracking branch 'origin/mast…
shaneahmed Mar 11, 2026
3c83c98
:bookmark: Bump up version to `2.0.0`
shaneahmed Mar 11, 2026
9af2a8f
:bookmark: Update Copyright year
shaneahmed Mar 11, 2026
384f49e
:memo: Update Jupyter notebook links
shaneahmed Mar 11, 2026
c53a1d8
:memo: Update Jupyter notebook installation instructions
shaneahmed Mar 11, 2026
770c0c6
:pushpin: Pin library versions in requirements.txt
shaneahmed Mar 11, 2026
5f4f365
:memo: Update AUTHORS.md
shaneahmed Mar 11, 2026
8613810
:memo: Update HISTORY.md
shaneahmed Mar 11, 2026
8097f62
:hammer: Fix `pip install` Check for Windows (#1032)
shaneahmed Mar 11, 2026
a66f744
:memo: Fix HISTORY.md
shaneahmed Mar 11, 2026
1c7c39c
:memo: Update AUTHORS.md
shaneahmed Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/conda-env-create.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

name: Solve Conda Environment

permissions:
contents: read

on:
push:
paths: [ "requirements/requirements*.yml", "conda-env-create.yml", "requirement*.txt"]
Expand Down Expand Up @@ -33,7 +36,7 @@ jobs:
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Copy requirements files
shell: bash
run: |
Expand All @@ -48,3 +51,4 @@ jobs:
run: |
micromamba info
micromamba list
python -c "import torch, numpy; print(torch.__version__, numpy.__version__)"
12 changes: 6 additions & 6 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ env:
REGISTRY: ghcr.io
IMAGE_NAME: TissueImageAnalytics/tiatoolbox
image: ghcr.io/tissueimageanalytics/tiatoolbox
TOOLBOX_VER: 1.6.0
TOOLBOX_VER: 2.0.0

jobs:
build-and-push-image:
Expand All @@ -15,10 +15,6 @@ jobs:
fail-fast: true
matrix:
include:
- dockerfile: ./docker/3.9/Debian/Dockerfile
mtag: py3.9-debian
- dockerfile: ./docker/3.9/Ubuntu/Dockerfile
mtag: py3.9-ubuntu
- dockerfile: ./docker/3.10/Debian/Dockerfile
mtag: py3.10-debian
- dockerfile: ./docker/3.10/Ubuntu/Dockerfile
Expand All @@ -31,7 +27,11 @@ jobs:
mtag: py3.12-debian
- dockerfile: ./docker/3.12/Ubuntu/Dockerfile
mtag: py3.12-ubuntu
- dockerfile: ./docker/3.12/Ubuntu/Dockerfile
- dockerfile: ./docker/3.13/Ubuntu/Dockerfile
mtag: py3.13-debian
- dockerfile: ./docker/3.13/Ubuntu/Dockerfile
mtag: py3.13-ubuntu
- dockerfile: ./docker/3.13/Ubuntu/Dockerfile
mtag: latest
permissions:
contents: read
Expand Down
16 changes: 13 additions & 3 deletions .github/workflows/mypy-type-check.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# This workflow will perform code type checking using mypy

name: mypy type checking
permissions:
contents: read

on:
push:
Expand All @@ -16,7 +18,7 @@ jobs:

strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12", "3.13"]

steps:

Expand All @@ -33,17 +35,25 @@ jobs:
sudo apt update
sudo apt-get install -y libopenslide-dev openslide-tools libopenjp2-7 libopenjp2-tools
python -m pip install --upgrade pip
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements/requirements_dev.txt

- name: Perform type checking
run: |
mypy --install-types --non-interactive --follow-imports=skip \
tiatoolbox/__init__.py \
tiatoolbox/__main__.py \
tiatoolbox/typing.py \
tiatoolbox/type_hints.py \
tiatoolbox/tiatoolbox.py \
tiatoolbox/utils \
tiatoolbox/tools \
tiatoolbox/data \
tiatoolbox/annotation \
tiatoolbox/cli/common.py
tiatoolbox/cli/common.py \
tiatoolbox/models/__init__.py \
tiatoolbox/models/models_abc.py \
tiatoolbox/models/architecture/__init__.py \
tiatoolbox/models/architecture/utils.py \
tiatoolbox/wsicore/__init__.py \
tiatoolbox/wsicore/wsimeta.py \
tiatoolbox/wsicore/metadata/
258 changes: 181 additions & 77 deletions .github/workflows/pip-install.yml
Original file line number Diff line number Diff line change
@@ -1,89 +1,193 @@
# This workflow will install the package as is on the github default branch using pip

name: pip Install

on:
push:
paths: [ "requirements*.yml", "conda-env-create.yml", "requirements/requirement*.txt", "setup*py", "setup*cfg", "pytproject*toml", "MANIFEST*in"]
push:
paths:
- "requirements*.yml"
- "conda-env-create.yml"
- "requirements/requirement*.txt"
- "setup*py"
- "setup*cfg"
- "pyproject*toml"
- "MANIFEST*in"
- ".github/workflows/pip-install.yml"
pull_request:
paths:
- "requirements*.yml"
- "conda-env-create.yml"
- "requirements/requirement*.txt"
- "setup*py"
- "setup*cfg"
- "pyproject*toml"
- "MANIFEST*in"
- ".github/workflows/pip-install.yml"

permissions:
contents: read

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-24.04, windows-latest, macos-latest]

# Force UTF-8 everywhere (Windows is the one that really needs it)
env:
PYTHONUTF8: "1"
PYTHONIOENCODING: "utf-8"

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: 🐧 Install OpenSlide & OpenJPEG
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt-get install -y libopenslide-dev openslide-tools libopenjp2-7 libopenjp2-tools
python -m pip install --upgrade pip
- name: 🍎 Install OpenSlide & OpenJPEG
if: runner.os == 'macOS'
run: |
brew install openslide openjpeg
python -m pip install --upgrade pip
- name: 🪟 Install OpenJPEG
if: runner.os == 'Windows'
run: |
# Install OpenJPEG
git clone https://github.com/uclouvain/openjpeg.git
cd openjpeg
mkdir build
cd build
cmake -G "MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release
ls
make -j4
make install
make clean
- name: 🪟 Install OpenSlide
if: runner.os == 'Windows'
run: |
choco install wget --no-progress
wget https://github.com/openslide/openslide-winbuild/releases/download/v20220811/openslide-win64-20220811.zip
7z x openslide-win64-20220811.zip
ls openslide-win64-20220811
# Add to PATH
echo "$(realpath ./openslide-win64-20220811/bin)" >> $GITHUB_PATH
echo "$(realpath ./openslide-win64-20220811/lib)" >> $GITHUB_PATH
# Install
mkdir "C:\Program Files\openslide"
Copy-Item -Path ".\openslide-win64-20220811\*" -Destination "C:\Program Files\openslide" -Recurse
ls "C:/Program Files/openslide"
- name: 🪟 Install SQLite Shell
if: runner.os == 'Windows'
run: choco install sqlite.shell --no-progress
- name: SQLite Version Information
run: |
sqlite3 --version
sqlite3 ":memory:" -list ".output stdout" "pragma compile_options" ".exit"
- name: OpenSlide Version Information
if: runner.os == 'Linux'
run: openslide-quickhash1sum --version
- name: OpenJPEG Version Information
continue-on-error: true # This -h option has exit code 1 for some reason
run: opj_dump -h
- name: pip Install From GitHub Repo on Linux and macOS
if: runner.os != 'Windows'
run: python -m pip install git+https://github.com/TissueImageAnalytics/tiatoolbox@${GITHUB_REF_NAME}
- name: pip Install From GitHub on Windows
if: runner.os == 'Windows'
run: python -m pip install git+https://github.com/TissueImageAnalytics/tiatoolbox@$env:GITHUB_REF_NAME
- name: Test TIAToolbox Import
shell: python
run: |
import os
if hasattr(os, "add_dll_directory"):
# Required for Python>=3.8 on Windows
with os.add_dll_directory(r"D:\a\tiatoolbox\tiatoolbox\openslide-win64-20220811\bin"):
import tiatoolbox
else:
os.environ["PATH"] = r"D:\a\tiatoolbox\tiatoolbox\openslide-win64-20220811\bin;"
- name: Checkout
uses: actions/checkout@v4

- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
channels: conda-forge
channel-priority: strict
auto-update-conda: true

# -------------------------------
# Create environment (Linux/macOS)
# -------------------------------
- name: Create conda environment (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda create -y -n test-env python=${{ matrix.python-version }}
conda activate test-env
conda install -y openjpeg sqlite
python -m pip install --upgrade pip setuptools wheel

# -------------------------------
# Create environment (Windows)
# -------------------------------
- name: Create conda environment (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda create -y -n test-env python=${{ matrix.python-version }}
conda activate test-env
conda install -y openjpeg sqlite
python -m pip install --upgrade pip setuptools wheel

# -------------------------------
# Verify SQLite
# -------------------------------
- name: Verify SQLite (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate test-env
sqlite3 --version
sqlite3 ":memory:" -list ".output stdout" "pragma compile_options" ".exit"

- name: Verify SQLite (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda activate test-env
sqlite3 --version
sqlite3 ":memory:" -list ".output stdout" "pragma compile_options" ".exit"

# -------------------------------
# Verify OpenJPEG
# -------------------------------
- name: Verify OpenJPEG (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate test-env
opj_dump -h || true # -h exits with code 1 in some builds

- name: Verify OpenJPEG (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda activate test-env
opj_dump -h || true # -h exits with code 1 in some builds

# -------------------------------
# Install PyTorch (CPU-only)
# -------------------------------
- name: Install CPU-only PyTorch (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate test-env
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

- name: Install CPU-only PyTorch (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda activate test-env
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

# -------------------------------
# (Windows only) make console UTF-8 (extra safety)
# -------------------------------
- name: Ensure UTF-8 console (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
chcp 65001 > $null
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

# -------------------------------
# Install tiatoolbox from this commit
# -------------------------------
- name: Install tiatoolbox (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate test-env
pip install git+https://github.com/TissueImageAnalytics/tiatoolbox@${GITHUB_SHA}

- name: Install tiatoolbox (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda activate test-env
pip install git+https://github.com/TissueImageAnalytics/tiatoolbox@$env:GITHUB_SHA

# -------------------------------
# Test Imports
# -------------------------------
- name: Test Imports (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
run: |
source $CONDA/etc/profile.d/conda.sh
conda activate test-env
python - << 'EOF'
import tiatoolbox
print("tiatoolbox:", tiatoolbox.__version__)
import openslide
print("openslide:", openslide.__version__)
import torch
print("torch:", torch.__version__)
EOF

- name: Test Imports (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
conda activate test-env
@"
import tiatoolbox
print("tiatoolbox:", tiatoolbox.__version__)
import openslide
print("openslide:", openslide.__version__)
import torch
print("torch:", torch.__version__)
"@ | python -
Loading
Loading