imaging-server-kit 0.0.8__tar.gz → 0.0.9__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.
Files changed (136) hide show
  1. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/PKG-INFO +3 -2
  2. imaging_server_kit-0.0.9/docs/index.md +50 -0
  3. imaging_server_kit-0.0.9/examples/servers/serverkit-cellpose/README.md +34 -0
  4. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-cellpose/main.py +2 -2
  5. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-cellpose/requirements.txt +1 -1
  6. imaging_server_kit-0.0.9/examples/servers/serverkit-orientationpy/README.md +34 -0
  7. imaging_server_kit-0.0.9/examples/servers/serverkit-rembg/README.md +30 -0
  8. imaging_server_kit-0.0.9/examples/servers/serverkit-skimage-log/README.md +30 -0
  9. imaging_server_kit-0.0.9/examples/servers/serverkit-stardist/README.md +34 -0
  10. imaging_server_kit-0.0.9/examples/servers/serverkit-stardist/requirements.txt +5 -0
  11. imaging_server_kit-0.0.9/examples/servers/serverkit-trackpy/README.md +33 -0
  12. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/pyproject.toml +2 -1
  13. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/_version.py +2 -2
  14. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/decorator.py +3 -2
  15. imaging_server_kit-0.0.9/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/README.md +34 -0
  16. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/PKG-INFO +3 -2
  17. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/requires.txt +1 -0
  18. imaging_server_kit-0.0.8/docs/index.md +0 -54
  19. imaging_server_kit-0.0.8/examples/servers/serverkit-cellpose/README.md +0 -89
  20. imaging_server_kit-0.0.8/examples/servers/serverkit-orientationpy/README.md +0 -50
  21. imaging_server_kit-0.0.8/examples/servers/serverkit-rembg/README.md +0 -51
  22. imaging_server_kit-0.0.8/examples/servers/serverkit-skimage-log/README.md +0 -51
  23. imaging_server_kit-0.0.8/examples/servers/serverkit-stardist/README.md +0 -89
  24. imaging_server_kit-0.0.8/examples/servers/serverkit-stardist/requirements.txt +0 -4
  25. imaging_server_kit-0.0.8/examples/servers/serverkit-trackpy/README.md +0 -82
  26. imaging_server_kit-0.0.8/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/README.md +0 -50
  27. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/.dockerignore +0 -0
  28. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/.gitattributes +0 -0
  29. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/.github/workflows/deploy.yml +0 -0
  30. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/.github/workflows/publish.yml +0 -0
  31. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/.gitignore +0 -0
  32. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/Dockerfile +0 -0
  33. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/Dockerfile-GPU +0 -0
  34. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/LICENSE +0 -0
  35. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/MANIFEST.in +0 -0
  36. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/README.md +0 -0
  37. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/build.sh +0 -0
  38. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/_config.yml +0 -0
  39. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/_toc.yml +0 -0
  40. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/assets/screenshot_napari_threshold.png +0 -0
  41. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/assets/screenshot_running_server.png +0 -0
  42. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/logo.ico +0 -0
  43. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/algorithm_server.md +0 -0
  44. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/api_endpoints.md +0 -0
  45. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/authentication.md +0 -0
  46. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/client_apps.md +0 -0
  47. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/docker.md +0 -0
  48. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/examples.md +0 -0
  49. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/getting_started.md +0 -0
  50. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/docs/sections/multi_algo_server.md +0 -0
  51. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/basic/auto_threshold.py +0 -0
  52. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/basic/multi_algo.py +0 -0
  53. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/basic/sample_images/blobs.tif +0 -0
  54. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/basic/threshold.py +0 -0
  55. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/docker-compose.yml +0 -0
  56. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-cellpose/Dockerfile +0 -0
  57. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-cellpose/docker-compose.yml +0 -0
  58. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-cellpose/sample_images/nuclei_2d.tif +0 -0
  59. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-orientationpy/Dockerfile +0 -0
  60. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-orientationpy/docker-compose.yml +0 -0
  61. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-orientationpy/main.py +0 -0
  62. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-orientationpy/requirements.txt +0 -0
  63. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-orientationpy/sample_images/image1_from_OrientationJ.tif +0 -0
  64. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-rembg/Dockerfile +0 -0
  65. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-rembg/docker-compose.yml +0 -0
  66. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-rembg/main.py +0 -0
  67. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-rembg/requirements.txt +0 -0
  68. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-rembg/sample_images/astronaut.tif +0 -0
  69. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/Dockerfile +0 -0
  70. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/docker-compose.yml +0 -0
  71. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/main.py +0 -0
  72. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/requirements.txt +0 -0
  73. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/sample_images/blobs.tif +0 -0
  74. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-skimage-log/sample_images/tracks.tif +0 -0
  75. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-stardist/Dockerfile +0 -0
  76. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-stardist/docker-compose.yml +0 -0
  77. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-stardist/main.py +0 -0
  78. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-stardist/sample_images/nuclei_2d.tif +0 -0
  79. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-trackpy/Dockerfile +0 -0
  80. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-trackpy/docker-compose.yml +0 -0
  81. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-trackpy/main.py +0 -0
  82. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-trackpy/requirements.txt +0 -0
  83. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/examples/servers/serverkit-trackpy/sample_images/tracks.tif +0 -0
  84. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/main.py +0 -0
  85. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/setup.cfg +0 -0
  86. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/__init__.py +0 -0
  87. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/__init__.py +0 -0
  88. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/authenticated_server.py +0 -0
  89. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/static/css/login.css +0 -0
  90. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/static/css/register.css +0 -0
  91. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/static/js/login_script.js +0 -0
  92. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/static/js/register_script.js +0 -0
  93. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/templates/login.html +0 -0
  94. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/templates/register.html +0 -0
  95. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/utils/__init__.py +0 -0
  96. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/utils/db.py +0 -0
  97. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/utils/schemas.py +0 -0
  98. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/auth/utils/users.py +0 -0
  99. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/cli.py +0 -0
  100. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/client/__init__.py +0 -0
  101. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/client/client.py +0 -0
  102. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/__init__.py +0 -0
  103. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/encoding.py +0 -0
  104. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/errors.py +0 -0
  105. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/geometry.py +0 -0
  106. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/serialization.py +0 -0
  107. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/server.py +0 -0
  108. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/static/css/index.css +0 -0
  109. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/static/css/info.css +0 -0
  110. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/templates/index.html +0 -0
  111. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/templates/info.html +0 -0
  112. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/core/ui_library.py +0 -0
  113. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/demo/__init__.py +0 -0
  114. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/demo/sample_images/blobs.tif +0 -0
  115. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/demo/threshold.py +0 -0
  116. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/hub/__init__.py +0 -0
  117. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/hub/algorithm_hub.py +0 -0
  118. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/hub/multialgo_server.py +0 -0
  119. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/cookiecutter.json +0 -0
  120. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/.dockerignore +0 -0
  121. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/.gitignore +0 -0
  122. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/Dockerfile +0 -0
  123. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/docker-compose.yml +0 -0
  124. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/main.py +0 -0
  125. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/requirements.txt +0 -0
  126. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit/template/serverkit-{{ cookiecutter.project_slug }}/sample_images/blobs.tif +0 -0
  127. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/SOURCES.txt +0 -0
  128. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/dependency_links.txt +0 -0
  129. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/entry_points.txt +0 -0
  130. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/src/imaging_server_kit.egg-info/top_level.txt +0 -0
  131. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/start_algorithm_hub.py +0 -0
  132. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/tests/test_error_paths.py +0 -0
  133. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/tests/test_import.py +0 -0
  134. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/tests/test_multialgo_server.py +0 -0
  135. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/tests/test_parameter_schema.py +0 -0
  136. {imaging_server_kit-0.0.8 → imaging_server_kit-0.0.9}/tests/test_simple_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: imaging-server-kit
3
- Version: 0.0.8
3
+ Version: 0.0.9
4
4
  Summary: Deploy image processing algorithms in FastAPI servers.
5
5
  Author-email: Mallory Wittwer <mallory.wittwer@epfl.ch>
6
6
  License: Copyright (c) 2024, EPFL
@@ -31,8 +31,8 @@ License: Copyright (c) 2024, EPFL
31
31
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
32
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
33
 
34
- Project-URL: homepage, https://imaging-server-kit.github.io/imaging-server-kit
35
34
  Project-URL: repository, https://github.com/Imaging-Server-Kit/imaging-server-kit
35
+ Project-URL: documentation, https://imaging-server-kit.github.io/imaging-server-kit
36
36
  Classifier: Development Status :: 2 - Pre-Alpha
37
37
  Classifier: Intended Audience :: Developers
38
38
  Classifier: License :: OSI Approved :: BSD License
@@ -61,6 +61,7 @@ Requires-Dist: jinja2
61
61
  Requires-Dist: PyYAML
62
62
  Requires-Dist: pydantic>=2.0
63
63
  Requires-Dist: cookiecutter
64
+ Requires-Dist: opencv-contrib-python-headless
64
65
  Provides-Extra: docs
65
66
  Requires-Dist: jupyter-book; extra == "docs"
66
67
  Requires-Dist: jupytext; extra == "docs"
@@ -0,0 +1,50 @@
1
+ # Welcome to the Imaging Server Kit's documentation!
2
+
3
+ The **Imaging Server Kit** is an open-source Python package for deploying image analysis algorithms as web services.
4
+
5
+ - Run computations remotely, while client applications remain focused on visualization.
6
+ - Connect to an algorithm server and run algorithms from [QuPath](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit), [Napari](https://github.com/Imaging-Server-Kit/napari-serverkit), and Python.
7
+
8
+ ## Key Features
9
+
10
+ - Turn standard Python functions into fully-featured image processing web servers with minimal effort.
11
+
12
+ ```python
13
+ @algorithm_server({"image": ImageUI()})
14
+ def segmentation_server(image):
15
+ segmentation = # your code here
16
+ return [(segmentation, {}, "mask")]
17
+ ```
18
+
19
+ ## Supported image analysis tasks
20
+
21
+ | Task | Examples | Napari | QuPath |
22
+ |-------------------|---------------------------------| ------ | ------ |
23
+ | Segmentation | [StarDist](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-stardist), [CellPose](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-cellpose), [Rembg](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-rembg), [SAM-2](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-sam2), [InstanSeg](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-instanseg) | ✅ | ✅ |
24
+ | Object detection | [Spotiflow](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-spotiflow), [LoG detector](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-skimage-log) | ✅ | ✅ |
25
+ | Vector fields | [Orientationpy](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-orientationpy) | ✅ | ✅ |
26
+ | Object tracking | [Trackpy](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples/servers/serverkit-trackpy), [Trackastra]() | ✅ | |
27
+ | Image-to-Image | [SPAM](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-spam), [Noise2Void](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-n2v) | ✅ | |
28
+ | Text-to-Image | [Stable Diffusion](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-stable-diffusion) | ✅ | |
29
+ | Image-to-Text | [Image captioning](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-blip-captioning) | ✅ | |
30
+ | Classification | [ResNet50](https://github.com/Imaging-Server-Kit/extra-examples/tree/main/examples/serverkit-resnet50) | ✅ | |
31
+
32
+ ## Installation
33
+
34
+ Install the `imaging-server-kit` package with `pip`:
35
+
36
+ ```
37
+ pip install imaging-server-kit
38
+ ```
39
+
40
+ or clone the project and install the development version:
41
+
42
+ ```
43
+ git clone https://github.com/Imaging-Server-Kit/imaging-server-kit.git
44
+ cd imaging-server-kit
45
+ pip install -e .
46
+ ```
47
+
48
+ ## License
49
+
50
+ This software is distributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license.
@@ -0,0 +1,34 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # serverkit-cellpose
3
+
4
+ Implementation of a web server for [CellPose](https://github.com/MouseLand/cellpose).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
31
+
32
+ ## Sample images provenance
33
+
34
+ - `nuclei_2d.tif`: Fluorescence microscopy image and mask from the 2018 kaggle DSB challenge (Caicedo et al. "Nucleus segmentation across imaging experiments: the 2018 Data Science Bowl." Nature methods 16.12).
@@ -70,7 +70,7 @@ def cellpose_server(
70
70
  cellprob_threshold: float,
71
71
  ) -> List[tuple]:
72
72
  """Runs the algorithm."""
73
- model = models.Cellpose(
73
+ model = models.CellposeModel(
74
74
  gpu=False, # For now
75
75
  model_type=model_name,
76
76
  )
@@ -81,7 +81,7 @@ def cellpose_server(
81
81
  "Diameter is set to None. The size of the cells will be estimated on a per image basis"
82
82
  )
83
83
 
84
- segmentation, flows, styles, diams = model.eval(
84
+ segmentation, flows, styles = model.eval(
85
85
  image,
86
86
  diameter=diameter,
87
87
  flow_threshold=flow_threshold,
@@ -3,4 +3,4 @@ cellpose
3
3
  torch
4
4
  torchvision
5
5
  torchaudio
6
- opencv-python-headless
6
+ opencv-contrib-python-headless
@@ -0,0 +1,34 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # serverkit-orientationpy
3
+
4
+ Implementation of a web server for [Orientationpy](https://gitlab.com/epfl-center-for-imaging/orientationpy).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
31
+
32
+ ## Sample images provenance
33
+
34
+ - `image1_from_OrientationJ.tif`: Example image from [OrientationJ](https://bigwww.epfl.ch/demo/orientationj/).
@@ -0,0 +1,30 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # Rembg API in docker
3
+
4
+ Implementation of a web API server for [rembg](https://github.com/danielgatis/rembg).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
@@ -0,0 +1,30 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # Scikit-image LoG detector API in docker
3
+
4
+ Implementation of a web API server for [Scikit Image's LoG detector](https://scikit-image.org/docs/stable/api/skimage.feature.html#skimage.feature.blob_log).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
@@ -0,0 +1,34 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # serverkit-stardist
3
+
4
+ Implementation of a web server for [StarDist (2D)](https://github.com/stardist/stardist).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
31
+
32
+ ## Sample images provenance
33
+
34
+ - `nuclei_2d.tif`: Fluorescence microscopy image and mask from the 2018 kaggle DSB challenge (Caicedo et al. "Nucleus segmentation across imaging experiments: the 2018 Data Science Bowl." Nature methods 16.12).
@@ -0,0 +1,5 @@
1
+ imaging-server-kit
2
+ tensorflow
3
+ stardist
4
+ numpy==1.26.4
5
+ opencv-contrib-python-headless
@@ -0,0 +1,33 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # serverkit-trackpy
3
+
4
+ Implementation of a web server for [Trackpy](https://soft-matter.github.io/trackpy/) (linking only).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
31
+ ## Sample images provenance -->
32
+
33
+ - `tracks.tif`: Example image from the [Trackmate](https://imagej.net/plugins/trackmate/tutorials/getting-started) getting started guide.
@@ -36,6 +36,7 @@ dependencies = [
36
36
  "PyYAML",
37
37
  "pydantic>=2.0",
38
38
  "cookiecutter",
39
+ "opencv-contrib-python-headless",
39
40
  ]
40
41
 
41
42
  [project.optional-dependencies]
@@ -48,8 +49,8 @@ all = ["imaging-server-kit[docs,test,users]"]
48
49
  serverkit = "imaging_server_kit.cli:main"
49
50
 
50
51
  [project.urls]
51
- homepage = "https://imaging-server-kit.github.io/imaging-server-kit"
52
52
  repository = "https://github.com/Imaging-Server-Kit/imaging-server-kit"
53
+ documentation = "https://imaging-server-kit.github.io/imaging-server-kit"
53
54
 
54
55
  [build-system]
55
56
  requires = ["setuptools>=42.0.0", "wheel", "setuptools_scm"]
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.0.8'
21
- __version_tuple__ = version_tuple = (0, 0, 8)
20
+ __version__ = version = '0.0.9'
21
+ __version_tuple__ = version_tuple = (0, 0, 9)
@@ -20,6 +20,7 @@ def decode_image_array(cls, v, dimensionality) -> "np.ndarray":
20
20
 
21
21
  return image_array
22
22
 
23
+ # TODO - we could also validate the points or vectors dimensionality
23
24
 
24
25
  def parse_params(parameters: dict) -> BaseModel:
25
26
  fields = {}
@@ -47,7 +48,7 @@ def parse_params(parameters: dict) -> BaseModel:
47
48
  "widget_type"
48
49
  ] = param_details.widget_type
49
50
 
50
- if param_details.widget_type == "image":
51
+ if param_details.widget_type in ["image", "mask"]:
51
52
  validated_func = partial(
52
53
  decode_image_array, dimensionality=param_details.dimensionality
53
54
  )
@@ -55,7 +56,7 @@ def parse_params(parameters: dict) -> BaseModel:
55
56
  validators[validator_name] = field_validator(param_name, mode="after")(
56
57
  validated_func
57
58
  )
58
-
59
+
59
60
  fields[param_name] = (param_details.type, Field(**field_constraints))
60
61
 
61
62
  return create_model(
@@ -0,0 +1,34 @@
1
+ ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
+ # serverkit-{{ cookiecutter.project_slug }}
3
+
4
+ Implementation of a web server for [{{ cookiecutter.project_name }}]({{ cookiecutter.project_url }}).
5
+
6
+ ## Installing the algorithm server with `pip`
7
+
8
+ Install dependencies:
9
+
10
+ ```
11
+ pip install -r requirements.txt
12
+ ```
13
+
14
+ Run the server:
15
+
16
+ ```
17
+ python main.py
18
+ ```
19
+
20
+ The server will be running on http://localhost:8000.
21
+
22
+ ## Using `docker-compose`
23
+
24
+ To build the docker image and run a container for the algorithm server in a single command, use:
25
+
26
+ ```
27
+ docker compose up
28
+ ```
29
+
30
+ The server will be running on http://localhost:8000.
31
+
32
+ <!-- ## Sample images provenance -->
33
+
34
+ <!-- Fill if necessary. -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: imaging-server-kit
3
- Version: 0.0.8
3
+ Version: 0.0.9
4
4
  Summary: Deploy image processing algorithms in FastAPI servers.
5
5
  Author-email: Mallory Wittwer <mallory.wittwer@epfl.ch>
6
6
  License: Copyright (c) 2024, EPFL
@@ -31,8 +31,8 @@ License: Copyright (c) 2024, EPFL
31
31
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
32
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
33
 
34
- Project-URL: homepage, https://imaging-server-kit.github.io/imaging-server-kit
35
34
  Project-URL: repository, https://github.com/Imaging-Server-Kit/imaging-server-kit
35
+ Project-URL: documentation, https://imaging-server-kit.github.io/imaging-server-kit
36
36
  Classifier: Development Status :: 2 - Pre-Alpha
37
37
  Classifier: Intended Audience :: Developers
38
38
  Classifier: License :: OSI Approved :: BSD License
@@ -61,6 +61,7 @@ Requires-Dist: jinja2
61
61
  Requires-Dist: PyYAML
62
62
  Requires-Dist: pydantic>=2.0
63
63
  Requires-Dist: cookiecutter
64
+ Requires-Dist: opencv-contrib-python-headless
64
65
  Provides-Extra: docs
65
66
  Requires-Dist: jupyter-book; extra == "docs"
66
67
  Requires-Dist: jupytext; extra == "docs"
@@ -11,6 +11,7 @@ jinja2
11
11
  PyYAML
12
12
  pydantic>=2.0
13
13
  cookiecutter
14
+ opencv-contrib-python-headless
14
15
 
15
16
  [all]
16
17
  imaging-server-kit[docs,test,users]
@@ -1,54 +0,0 @@
1
- # Welcome to the Imaging Server Kit's documentation!
2
-
3
- The **Imaging Server Kit** is an open-source Python package for deploying image analysis algorithms as web services.
4
-
5
- - Run computations remotely, while client applications remain focused on visualization.
6
- - Connect to an algorithm server and run algorithms from [QuPath](https://github.com/Imaging-Server-Kit/qupath-extension-serverkit), [Napari](https://github.com/Imaging-Server-Kit/napari-serverkit), and Python.
7
-
8
- ## Key Features
9
-
10
- - Turn standard Python functions into fully-featured image processing web servers with minimal effort.
11
-
12
- ```python
13
- @algorithm_server({"image": ImageUI()})
14
- def segmentation_server(image):
15
- segmentation = # your code here
16
- return [(segmentation, {}, "mask")]
17
- ```
18
-
19
- <!-- - Automatically generate UIs in Napari and QuPath to test your tools. -->
20
-
21
- ## Supported image analysis tasks
22
-
23
- | Task | Examples | Napari | QuPath |
24
- |-------------------|---------------------------------| ------ | ------ |
25
- | Segmentation | [StarDist](https://github.com/Imaging-Server-Kit/serverkit-stardist), [CellPose](https://github.com/Imaging-Server-Kit/serverkit-cellpose), [Rembg](https://github.com/Imaging-Server-Kit/serverkit-rembg), [SAM-2](https://github.com/Imaging-Server-Kit/serverkit-sam2), [InstanSeg](https://github.com/Imaging-Server-Kit/serverkit-instanseg) | ✅ | ✅ |
26
- | Object detection | [Spotiflow](https://github.com/Imaging-Server-Kit/serverkit-spotiflow), [LoG detector](https://github.com/Imaging-Server-Kit/serverkit-skimage-LoG) | ✅ | ✅ |
27
- | Vector fields | [Orientationpy](https://github.com/Imaging-Server-Kit/serverkit-orientationpy) | ✅ | ✅ |
28
- | Object tracking | [Trackastra](https://github.com/Imaging-Server-Kit/serverkit-trackastra), [Trackpy](https://github.com/Imaging-Server-Kit/serverkit-trackpy) | ✅ | |
29
- | Image-to-Image | [SPAM](https://github.com/Imaging-Server-Kit/serverkit-spam), [Noise2Void](https://github.com/Imaging-Server-Kit/serverkit-n2v) | ✅ | |
30
- | Text-to-Image | [Stable Diffusion](https://github.com/Imaging-Server-Kit/serverkit-stable-diffusion) | ✅ | |
31
- | Image-to-Text | [Image captioning](https://github.com/Imaging-Server-Kit/serverkit-blip-captioning) | ✅ | |
32
- | Classification | [ResNet50](https://github.com/Imaging-Server-Kit/serverkit-resnet50) | ✅ | |
33
-
34
- A gallery of example implementations for commonly used algorithms is available in the [repository](https://github.com/Imaging-Server-Kit/imaging-server-kit/tree/main/examples).
35
-
36
- ## Installation
37
-
38
- Install the `imaging-server-kit` package with `pip`:
39
-
40
- ```
41
- pip install imaging-server-kit
42
- ```
43
-
44
- or clone the project and install the development version:
45
-
46
- ```
47
- git clone https://github.com/Imaging-Server-Kit/imaging-server-kit.git
48
- cd imaging-server-kit
49
- pip install -e .
50
- ```
51
-
52
- ## License
53
-
54
- This software is distributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license.
@@ -1,89 +0,0 @@
1
- ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
- # serverkit-cellpose
3
-
4
- Implementation of a web server for [CellPose](https://github.com/MouseLand/cellpose).
5
-
6
- ## Installing the algorithm server with `pip`
7
-
8
- Install dependencies:
9
-
10
- ```
11
- pip install -r requirements.txt
12
- ```
13
-
14
- Run the server:
15
-
16
- ```
17
- uvicorn main:app --host 0.0.0.0 --port 8000
18
- ```
19
-
20
- The server will be running on http://localhost:8000.
21
-
22
- ## Endpoints
23
-
24
- A documentation of the endpoints is automatically generated at http://localhost:8000/docs.
25
-
26
- **GET endpoints**
27
-
28
- - http://localhost:8000/ : Running algorithm message.
29
- - http://localhost:8000/version: Version of the `imaging-server-kit` package.
30
- - http://localhost:8000/cellpose/info: Web page displaying project metadata.
31
- - http://localhost:8000/cellpose/parameters: Json Schema representation of algorithm parameters.
32
- - http://localhost:8000/cellpose/sample_images: Byte string representation of the sample images.
33
-
34
- **POST endpoints**
35
-
36
- - http://localhost:8000/cellpose/process: Processing endpoint to run the algorithm.
37
-
38
- ## Running the server with `docker-compose`
39
-
40
- To build the docker image and run a container for the algorithm server in a single command, use:
41
-
42
- ```
43
- docker compose up
44
- ```
45
-
46
- The server will be running on http://localhost:8000.
47
-
48
- ## Running the server with `docker`
49
-
50
- Build the docker image:
51
-
52
- ```
53
- docker build -t serverkit-cellpose .
54
- ```
55
-
56
- Run the server in a container:
57
-
58
- ```
59
- docker run -it --rm -p 8000:8000 serverkit-cellpose:latest
60
- ```
61
-
62
- The server will be running on http://localhost:8000.
63
-
64
- ## Running unit tests
65
-
66
- If you have implemented unit tests in the [tests/](./tests/) folder, you can run them using pytest:
67
-
68
- ```
69
- pytest
70
- ```
71
-
72
- if you are developing your server locally, or
73
-
74
- ```
75
- docker run --rm serverkit-cellpose:latest pytest
76
- ```
77
-
78
- to run the tests in a docker container.
79
-
80
- ## [EPFL only] Publishing a docker image to [registry.rcp.epfl.ch](https://registry.rcp.epfl.ch/)
81
-
82
- ```
83
- docker tag serverkit-cellpose registry.rcp.epfl.ch/imaging-server-kit/serverkit-cellpose
84
- docker push registry.rcp.epfl.ch/imaging-server-kit/serverkit-cellpose
85
- ```
86
-
87
- ## Sample images provenance
88
-
89
- - `nuclei_2d.tif`: Fluorescence microscopy image and mask from the 2018 kaggle DSB challenge (Caicedo et al. "Nucleus segmentation across imaging experiments: the 2018 Data Science Bowl." Nature methods 16.12).
@@ -1,50 +0,0 @@
1
- ![EPFL Center for Imaging logo](https://imaging.epfl.ch/resources/logo-for-gitlab.svg)
2
- # serverkit-orientationpy
3
-
4
- Implementation of a web server for [Orientationpy](https://gitlab.com/epfl-center-for-imaging/orientationpy).
5
-
6
- ## Installation
7
-
8
- Install dependencies:
9
-
10
- ```
11
- pip install -r requirements.txt
12
- ```
13
-
14
- Run the server:
15
-
16
- ```
17
- python main.py
18
- ```
19
-
20
- The server will be running on http://localhost:8000.
21
-
22
- ## Endpoints
23
-
24
- A documentation of the endpoints is automatically generated at http://localhost:8000/docs.
25
-
26
- **GET endpoints**
27
-
28
- - http://localhost:8000/ : Running algorithm message.
29
- - http://localhost:8000/version: Version of the `imaging-server-kit` package.
30
- - http://localhost:8000/orientationpy/info: Web page displaying project metadata.
31
- - http://localhost:8000/orientationpy/parameters: Json Schema representation of algorithm parameters.
32
- - http://localhost:8000/orientationpy/sample_images: Byte string representation of the sample images.
33
-
34
- **POST endpoints**
35
-
36
- - http://localhost:8000/orientationpy/process: Processing endpoint to run the algorithm.
37
-
38
- ## Running the server with `docker-compose`
39
-
40
- To build the docker image and run a container for the algorithm server in a single command, use:
41
-
42
- ```
43
- docker compose up
44
- ```
45
-
46
- The server will be running on http://localhost:8000.
47
-
48
- ## Sample images provenance
49
-
50
- - `image1_from_OrientationJ.tif`: Example image from [OrientationJ](https://bigwww.epfl.ch/demo/orientationj/).