imaging-server-kit 0.0.15__tar.gz → 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/.github/workflows/deploy.yml +5 -4
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/PKG-INFO +53 -18
- imaging_server_kit-0.1.0/README.md +75 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/docs/_config.yml +4 -1
- imaging_server_kit-0.1.0/docs/_static/oripy_threshold.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/progressive_threshold.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/server_napari.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/stardist_blobs.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/tiles.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/tiling2.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_static/yolo-stream.mp4 +0 -0
- imaging_server_kit-0.1.0/docs/_toc.yml +15 -0
- imaging_server_kit-0.1.0/docs/assets/demo_napari_screenshot.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/gaussian_result.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/meta_sc.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/samples_sc.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/screenshot_napari_threshold.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/screenshot_server.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/server_running.png +0 -0
- imaging_server_kit-0.1.0/docs/assets/threshold_qupath.png +0 -0
- imaging_server_kit-0.1.0/docs/index.md +99 -0
- imaging_server_kit-0.1.0/docs/sections/00_getting_started.md +77 -0
- imaging_server_kit-0.1.0/docs/sections/01_algorithm.ipynb +424 -0
- imaging_server_kit-0.1.0/docs/sections/02_samples.ipynb +106 -0
- imaging_server_kit-0.1.0/docs/sections/03_metadata.ipynb +101 -0
- imaging_server_kit-0.1.0/docs/sections/04_multialgo.ipynb +108 -0
- imaging_server_kit-0.1.0/docs/sections/05_streams.ipynb +147 -0
- imaging_server_kit-0.1.0/docs/sections/06_tiled.ipynb +110 -0
- imaging_server_kit-0.1.0/docs/sections/07_server.md +61 -0
- imaging_server_kit-0.1.0/docs/sections/08_python.ipynb +407 -0
- imaging_server_kit-0.1.0/docs/sections/09_docker.md +57 -0
- imaging_server_kit-0.1.0/docs/sections/10_types.md +22 -0
- imaging_server_kit-0.1.0/docs/sections/11_examples.md +3 -0
- imaging_server_kit-0.1.0/examples/readme.md +4 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/pyproject.toml +16 -14
- imaging_server_kit-0.1.0/src/imaging_server_kit/__init__.py +165 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/_version.py +16 -3
- imaging_server_kit-0.1.0/src/imaging_server_kit/cli.py +65 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/__init__.py +14 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/_etc.py +158 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/algorithm.py +450 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/app.py +329 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/client.py +221 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/encoding.py +12 -12
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/errors.py +53 -8
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/multialgo.py +109 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/results.py +261 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/runner.py +211 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/serialization.py +70 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/static/css/info.css +2 -2
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/templates/index.html +3 -3
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/templates/info.html +8 -20
- imaging_server_kit-0.1.0/src/imaging_server_kit/core/tiling.py +146 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/demo/__init__.py +15 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/demo/examples.py +519 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/cookiecutter.json +2 -3
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/README.md +2 -2
- imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/docker-compose.yml → imaging_server_kit-0.1.0/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/docker-compose.yml +1 -1
- imaging_server_kit-0.1.0/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/main.py +41 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/__init__.py +55 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_bool.py +44 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_boxes.py +178 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_choice.py +59 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_float.py +57 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_image.py +132 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_integer.py +58 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_mask.py +283 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_notification.py +55 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_null.py +45 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_paths.py +79 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_points.py +196 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_string.py +44 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_tracks.py +70 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/_vectors.py +189 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/common.py +49 -0
- imaging_server_kit-0.1.0/src/imaging_server_kit/types/data_layer.py +120 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit.egg-info/PKG-INFO +53 -18
- imaging_server_kit-0.1.0/src/imaging_server_kit.egg-info/SOURCES.txt +106 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit.egg-info/requires.txt +12 -15
- imaging_server_kit-0.1.0/tests/test_basic.py +161 -0
- imaging_server_kit-0.1.0/tests/test_multialgo.py +23 -0
- imaging_server_kit-0.1.0/tests/test_results.py +32 -0
- imaging_server_kit-0.1.0/tests/test_streaming.py +70 -0
- imaging_server_kit-0.1.0/tests/test_tiling.py +144 -0
- imaging_server_kit-0.0.15/README.md +0 -38
- imaging_server_kit-0.0.15/docs/_toc.yml +0 -9
- imaging_server_kit-0.0.15/docs/assets/screenshot_napari_threshold.png +0 -0
- imaging_server_kit-0.0.15/docs/assets/screenshot_running_server.png +0 -0
- imaging_server_kit-0.0.15/docs/index.md +0 -67
- imaging_server_kit-0.0.15/docs/sections/algorithm_server.md +0 -191
- imaging_server_kit-0.0.15/docs/sections/api_endpoints.md +0 -14
- imaging_server_kit-0.0.15/docs/sections/authentication.md +0 -11
- imaging_server_kit-0.0.15/docs/sections/client_apps.md +0 -30
- imaging_server_kit-0.0.15/docs/sections/docker.md +0 -38
- imaging_server_kit-0.0.15/docs/sections/examples.md +0 -12
- imaging_server_kit-0.0.15/docs/sections/getting_started.md +0 -65
- imaging_server_kit-0.0.15/docs/sections/multi_algo_server.md +0 -40
- imaging_server_kit-0.0.15/examples/basic/auto_threshold.py +0 -38
- imaging_server_kit-0.0.15/examples/basic/multi_algo.py +0 -13
- imaging_server_kit-0.0.15/examples/basic/threshold.py +0 -37
- imaging_server_kit-0.0.15/examples/servers/docker-compose.yml +0 -14
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/README.md +0 -34
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/main.py +0 -105
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/requirements.txt +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-cellpose/sample_images/nuclei_2d.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/README.md +0 -34
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/main.py +0 -133
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/requirements.txt +0 -4
- imaging_server_kit-0.0.15/examples/servers/serverkit-orientationpy/sample_images/image1_from_OrientationJ.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/README.md +0 -30
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/main.py +0 -56
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/requirements.txt +0 -4
- imaging_server_kit-0.0.15/examples/servers/serverkit-rembg/sample_images/astronaut.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/README.md +0 -30
- imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/main.py +0 -139
- imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/requirements.txt +0 -2
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/README.md +0 -34
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/main.py +0 -63
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/requirements.txt +0 -2
- imaging_server_kit-0.0.15/examples/servers/serverkit-stackreg/sample_images/pc12-unreg.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/README.md +0 -34
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/main.py +0 -102
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/requirements.txt +0 -5
- imaging_server_kit-0.0.15/examples/servers/serverkit-stardist/sample_images/nuclei_2d.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/README.md +0 -33
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/main.py +0 -63
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/requirements.txt +0 -3
- imaging_server_kit-0.0.15/examples/servers/serverkit-trackpy/sample_images/tracks.tif +0 -0
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/Dockerfile +0 -15
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/README.md +0 -30
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/main.py +0 -103
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/requirements.txt +0 -3
- imaging_server_kit-0.0.15/examples/servers/serverkit-yolo/sample_images/giraffs.png +0 -0
- imaging_server_kit-0.0.15/main.py +0 -9
- imaging_server_kit-0.0.15/src/imaging_server_kit/__init__.py +0 -30
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/__init__.py +0 -5
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/authenticated_server.py +0 -86
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/static/css/login.css +0 -33
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/static/css/register.css +0 -33
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/static/js/login_script.js +0 -24
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/static/js/register_script.js +0 -15
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/templates/login.html +0 -21
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/templates/register.html +0 -21
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/utils/__init__.py +0 -3
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/utils/db.py +0 -34
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/utils/schemas.py +0 -15
- imaging_server_kit-0.0.15/src/imaging_server_kit/auth/utils/users.py +0 -55
- imaging_server_kit-0.0.15/src/imaging_server_kit/cli.py +0 -39
- imaging_server_kit-0.0.15/src/imaging_server_kit/client/__init__.py +0 -5
- imaging_server_kit-0.0.15/src/imaging_server_kit/client/client.py +0 -162
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/__init__.py +0 -97
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/decorator.py +0 -172
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/geometry.py +0 -260
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/serialization.py +0 -165
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/server.py +0 -278
- imaging_server_kit-0.0.15/src/imaging_server_kit/core/ui_library.py +0 -160
- imaging_server_kit-0.0.15/src/imaging_server_kit/demo/__init__.py +0 -1
- imaging_server_kit-0.0.15/src/imaging_server_kit/demo/threshold.py +0 -37
- imaging_server_kit-0.0.15/src/imaging_server_kit/hub/__init__.py +0 -6
- imaging_server_kit-0.0.15/src/imaging_server_kit/hub/algorithm_hub.py +0 -95
- imaging_server_kit-0.0.15/src/imaging_server_kit/hub/multialgo_server.py +0 -238
- imaging_server_kit-0.0.15/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/docker-compose.yml +0 -6
- imaging_server_kit-0.0.15/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/main.py +0 -58
- imaging_server_kit-0.0.15/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/sample_images/blobs.tif +0 -0
- imaging_server_kit-0.0.15/src/imaging_server_kit.egg-info/SOURCES.txt +0 -138
- imaging_server_kit-0.0.15/start_algorithm_hub.py +0 -7
- imaging_server_kit-0.0.15/tests/test_error_paths.py +0 -75
- imaging_server_kit-0.0.15/tests/test_import.py +0 -41
- imaging_server_kit-0.0.15/tests/test_multialgo_server.py +0 -91
- imaging_server_kit-0.0.15/tests/test_parameter_schema.py +0 -99
- imaging_server_kit-0.0.15/tests/test_simple_server.py +0 -59
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/.dockerignore +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/.gitattributes +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/.github/workflows/publish.yml +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/.gitignore +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/CITATION.cff +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/Dockerfile +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/Dockerfile-GPU +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/LICENSE +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/MANIFEST.in +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/build.sh +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/docs/logo.ico +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/setup.cfg +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/core/static/css/index.css +0 -0
- {imaging_server_kit-0.0.15/examples/basic → imaging_server_kit-0.1.0/src/imaging_server_kit/demo}/sample_images/blobs.tif +0 -0
- {imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log → imaging_server_kit-0.1.0/src/imaging_server_kit/demo}/sample_images/tracks.tif +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/.dockerignore +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/.gitignore +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/Dockerfile +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/requirements.txt +0 -0
- {imaging_server_kit-0.0.15/examples/servers/serverkit-skimage-log/sample_images → imaging_server_kit-0.1.0/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/samples}/blobs.tif +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit.egg-info/dependency_links.txt +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit.egg-info/entry_points.txt +0 -0
- {imaging_server_kit-0.0.15 → imaging_server_kit-0.1.0}/src/imaging_server_kit.egg-info/top_level.txt +0 -0
- {imaging_server_kit-0.0.15/src/imaging_server_kit/demo → imaging_server_kit-0.1.0/tests}/sample_images/blobs.tif +0 -0
|
@@ -5,12 +5,13 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
7
|
|
|
8
|
+
permissions:
|
|
9
|
+
pages: write
|
|
10
|
+
id-token: write
|
|
11
|
+
|
|
8
12
|
jobs:
|
|
9
13
|
deploy-book:
|
|
10
14
|
runs-on: ubuntu-latest
|
|
11
|
-
permissions:
|
|
12
|
-
pages: write
|
|
13
|
-
id-token: write
|
|
14
15
|
steps:
|
|
15
16
|
- uses: actions/checkout@v4
|
|
16
17
|
|
|
@@ -21,7 +22,7 @@ jobs:
|
|
|
21
22
|
cache: pip # Implicitly uses requirements.txt for cache key
|
|
22
23
|
|
|
23
24
|
- name: Install dependencies
|
|
24
|
-
run: pip install jupyter-book
|
|
25
|
+
run: pip install "jupyter-book<2.0" jupytext
|
|
25
26
|
|
|
26
27
|
- name: Build the book
|
|
27
28
|
run: |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: imaging-server-kit
|
|
3
|
-
Version: 0.0
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Convert image processing functions to GUIs, FastAPI servers, and more.
|
|
5
5
|
Author-email: Mallory Wittwer <mallory.wittwer@epfl.ch>
|
|
6
6
|
License: Copyright (c) 2024, EPFL
|
|
7
7
|
All rights reserved.
|
|
@@ -48,38 +48,50 @@ Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
|
48
48
|
Requires-Python: >=3.9
|
|
49
49
|
Description-Content-Type: text/markdown
|
|
50
50
|
License-File: LICENSE
|
|
51
|
-
Requires-Dist: fastapi
|
|
52
|
-
Requires-Dist: uvicorn[standard]
|
|
53
|
-
Requires-Dist: python-multipart
|
|
54
|
-
Requires-Dist: httpx
|
|
55
|
-
Requires-Dist: tifffile
|
|
56
51
|
Requires-Dist: numpy
|
|
52
|
+
Requires-Dist: tifffile
|
|
53
|
+
Requires-Dist: tqdm
|
|
54
|
+
Requires-Dist: pydantic>=2.0
|
|
57
55
|
Requires-Dist: scikit-image
|
|
58
|
-
Requires-Dist: imantics
|
|
59
|
-
Requires-Dist: geojson
|
|
60
56
|
Requires-Dist: jinja2
|
|
61
57
|
Requires-Dist: PyYAML
|
|
62
|
-
Requires-Dist: pydantic>=2.0
|
|
63
58
|
Requires-Dist: cookiecutter
|
|
64
|
-
Requires-Dist:
|
|
59
|
+
Requires-Dist: imantics
|
|
60
|
+
Requires-Dist: geojson
|
|
61
|
+
Requires-Dist: fastapi
|
|
62
|
+
Requires-Dist: uvicorn[standard]
|
|
63
|
+
Requires-Dist: python-multipart
|
|
64
|
+
Requires-Dist: msgpack
|
|
65
|
+
Requires-Dist: httpx
|
|
65
66
|
Provides-Extra: docs
|
|
66
|
-
Requires-Dist: jupyter-book; extra == "docs"
|
|
67
|
+
Requires-Dist: jupyter-book<2.0; extra == "docs"
|
|
67
68
|
Requires-Dist: jupytext; extra == "docs"
|
|
68
69
|
Provides-Extra: test
|
|
69
70
|
Requires-Dist: pytest; extra == "test"
|
|
70
|
-
Provides-Extra: users
|
|
71
|
-
Requires-Dist: fastapi-users[sqlalchemy]; extra == "users"
|
|
72
|
-
Requires-Dist: aiosqlite; extra == "users"
|
|
73
71
|
Provides-Extra: all
|
|
74
|
-
Requires-Dist: imaging-server-kit[docs,test
|
|
72
|
+
Requires-Dist: imaging-server-kit[docs,test]; extra == "all"
|
|
75
73
|
Dynamic: license-file
|
|
76
74
|
|
|
77
75
|

|
|
78
76
|
# 🪐 Imaging Server Kit
|
|
79
77
|
|
|
80
|
-
|
|
78
|
+
Turn Python-based image processing workflows into **algorithms** that gain extra functionalities.
|
|
81
79
|
|
|
82
|
-
[
|
|
80
|
+
- [**Turn your algorithms into web servers**](https://imaging-server-kit.github.io/imaging-server-kit/sections/07_server.html) and run computations from [QuPath](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit), [Napari](https://github.com/Imaging-Server-Kit/napari-serverkit), or [Python](./sections/08_python) via HTTP requests.
|
|
81
|
+
|
|
82
|
+
https://github.com/user-attachments/assets/36bda69d-996e-4240-9a53-7e76d9ea3894
|
|
83
|
+
|
|
84
|
+
- [**Generate dock widgets**](https://imaging-server-kit.github.io/imaging-server-kit/sections/01_algorithm.html) to run your algorithms interactively in Napari.
|
|
85
|
+
|
|
86
|
+
https://github.com/user-attachments/assets/1ff572f7-f159-4f5a-afd4-7a157de3d9f8
|
|
87
|
+
|
|
88
|
+
- Run your algorithms [**tile-by-tile**](https://imaging-server-kit.github.io/imaging-server-kit/sections/06_tiled.html) on the input data.
|
|
89
|
+
|
|
90
|
+
https://github.com/user-attachments/assets/47c2f734-5683-49d9-8aea-388c3a2bc16d
|
|
91
|
+
|
|
92
|
+
- [**Stream results**](https://imaging-server-kit.github.io/imaging-server-kit/sections/05_streams.html) to inspect them in real-time.
|
|
93
|
+
|
|
94
|
+
https://github.com/user-attachments/assets/a3f69a9f-fb68-4580-a804-6c57d5807b9a
|
|
83
95
|
|
|
84
96
|
## Installation
|
|
85
97
|
|
|
@@ -112,3 +124,26 @@ This software is distributed under the terms of the [BSD-3](http://opensource.or
|
|
|
112
124
|
## Issues
|
|
113
125
|
|
|
114
126
|
If you encounter any problems, please file an issue along with a detailed description.
|
|
127
|
+
|
|
128
|
+
## Citing
|
|
129
|
+
|
|
130
|
+
[](https://doi.org/10.5281/zenodo.15673151)
|
|
131
|
+
|
|
132
|
+
If you use the Imaging Server Kit in the context of scientific publication, you can cite it as below.
|
|
133
|
+
|
|
134
|
+
BibTeX:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
@software{mallory_wittwer_2025_15673152,
|
|
138
|
+
author = {Mallory Wittwer and Edward Andò and Maud Barthélemy and Florian Aymanns},
|
|
139
|
+
title = {Imaging-Server-Kit/imaging-server-kit: v0.0.14},
|
|
140
|
+
url = {https://doi.org/10.5281/zenodo.15673152},
|
|
141
|
+
doi = {10.5281/zenodo.15673152},
|
|
142
|
+
version = {v0.0.14},
|
|
143
|
+
year = 2025,
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Acknowledgements
|
|
148
|
+
|
|
149
|
+
We thank the [Personalized Health and Related Technologies](https://www.sfa-phrt.ch/) for funding this project.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+

|
|
2
|
+
# 🪐 Imaging Server Kit
|
|
3
|
+
|
|
4
|
+
Turn Python-based image processing workflows into **algorithms** that gain extra functionalities.
|
|
5
|
+
|
|
6
|
+
- [**Turn your algorithms into web servers**](https://imaging-server-kit.github.io/imaging-server-kit/sections/07_server.html) and run computations from [QuPath](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit), [Napari](https://github.com/Imaging-Server-Kit/napari-serverkit), or [Python](./sections/08_python) via HTTP requests.
|
|
7
|
+
|
|
8
|
+
https://github.com/user-attachments/assets/36bda69d-996e-4240-9a53-7e76d9ea3894
|
|
9
|
+
|
|
10
|
+
- [**Generate dock widgets**](https://imaging-server-kit.github.io/imaging-server-kit/sections/01_algorithm.html) to run your algorithms interactively in Napari.
|
|
11
|
+
|
|
12
|
+
https://github.com/user-attachments/assets/1ff572f7-f159-4f5a-afd4-7a157de3d9f8
|
|
13
|
+
|
|
14
|
+
- Run your algorithms [**tile-by-tile**](https://imaging-server-kit.github.io/imaging-server-kit/sections/06_tiled.html) on the input data.
|
|
15
|
+
|
|
16
|
+
https://github.com/user-attachments/assets/47c2f734-5683-49d9-8aea-388c3a2bc16d
|
|
17
|
+
|
|
18
|
+
- [**Stream results**](https://imaging-server-kit.github.io/imaging-server-kit/sections/05_streams.html) to inspect them in real-time.
|
|
19
|
+
|
|
20
|
+
https://github.com/user-attachments/assets/a3f69a9f-fb68-4580-a804-6c57d5807b9a
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
Install the `imaging-server-kit` package with `pip`:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
pip install imaging-server-kit
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
or clone the project and install the development version:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
git clone https://github.com/Imaging-Server-Kit/imaging-server-kit.git
|
|
34
|
+
cd imaging-server-kit
|
|
35
|
+
pip install -e .
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Getting started
|
|
39
|
+
|
|
40
|
+
The documentation is available on [this page](https://imaging-server-kit.github.io/imaging-server-kit).
|
|
41
|
+
|
|
42
|
+
## Contributing
|
|
43
|
+
|
|
44
|
+
Contributions are very welcome.
|
|
45
|
+
|
|
46
|
+
## License
|
|
47
|
+
|
|
48
|
+
This software is distributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license.
|
|
49
|
+
|
|
50
|
+
## Issues
|
|
51
|
+
|
|
52
|
+
If you encounter any problems, please file an issue along with a detailed description.
|
|
53
|
+
|
|
54
|
+
## Citing
|
|
55
|
+
|
|
56
|
+
[](https://doi.org/10.5281/zenodo.15673151)
|
|
57
|
+
|
|
58
|
+
If you use the Imaging Server Kit in the context of scientific publication, you can cite it as below.
|
|
59
|
+
|
|
60
|
+
BibTeX:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
@software{mallory_wittwer_2025_15673152,
|
|
64
|
+
author = {Mallory Wittwer and Edward Andò and Maud Barthélemy and Florian Aymanns},
|
|
65
|
+
title = {Imaging-Server-Kit/imaging-server-kit: v0.0.14},
|
|
66
|
+
url = {https://doi.org/10.5281/zenodo.15673152},
|
|
67
|
+
doi = {10.5281/zenodo.15673152},
|
|
68
|
+
version = {v0.0.14},
|
|
69
|
+
year = 2025,
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Acknowledgements
|
|
74
|
+
|
|
75
|
+
We thank the [Personalized Health and Related Technologies](https://www.sfa-phrt.ch/) for funding this project.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
format: jb-book
|
|
2
|
+
root: index
|
|
3
|
+
chapters:
|
|
4
|
+
- file: sections/00_getting_started
|
|
5
|
+
- file: sections/01_algorithm
|
|
6
|
+
- file: sections/02_samples
|
|
7
|
+
- file: sections/03_metadata
|
|
8
|
+
- file: sections/04_multialgo
|
|
9
|
+
- file: sections/05_streams
|
|
10
|
+
- file: sections/06_tiled
|
|
11
|
+
- file: sections/07_server
|
|
12
|
+
- file: sections/08_python
|
|
13
|
+
- file: sections/09_docker
|
|
14
|
+
- file: sections/10_types
|
|
15
|
+
- file: sections/11_examples
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Welcome to the Imaging Server Kit's documentation!
|
|
2
|
+
|
|
3
|
+
The **Imaging Server Kit** lets you turn Python-based image processing workflows into **algorithms** that gain extra functionalities.
|
|
4
|
+
|
|
5
|
+
```python
|
|
6
|
+
@sk.algorithm # <- Turn your function into an algorithm
|
|
7
|
+
def my_algo(image, parameter):
|
|
8
|
+
(...)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Server Kit algorithms are versatile objects that allow you run computations in a variety of ways.
|
|
12
|
+
|
|
13
|
+
For example, you can
|
|
14
|
+
|
|
15
|
+
- [**Turn your algorithm into a web server**](./sections/07_server.md), connect to it and run computations from [QuPath](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit), [Napari](https://github.com/Imaging-Server-Kit/napari-serverkit), or [Python](./sections/08_python) via HTTP requests.
|
|
16
|
+
|
|
17
|
+
<video width=512 controls loop autoplay>
|
|
18
|
+
<source src="./_static/stardist_blobs.mp4" type="video/mp4">
|
|
19
|
+
</video>
|
|
20
|
+
|
|
21
|
+
- [**Generate a dock widget**](./sections/01_algorithm) to run your algorithm interactively in Napari.
|
|
22
|
+
|
|
23
|
+
<video width=512 controls loop autoplay>
|
|
24
|
+
<source src="./_static/oripy_threshold.mp4" type="video/mp4">
|
|
25
|
+
</video>
|
|
26
|
+
|
|
27
|
+
- Run your algorithm [**tile-by-tile**](./sections/06_tiled) on the input image.
|
|
28
|
+
|
|
29
|
+
<video width=512 controls loop autoplay>
|
|
30
|
+
<source src="./_static/tiles.mp4" type="video/mp4">
|
|
31
|
+
</video>
|
|
32
|
+
|
|
33
|
+
- [**Stream results**](./sections/05_streams) to inspect them in real-time.
|
|
34
|
+
|
|
35
|
+
<video width=512 controls loop autoplay>
|
|
36
|
+
<source src="./_static/yolo-stream.mp4" type="video/webm">
|
|
37
|
+
</video>
|
|
38
|
+
|
|
39
|
+
On top of that, you can [**validate data**](./sections/08_python) passed as algorithm parameters, provide [**samples**](./sections/02_samples), and generate [**documentation**](./sections/03_metadata) for your algorithm that you can share with users.
|
|
40
|
+
|
|
41
|
+
This documentation will give you a conceptual overview of the package, and walk you through the steps to learn [how to create an algorithm](./sections/01_algorithm), and give you some [suggestions of use cases](./sections/11_examples).
|
|
42
|
+
|
|
43
|
+
## Contents
|
|
44
|
+
|
|
45
|
+
```{tableofcontents}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
Install the `imaging-server-kit` package with `pip`:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
pip install imaging-server-kit
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
or clone the project and install the development version:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
git clone https://github.com/Imaging-Server-Kit/imaging-server-kit.git
|
|
60
|
+
cd imaging-server-kit
|
|
61
|
+
pip install -e .
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Napari plugin**
|
|
65
|
+
|
|
66
|
+
Install the [napari-serverkit](https://github.com/Imaging-Server-Kit/napari-serverkit) plugin with `pip` to enable all [Napari](https://napari.org/stable/)-related functionalities.
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
pip install napari-serverkit
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**QuPath extention**
|
|
73
|
+
|
|
74
|
+
To use the Imaging Server Kit in [QuPath](https://qupath.github.io/), follow the installation instructions at [qupath-extension-serverkit](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit).
|
|
75
|
+
|
|
76
|
+
## License
|
|
77
|
+
|
|
78
|
+
This software is distributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license.
|
|
79
|
+
|
|
80
|
+
## Citing
|
|
81
|
+
|
|
82
|
+
If you use `imaging-server-kit` in the context of scientific publication, you can cite it as below.
|
|
83
|
+
|
|
84
|
+
BibTeX:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
@software{mallory_wittwer_2025_15673152,
|
|
88
|
+
author = {Mallory Wittwer and Edward Andò and Maud Barthélemy and Florian Aymanns},
|
|
89
|
+
title = {Imaging-Server-Kit/imaging-server-kit: v0.0.14},
|
|
90
|
+
url = {https://doi.org/10.5281/zenodo.15673152},
|
|
91
|
+
doi = {10.5281/zenodo.15673152},
|
|
92
|
+
version = {v0.0.14},
|
|
93
|
+
year = 2025,
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Acknowledgements
|
|
98
|
+
|
|
99
|
+
We thank the [Personalized Health and Related Technologies](https://www.sfa-phrt.ch/) for funding this project.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Getting started
|
|
2
|
+
|
|
3
|
+
The following section will give you a first introduction to the Imaging Server Kit using a set of **interactive demos**.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Make sure to have installed the required packages:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
pip install imaging-server-kit napari-serverkit
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Run the Napari demo
|
|
14
|
+
|
|
15
|
+
The Napari demo will give you a first idea of what the package can do. From a terminal, run:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
serverkit demo napari
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This command should open a **Napari viewer** with the *Server Kit* plugin already loaded. In the *Algorithm* dropdown, you will see a list of available algorithms.
|
|
22
|
+
|
|
23
|
+

|
|
24
|
+
|
|
25
|
+
When you select an **algorithm**, the *Parameters* panel will update to display a list of tunable **parameters** for the algorithm.
|
|
26
|
+
|
|
27
|
+
Most algorithms require an input image. You can **load a sample image** from the *Samples* dropdown. Once you have loaded an image, you can **run** the algorithm and visualize the results in the Napari viewer.
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
Some algorithms automatically re-run when you change a parameters; for example, *Intensity threshold* updates the output directly when you adjust the threshold value.
|
|
32
|
+
|
|
33
|
+
```{admonition} Algo docs
|
|
34
|
+
You can access a **documentation page** for an algorithm in a web browser by clickin the **🌐 Doc** button. The documentation page provides a description of the algorithm as well as detailed information about its parameters.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Run the server demo
|
|
38
|
+
|
|
39
|
+
To explore how algorithms can be served over HTTP, start the local demo server:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
serverkit demo serve
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This launches a web server on your local machine at http://localhost:8000. If you open that page in your browser,you will see an overview of the algorithms available on the server.
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
### Connect from Napari
|
|
50
|
+
|
|
51
|
+
While your server is running, you can connect to it directly from Napari. Open another terminal and run:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
napari -w napari-serverkit
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This is equivalent to opening the plugin in Napari from `Plugins > Server Kit (Napari Server Kit)`.
|
|
58
|
+
|
|
59
|
+
In the plugin panel, enter the server address (http://localhost:8000) and press *Connect*. The *Algorithm* dropdown will populate with the available algorithms. You can use them just like in the local case.
|
|
60
|
+
|
|
61
|
+
<video width=640 controls loop autoplay>
|
|
62
|
+
<source src="../_static/server_napari.mp4" type="video/mp4">
|
|
63
|
+
</video>
|
|
64
|
+
|
|
65
|
+
```{note}
|
|
66
|
+
In this demo, both client and server run on your local machine, but keep in mind that the server could also be hosted on another machine in your local network (workstation, cluster node, raspberry pi, etc.).
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Connect from QuPath
|
|
70
|
+
|
|
71
|
+
You can also use Server Kit algorithms direction from QuPath, for segmentation and object detection tasks. To try this out, follow the instructions in the [qupath-extension-serverkit](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit) repository.
|
|
72
|
+
|
|
73
|
+

|
|
74
|
+
|
|
75
|
+
## Next steps
|
|
76
|
+
|
|
77
|
+
In the next section, you will learn to **create your own algorithm** in Python, so that it can be served, documented, and used in Napari just like the examples from the demo.
|