Skip to content

Commit 075c472

Browse files
shaneahmedJohn-Pmeastyruqayyamostafajahanifar
authored
🔖 REL: Release 1.3.0 (#523)
# 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]>
1 parent 1c11b1e commit 075c472

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+3851
-1849
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Publish Dockers
2+
on:
3+
workflow_dispatch
4+
5+
env:
6+
REGISTRY: ghcr.io
7+
IMAGE_NAME: TissueImageAnalytics/tiatoolbox
8+
image: ghcr.io/tissueimageanalytics/tiatoolbox
9+
TOOLBOX_VER: 1.3.1
10+
11+
jobs:
12+
build-and-push-image:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
fail-fast: true
16+
matrix:
17+
include:
18+
- dockerfile: ./docker/3.7/Debian/Dockerfile
19+
mtag: py3.7-debian
20+
- dockerfile: ./docker/3.8/Debian/Dockerfile
21+
mtag: py3.8-debian
22+
- dockerfile: ./docker/3.9/Debian/Dockerfile
23+
mtag: py3.9-debian
24+
- dockerfile: ./docker/3.9/Ubuntu/Dockerfile
25+
mtag: py3.9-ubuntu
26+
- dockerfile: ./docker/3.10/Debian/Dockerfile
27+
mtag: py3.10-debian
28+
- dockerfile: ./docker/3.10/Ubuntu/Dockerfile
29+
mtag: py3.10-ubuntu
30+
- dockerfile: ./docker/3.10/Ubuntu/Dockerfile
31+
mtag: latest
32+
permissions:
33+
contents: read
34+
packages: write
35+
id-token: write
36+
37+
steps:
38+
- name: Checkout repository
39+
uses: actions/checkout@v3
40+
41+
- name: Log in to the Container registry
42+
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
43+
with:
44+
registry: ${{ env.REGISTRY }}
45+
username: ${{ github.actor }}
46+
password: ${{ secrets.GITHUB_TOKEN }}
47+
48+
- name: Publishing with 'latest' tag
49+
if: contains(matrix.mtag, 'latest')
50+
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
51+
with:
52+
context: .
53+
file: ${{ matrix.dockerfile }}
54+
push: true
55+
tags: "${{ env.image }}:${{ matrix.mtag }}"
56+
57+
- name: Publishing with explicit tags
58+
if: ${{ !contains(matrix.mtag, 'latest') }}
59+
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
60+
with:
61+
context: .
62+
file: ${{ matrix.dockerfile }}
63+
push: true
64+
tags: "${{ env.image }}:${{ env.TOOLBOX_VER }}-${{ matrix.mtag }}"

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ authors:
4444
given-names: "Shan E Ahmed"
4545
orcid: "https://orcid.org/0000-0002-1097-1738"
4646
title: "TIAToolbox as an end-to-end library for advanced tissue image analytics"
47-
version: 1.3.0
47+
version: 1.3.1 # TIAToolbox version
4848
doi: 10.5281/zenodo.5802442
4949
date-released: 2022-10-20
5050
url: "https://github.com/TissueImageAnalytics/tiatoolbox"

HISTORY.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# History
22

3+
# 1.3.1 (2022-12-20)
4+
5+
### Major Updates and Feature Improvements
6+
7+
- Adds [NuClick](https://arxiv.org/abs/2005.14511) architecture #449
8+
- Adds Annotation Store Reader #476
9+
- Adds [DFBR](https://arxiv.org/abs/2202.09971) method for registering pair of images #510
10+
11+
### Changes to API
12+
13+
- Adds a sample SVS loading function `tiatoolbox.data.small_svs()` to the data module #517
14+
15+
### Bug Fixes and Other Changes
16+
17+
- Simplifies example notebook for image reading for better readability
18+
- Restricts Shapely version to \<2.0.0 for compatibility
19+
20+
### Development related changes
21+
22+
- Adds GitHub workflow for automatic generation of docker image
23+
- Updates dependencies
24+
- Updates bump2version config
25+
- Enables flake8 E800 checks for commented codes.
26+
- Fixes several errors generated by DeepSource.
27+
- Prevent test dumping file to root
28+
- Removes duplicate functions to generate parameterized test scenarios
29+
330
## 1.3.0 (2022-10-20)
431

532
### Major Updates and Feature Improvements

docker/3.10/Debian/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.10-slim-bullseye
2+
3+
#get linux packages
4+
RUN apt-get -y update && apt-get -y install --no-install-recommends \
5+
libopenjp2-7-dev libopenjp2-tools \
6+
openslide-tools \
7+
libgl1 \
8+
build-essential \
9+
&& pip3 --no-cache-dir install tiatoolbox \
10+
&& apt-get clean \
11+
&& rm -rf /var/lib/apt/lists/*

docker/3.10/Ubuntu/Dockerfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM ubuntu:22.04 AS builder-image
2+
3+
# To avoid tzdata blocking the build with frontend questions
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
6+
# Install python3.10
7+
RUN : \
8+
&& apt-get update && apt upgrade \
9+
&& apt install software-properties-common -y \
10+
&& add-apt-repository ppa:deadsnakes/ppa -y && apt update \
11+
&& apt-get install -y --no-install-recommends python3.10-venv \
12+
&& apt-get install libpython3.10-de -y \
13+
&& apt-get install python3.10-dev -y \
14+
&& apt-get install build-essential -y \
15+
&& apt-get clean \
16+
&& :
17+
18+
# Add env to PATH
19+
RUN python3.10 -m venv /venv
20+
ENV PATH=/venv/bin:$PATH
21+
22+
# install TIAToolbox and its requirements
23+
RUN apt-get update && apt-get install --no-install-recommends -y \
24+
libopenjp2-7-dev libopenjp2-tools \
25+
openslide-tools \
26+
libgl1 \
27+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
28+
RUN pip install --no-cache-dir tiatoolbox
29+
30+
# activate virtual environment
31+
ENV VIRTUAL_ENV=/opt/venv
32+
ENV PATH="/opt/venv/bin:$PATH"

docker/3.7/Debian/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.7-slim-bullseye
2+
3+
#get linux packages
4+
RUN apt-get -y update && apt-get -y install --no-install-recommends \
5+
libopenjp2-7-dev libopenjp2-tools \
6+
openslide-tools \
7+
libgl1 \
8+
build-essential \
9+
&& pip3 --no-cache-dir install tiatoolbox \
10+
&& apt-get clean \
11+
&& rm -rf /var/lib/apt/lists/*

docker/3.8/Debian/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.8-slim-bullseye
2+
3+
#get linux packages
4+
RUN apt-get -y update && apt-get -y install --no-install-recommends \
5+
libopenjp2-7-dev libopenjp2-tools \
6+
openslide-tools \
7+
libgl1 \
8+
build-essential \
9+
&& pip3 --no-cache-dir install tiatoolbox \
10+
&& apt-get clean \
11+
&& rm -rf /var/lib/apt/lists/*

docker/3.9/Debian/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.9-slim-bullseye
2+
3+
#get linux packages
4+
RUN apt-get -y update && apt-get -y install --no-install-recommends \
5+
libopenjp2-7-dev libopenjp2-tools \
6+
openslide-tools \
7+
libgl1 \
8+
build-essential \
9+
&& pip3 --no-cache-dir install tiatoolbox \
10+
&& apt-get clean \
11+
&& rm -rf /var/lib/apt/lists/*

docker/3.9/Ubuntu/Dockerfile

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
FROM ubuntu:22.04 AS builder-image
2+
3+
# To avoid tzdata blocking the build with frontend questions
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
6+
# Install python3.9
7+
RUN : \
8+
&& apt-get update && apt upgrade \
9+
&& apt install software-properties-common -y \
10+
&& add-apt-repository ppa:deadsnakes/ppa -y && apt update \
11+
&& apt-get install -y --no-install-recommends python3.9-venv \
12+
&& apt-get install libpython3.9-de -y \
13+
&& apt-get install python3.9-dev -y \
14+
&& apt-get install build-essential -y \
15+
&& apt-get clean \
16+
&& :
17+
18+
# Add env to PATH
19+
RUN python3.9 -m venv /venv
20+
ENV PATH=/venv/bin:$PATH
21+
22+
# install TIAToolbox and its requirements
23+
RUN apt-get update && apt-get install --no-install-recommends -y \
24+
libopenjp2-7-dev libopenjp2-tools \
25+
openslide-tools \
26+
libgl1 \
27+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
28+
RUN pip install --no-cache-dir tiatoolbox
29+
30+
# activate virtual environment
31+
ENV VIRTUAL_ENV=/opt/venv
32+
ENV PATH="/opt/venv/bin:$PATH"
33+
34+
CMD ["python"]

docs/images/wsi-registration.png

-452 KB
Loading

0 commit comments

Comments
 (0)