From a467984193a40ee406ac1146bea215a75518894f Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Tue, 2 Apr 2024 16:43:14 +0200 Subject: [PATCH 01/13] adds files to create mediar image --- docker/mediar/Dockerfile-mediar | 44 +++++++++++++++++++++++++++++ docker/mediar/env_mediar-napari.yml | 12 ++++++++ docker/mediar/start_mediar.sh | 4 +++ 3 files changed, 60 insertions(+) create mode 100644 docker/mediar/Dockerfile-mediar create mode 100644 docker/mediar/env_mediar-napari.yml create mode 100644 docker/mediar/start_mediar.sh diff --git a/docker/mediar/Dockerfile-mediar b/docker/mediar/Dockerfile-mediar new file mode 100644 index 0000000..94d8b6e --- /dev/null +++ b/docker/mediar/Dockerfile-mediar @@ -0,0 +1,44 @@ +ARG BASE_IMAGE=0.0.3 +ARG ALIAS=biop/ + +FROM joonkeekim/mediar as mediar-image +FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} + + +USER root + +# install omnipose https://omnipose.readthedocs.io/index.html +COPY mediar/env_mediar-napari.yml /tmp/env_mediar-napari.yml +RUN conda env update -n mediar-napari -f /tmp/env_mediar-napari.yml \ + && source activate mediar-napari \ + && git clone https://github.com/joonkeekim/mediar-napari \ + && cd mediar-napari \ + && pip install -r requirements.txt \ + && pip install -e . \ + && conda deactivate \ + && conda clean --all -f -y \ + && conda env export -n "biop" \ + && rm /tmp/env_mediar-napari.yml +# && rm -rf /home/biop/mediar-napari + +# download models , replace with ZENODO link when available +RUN wget https://drive.switch.ch/index.php/s/RpLeHuJrdecpDoE/download -O models.zip \ + && unzip /home/biop/models.zip -d /home/biop/mediar-napari/weights/ + +COPY mediar/start_mediar.sh /home/biop/mediar-napari/start_mediar.sh +COPY napari/napari-icon.ico /home/biop/mediar-napari/napari-icon.ico + +RUN printf '[Desktop Entry]\nVersion=0.0.1\nName=mediar\nGenericName=mediar\nX-GNOME-FullName=mediar\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/home/biop/mediar-napari/start_mediar.sh\nTryExec==/home/biop/mediar-napari/start_mediar.sh\nTerminal=true\nStartupNotify=true\nMimeType=image/*;\nIcon=/home/biop/mediar-napari/napari-icon.ico\nStartupWMClass=mediar\n' > /home/biop/Desktop/mediar.desktop \ + && chown -R biop:biop /home/biop \ + && chmod +x /home/biop/Desktop/mediar.desktop + + +RUN chmod -R a+rwX /home/biop/ \ + && chown -R biop:biop /home/biop/ + +################################################################# +# Container start +USER biop +WORKDIR /home/biop +ENTRYPOINT ["/usr/local/bin/jupyter"] +CMD ["lab", "--allow-root", "--ip=*", "--port=8888", "--no-browser", "--NotebookApp.token=''", "--NotebookApp.allow_origin='*'", "--notebook-dir=/home/biop"] diff --git a/docker/mediar/env_mediar-napari.yml b/docker/mediar/env_mediar-napari.yml new file mode 100644 index 0000000..7a3053a --- /dev/null +++ b/docker/mediar/env_mediar-napari.yml @@ -0,0 +1,12 @@ +name: "mediar-napari" +channels: + - conda-forge + - defaults +dependencies: + - python=3.8 + - napari + - pyqt + - pip + - pip : + - ipykernel +prefix: "/opt/conda/envs/mediar-napari" \ No newline at end of file diff --git a/docker/mediar/start_mediar.sh b/docker/mediar/start_mediar.sh new file mode 100644 index 0000000..336c91d --- /dev/null +++ b/docker/mediar/start_mediar.sh @@ -0,0 +1,4 @@ +source activate mediar-napari +cd mediar-napari && napari +$ read -rsp $'Press enter to continue...\n' +Press enter to continue... \ No newline at end of file From c3b551943385ef228c5f1b132a0cedcf72cb96fa Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Fri, 5 Apr 2024 09:50:54 +0200 Subject: [PATCH 02/13] adds files to create celldetection image --- docker/celldetection/Dockerfile-celldetection | 42 +++++++++++++++++++ docker/celldetection/env_celldetection.yml | 19 +++++++++ docker/celldetection/start_celldetection.sh | 4 ++ 3 files changed, 65 insertions(+) create mode 100644 docker/celldetection/Dockerfile-celldetection create mode 100644 docker/celldetection/env_celldetection.yml create mode 100644 docker/celldetection/start_celldetection.sh diff --git a/docker/celldetection/Dockerfile-celldetection b/docker/celldetection/Dockerfile-celldetection new file mode 100644 index 0000000..89d1595 --- /dev/null +++ b/docker/celldetection/Dockerfile-celldetection @@ -0,0 +1,42 @@ +ARG BASE_IMAGE=0.0.3 +ARG ALIAS=biop/ + + +FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} + + +USER root + +# install celldetection and download models ( https://celldetection.readthedocs.io/en/latest/models.html ) +COPY celldetection/env_celldetection.yml /tmp/env_celldetection.yml +RUN conda env update -n celldetection -f /tmp/env_celldetection.yml \ + && conda clean --all -f -y \ + && conda env export -n "biop" \ + && rm /tmp/env_celldetection.yml + +# get model +RUN mkdir -p /home/biop/.cache/torch/hub/checkpoints/ +RUN wget https://celldetection.org/torch/models/ginoro_CpnResNeXt101UNet-fbe875f1a3e5ce2c.pt -O /home/biop/.cache/torch/hub/checkpoints/ginoro_CpnResNeXt101UNet-fbe875f1a3e5ce2c.pt +RUN wget https://celldetection.org/torch/models/.pt -O /home/biop/.cache/torch/hub/checkpoints/.pt + +RUN mkdir -p /home/biop/celldetection/ \ + && chown -R biop:biop /home/biop/ \ + && chmod -R a+rwX /home/biop/ + +COPY celldetection/start_celldetection.sh /opt/celldetection/start_celldetection.sh +COPY napari/napari-icon.ico /opt/celldetection/napari-icon.ico + +RUN printf '[Desktop Entry]\nVersion=0.0.1\nName=celldetection\nGenericName=celldetection\nX-GNOME-FullName=celldetection\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/celldetection/start_celldetection.sh\nTryExec==/opt/celldetection/start_celldetection.sh\nTerminal=true\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/celldetection/napari-icon.ico\nStartupWMClass=celldetection\n' > /home/biop/Desktop/celldetection.desktop \ + && chown -R biop:biop /home/biop \ + && chmod +x /home/biop/Desktop/celldetection.desktop + + +RUN chmod -R a+rwX /home/biop/ \ + && chown -R biop:biop /home/biop/ + +################################################################# +# Container start +USER biop +WORKDIR /home/biop +ENTRYPOINT ["/usr/local/bin/jupyter"] +CMD ["lab", "--allow-root", "--ip=*", "--port=8888", "--no-browser", "--NotebookApp.token=''", "--NotebookApp.allow_origin='*'", "--notebook-dir=/home/biop"] diff --git a/docker/celldetection/env_celldetection.yml b/docker/celldetection/env_celldetection.yml new file mode 100644 index 0000000..a5ef23c --- /dev/null +++ b/docker/celldetection/env_celldetection.yml @@ -0,0 +1,19 @@ +name: "celldetection" +channels: + - pytorch + - nvidia + - conda-forge + - defaults +dependencies: + - python=3.9 + - pytorch + - pyqt + - napari + - torchvision + - pytorch-cuda=11.8 + - pip + - pip : + - celldetection + - git+https://github.com/FZJ-INM1-BDA/celldetection-napari.git + - ipykernel +prefix: "/opt/conda/envs/celldetection" \ No newline at end of file diff --git a/docker/celldetection/start_celldetection.sh b/docker/celldetection/start_celldetection.sh new file mode 100644 index 0000000..75cfbee --- /dev/null +++ b/docker/celldetection/start_celldetection.sh @@ -0,0 +1,4 @@ +source activate celldetection +napari +$ read -rsp $'Press enter to continue...\n' +Press enter to continue... \ No newline at end of file From 59dde714523cf0051ad161be26cb774cabc88360 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Fri, 5 Apr 2024 16:45:06 +0200 Subject: [PATCH 03/13] update empanada version (and empanada base) --- docker/empanada/Dockerfile-empanada | 5 +++-- docker/empanada/env_empanada-gpu.yml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/empanada/Dockerfile-empanada b/docker/empanada/Dockerfile-empanada index 86b4225..fdc19f8 100644 --- a/docker/empanada/Dockerfile-empanada +++ b/docker/empanada/Dockerfile-empanada @@ -1,5 +1,6 @@ -ARG BASE_IMAGE=0.0.1 -FROM biop-vnc-base:${BASE_IMAGE} +ARG BASE_IMAGE=0.0.3 +ARG ALIAS=biop/ +FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} as base #ARG DEBIO_VERSION=0.10.1 #FROM biop-devbio:${DEBIO_VERSION} as base diff --git a/docker/empanada/env_empanada-gpu.yml b/docker/empanada/env_empanada-gpu.yml index 436e54b..237797c 100644 --- a/docker/empanada/env_empanada-gpu.yml +++ b/docker/empanada/env_empanada-gpu.yml @@ -8,7 +8,7 @@ dependencies: - pip - pip: - napari[all] - - empanada-napari==0.2.3 + - empanada-napari==1.1.0 - scikit-image prefix: "/opt/conda/envs/empanada" #TODO napari-ome-zarr \ No newline at end of file From 36532eb0fab8639c07df71d58901ed8f69c0fdd0 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Mon, 8 Apr 2024 08:55:34 +0200 Subject: [PATCH 04/13] adds omero and ome-zarr to empanada/env_empanada-gpu.yml --- docker/empanada/env_empanada-gpu.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docker/empanada/env_empanada-gpu.yml b/docker/empanada/env_empanada-gpu.yml index 237797c..41778eb 100644 --- a/docker/empanada/env_empanada-gpu.yml +++ b/docker/empanada/env_empanada-gpu.yml @@ -1,14 +1,21 @@ name: "empanada" channels: + - ome - conda-forge - defaults dependencies: - python=3.9 + - ome::zeroc-ice36-python + - ipykernel + - napari + - conda-forge::omero-py - pyqt - pip - pip: - - napari[all] - empanada-napari==1.1.0 - scikit-image + - napari-ome-zarr + - ome-zarr + - napari-omero prefix: "/opt/conda/envs/empanada" #TODO napari-ome-zarr \ No newline at end of file From 4c0f741642022297d5efb0c7902825371ca4f4d0 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Tue, 9 Apr 2024 15:37:36 +0200 Subject: [PATCH 05/13] modifies the omnipose/env_omnipose.yml to specify commit --- docker/omnipose/env_omnipose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/omnipose/env_omnipose.yml b/docker/omnipose/env_omnipose.yml index 2dc8d40..0396cd4 100644 --- a/docker/omnipose/env_omnipose.yml +++ b/docker/omnipose/env_omnipose.yml @@ -13,4 +13,5 @@ dependencies: - pip : - torch_optimizer - ipykernel + - git+https://github.com/kevinjohncutler/omnipose.git@bf456e475be4490821f782cb785bbc943bb12abb prefix: "/opt/conda/envs/omnipose" \ No newline at end of file From b49520b64059b9aa06e9b018c39f2ca6395fe11f Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Tue, 9 Apr 2024 15:38:20 +0200 Subject: [PATCH 06/13] adds models downloading and simplify conda env creation --- docker/omnipose/Dockerfile-omni | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/docker/omnipose/Dockerfile-omni b/docker/omnipose/Dockerfile-omni index 82c4b62..22de600 100644 --- a/docker/omnipose/Dockerfile-omni +++ b/docker/omnipose/Dockerfile-omni @@ -7,18 +7,26 @@ USER root # install omnipose https://omnipose.readthedocs.io/index.html COPY omnipose/env_omnipose.yml /tmp/env_omnipose.yml RUN conda env update -n omnipose -f /tmp/env_omnipose.yml \ - && source activate omnipose \ - && git clone https://github.com/kevinjohncutler/omnipose.git \ - && cd omnipose \ - && pip install . \ - #&& pip install aicsimageio \ - #&& pip install torch_optimizer \ - && conda deactivate \ && conda clean --all -f -y \ && conda env export -n "biop" \ && rm /tmp/env_omnipose.yml \ && rm -rf /home/biop/omnipose +# Donwload models from https://osf.io/xmury/ +RUN mkdir -p /home/biop/.cellpose/models/ +RUN wget https://osf.io/download/93gsu/ -O /home/biop/.cellpose/models/bact_fluor_cptorch_0 +RUN wget https://osf.io/download/wqbes/ -O /home/biop/.cellpose/models/bact_fluor_omnitorch_0 +RUN wget https://osf.io/download/bngcp/ -O /home/biop/.cellpose/models/bact_phase_omnitorch_0 +RUN wget https://osf.io/download/9adk7/ -O /home/biop/.cellpose/models/cellpose_residual_on_style_on_concatenation_off_omni_nclasses_3_combined_2023_05_24_03_27_24.228162_epoch_11400 +RUN wget https://osf.io/download/8bvsn/ -O /home/biop/.cellpose/models/cyto2_omnitorch_0 +RUN wget https://osf.io/download/b7t4p/ -O /home/biop/.cellpose/models/plant_cptorch_0 +RUN wget https://osf.io/download/arfny/ -O /home/biop/.cellpose/models/plant_omnitorch_0 + +# One model is in a issue thread +# TODO update link whenver the model is available elsewhere +RUN wget https://github.com/kevinjohncutler/omnipose/files/14723437/size_cyto2_omnitorch_0.zip -O size_cyto2_omnitorch_0.zip \ + && unzip size_cyto2_omnitorch_0.zip -d /home/biop/.cellpose/models/ \ + && rm size_cyto2_omnitorch_0.zip RUN chmod -R a+rwX /home/biop/ \ && chown -R biop:biop /home/biop/ From 916cefb2529ff242d0106d715eef11b4a1284a62 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:45:11 +0200 Subject: [PATCH 07/13] modifies base to have OpenCL --- docker/Dockerfile-base | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-base b/docker/Dockerfile-base index ea16fb7..4aae967 100644 --- a/docker/Dockerfile-base +++ b/docker/Dockerfile-base @@ -107,13 +107,24 @@ RUN mkdir -p /home/biop/Desktop && chown -R biop:biop /home/biop/Desktop \ && chown -R biop:biop /home/biop \ && chmod -R a+rwx /home/biop/ - ################################################################# # Install Inkscape RUN sudo apt-get update -y \ && sudo apt-get install inkscape -y +################################################################# +# OpenCL for clij ... +RUN apt-get update \ + && apt-get install -y nvidia-opencl-dev \ + && apt remove -y libnvidia-compute-550-server \ + && apt-get autoremove --purge \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && find /var/log -type f -exec cp /dev/null \{\} \; + +################################################################# RUN chown -R biop:biop /home/biop/ \ && chmod -R a+rwx /home/biop/ From 64bdc378766cb348334b64933a9c54c55ebfb3ac Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:46:47 +0200 Subject: [PATCH 08/13] changes base version and removes OpenCL from fiji/Dockerfile-fiji (in base now) --- docker/fiji/Dockerfile-fiji | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/docker/fiji/Dockerfile-fiji b/docker/fiji/Dockerfile-fiji index 5d1479d..bc37496 100644 --- a/docker/fiji/Dockerfile-fiji +++ b/docker/fiji/Dockerfile-fiji @@ -1,11 +1,11 @@ # https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-07.html # FROM nvcr.io/nvidia/pytorch:23.07-py3 -ARG BASE_IMAGE=0.0.3 +ARG BASE_IMAGE=0.1.0 ARG ALIAS=biop/ FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} ENV OMEROIJ_VERSION 5.8.3 -ENV SOC_VERSION 5.16.0 +ENV SOC_VERSION 5.18.0 USER root @@ -49,7 +49,6 @@ RUN wget -q https://github.com/ome/omero-insight/releases/download/v${OMEROIJ_VE && chmod -R a+rwX /opt/Fiji.app/plugins # Install simple-omero-client - RUN wget -q https://github.com/GReD-Clermont/simple-omero-client/releases/download/${SOC_VERSION}/simple-omero-client-${SOC_VERSION}.jar -O /opt/Fiji.app/plugins/simple-omero-client-${SOC_VERSION}.jar \ && chmod -R a+rwX /opt/Fiji.app/plugins @@ -65,23 +64,6 @@ RUN wget -q -q https://www.dropbox.com/sh/dxofkiyseuxn4l4/AADrPjPBbJK_77Ai2WCfaO # [WARNING] Skipping lib/linux64/libjniclij2fftWrapper.so -# OpenCL installation for clij -# specificy version of "nvidia-opencl-dev" , because of the error : ... usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1: file exists: unknown. -# TODOs : find out which version make it crash !!! https://packages.ubuntu.com/search?suite=default§ion=all&arch=any&keywords=+nvidia-opencl-dev&searchon=names -# list : -# - jammy (22.04LTS) : 11.5.1-1ubuntu1 , WORKS ! (https://packages.ubuntu.com/jammy/nvidia-opencl-dev) -# - lunar (23.04) : 11.8.89 , try but can't find it (https://packages.ubuntu.com/lunar/nvidia-opencl-dev) -# - mantic (23.10) : 12.0.140, try but can't find it (https://packages.ubuntu.com/mantic/nvidia-opencl-dev) -# >sudo apt-get update returns, jammy-security ... might be why it can't find others (lunar and mantic) -RUN apt-get update \ - && apt-get install -y nvidia-opencl-dev \ - && apt remove -y libnvidia-compute-545 \ - && apt-get autoremove --purge \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && find /var/log -type f -exec cp /dev/null \{\} \; - # create icon RUN mkdir -p /home/biop/Desktop && chown -R biop:biop /home/biop/Desktop \ && printf '[Desktop Entry]\nVersion=1.0\nName=ImageJ\nGenericName=ImageJ\nX-GNOME-FullName=ImageJ\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/Fiji.app/ImageJ-linux64 %F\nTryExec=/opt/Fiji.app/ImageJ-linux64\nTerminal=false\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/Fiji.app/images/icon.png\nStartupWMClass=net-imagej-launcher-ClassLauncher\n' > /home/biop/Desktop/Fiji.desktop From 7f881f052cffb1bb5603d377b531affbe15e2d00 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:49:00 +0200 Subject: [PATCH 09/13] changes base , adds bg-atlasapi to env and adds comment in dockerfile, adds file for jupyter kernel --- docker/brainrender/Dockerfile-brainrender | 4 +- docker/brainrender/env_brainrender.yml | 7 +- .../jupyter/kernels/brainrender/kernel.json | 14 + .../kernels/brainrender/logo-32x32.png | Bin 0 -> 1084 bytes .../kernels/brainrender/logo-64x64.png | Bin 0 -> 2180 bytes .../jupyter/kernels/brainrender/logo-svg.svg | 265 ++++++++++++++++++ 6 files changed, 286 insertions(+), 4 deletions(-) create mode 100644 docker/jupyter/kernels/brainrender/kernel.json create mode 100644 docker/jupyter/kernels/brainrender/logo-32x32.png create mode 100644 docker/jupyter/kernels/brainrender/logo-64x64.png create mode 100644 docker/jupyter/kernels/brainrender/logo-svg.svg diff --git a/docker/brainrender/Dockerfile-brainrender b/docker/brainrender/Dockerfile-brainrender index 8fca6e8..7ba3713 100644 --- a/docker/brainrender/Dockerfile-brainrender +++ b/docker/brainrender/Dockerfile-brainrender @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=0.0.3 +ARG BASE_IMAGE=0.1.0 ARG ALIAS=biop/ FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} @@ -13,10 +13,12 @@ RUN conda env update -n brainrender -f /tmp/env_brainrender.yml \ USER biop +# adds brainrender kernel RUN source activate brainrender \ && python -m ipykernel install --user --name brainrender --display-name "Python (brainrender)" \ && conda deactivate +# download allen_mouse_25um atlas RUN source activate brainrender \ && brainglobe install -a allen_mouse_25um \ && conda deactivate diff --git a/docker/brainrender/env_brainrender.yml b/docker/brainrender/env_brainrender.yml index ff8bb2b..036abd9 100644 --- a/docker/brainrender/env_brainrender.yml +++ b/docker/brainrender/env_brainrender.yml @@ -1,4 +1,4 @@ -name: "devbio" +name: "brainrender-napari" channels: - conda-forge dependencies: @@ -7,5 +7,6 @@ dependencies: - pyqt - pip - pip : - - brainrender-napari -prefix: "/opt/conda/envs/devbio" \ No newline at end of file + - brainrender-napari==0.0.3 + - bg-atlasapi +prefix: "/opt/conda/envs/brainrender-napari" \ No newline at end of file diff --git a/docker/jupyter/kernels/brainrender/kernel.json b/docker/jupyter/kernels/brainrender/kernel.json new file mode 100644 index 0000000..866d8d4 --- /dev/null +++ b/docker/jupyter/kernels/brainrender/kernel.json @@ -0,0 +1,14 @@ +{ + "argv": [ + "/opt/conda/envs/brainrender/bin/python", + "-m", + "ipykernel_launcher", + "-f", + "{connection_file}" + ], + "display_name": "brainrender", + "language": "python", + "metadata": { + "debugger": true + } +} \ No newline at end of file diff --git a/docker/jupyter/kernels/brainrender/logo-32x32.png b/docker/jupyter/kernels/brainrender/logo-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..be81330765764699553aa4fbaf0e9fc27c20c6d2 GIT binary patch literal 1084 zcmV-C1jGA@P)enw2jbMszQuf3kC$K7$S;4l;TgSRfzha5>pgWAEY9PR!IdB zTSZXtp`b02h)|SJ3#AW|AKF?KgNSQ|Sg=ZCgHaT%F`4#g>iG8;N__GBLh26(2qOGO9};SPeUDLyV^m!K($s69;fB|`Ui z{nqhFk+};I5Vb+1*IC+gaNEtF()dX{`(!1eUb?=>+~p#JOj-qUi2^^^uzi1p(thMz&#&LJq>Cf)~tBhxq*;Npy$=mheX>2t4(OR zWk&s74VR$m@6rlD?Nud*cEGO2$>|mV&tzP1%j+W-N_;a>$_%)&Yn?|hX(50fV5s); zkLsKLb20?nJo-eIQ&vLU?~T?v{=JUtFa!EFC;;*i2@lY(#8Ur2b{` z!nc_6C42;g?mDnyRp9)U84ZxUv=Ja10XDYX;KZ|EPJ`h_&;S{#m9Q!a*xC#MiI?P; zx4sNs;+Uif!Da~pAQU}S)ww^M;qb(^FD`~`s1D2+foklsECF&ZZKas%kF~bU-M9bY zuhs+V2CzISGy`A&Lkq;MkgWkjD)R)1WqC_*Tx45LdH=lV+}XPaAFS+wus(ZG#IuZp zEE@YdBSMkKnX~3J?j7u_^kl&mQ+7t_i^t4YG6X0cS+J89bl~_Igc~wh(?=P_08}Iv z0NHqkz|x<~Z;3paR=+czhC^#TYlWDdd@Rc|#cCUooxt4edl>=;-neznjL)SlXtdOh z=2NAO%Gxj%BLM->i|(q=eePLs=%wD>*F6312}yTRxn%!IzZtmkN`YjQBMNkckc4h;pSXO%%?N2y_ccz zS`INlItXC6DR;umS}Mn43NzsR7MS0Sf|rrv1n7UvdO9UC3&XB+{A~zNMyyXY@lF_q zps;z-9S*u(m1{=;T?YYxd%vmwj5N7<3lv^}?EK6DlWbFPZoBI|w5zEE06;(VF2nD? z_QUyZi0eRG2jDb-NyvSR5{_bd`5o6W`WOCh1>4`s79R;zVm_k)0000kjcw83I)rwURf9H)0d)l3>^8*`$3&wplXaSnv^ouL zxig617>J8x{$<2zvZ44vm&sPJz*Z;|)^sj29S|e(QD`@&rR&E%&(A;Zx#ym9?>Xnb z=k|6x#=dRS_rB-ex99mi&+qvXHKxY@^N`8h{N|r@TsA(& zsCpk!BK%oN(i-QUbD69cd?H!sn{mG-Lrs4l70Gd-TRSnnlw<)m#)CQ1364@U( zb1huc+%2C?f zYjwl_PTT;XJ$4oVU=Be51c+U`UEX_ls%aSHu0jnXMCH=*+Sd}C2irp2UqB=Z0E)N85&+GM z>q^`|nwHj#MQ}!_hFxHI0P?d05b<<^{$@L)xRXP$*7NMe_Al`SAe_UPXbALJOH3_5 zcM?1d0-}ThP+N;&R(k{$P!RUyBLuGx7u*NjI0EqWx*LBO^)ny+&f^)CC}~0x8ViOeXmOp`hB@Wk%DqXy3C1Q0?$fKnaUFPm1OP-ZjVK`deF} zSeAF2mylo&RQ`&~-?2v|r4t6AY0JJPRN1JijUXW&kBk6^2Cvr^I{u5UuqP$>16T2K z9R$k@xromL3Y>lI8J_*t?K0<)3neE)OPIZA`y$|W32O|S;>(;-_BoaG7O_=2G z6D)9yzzx@Wf#9y!>3jH(JLX0Lz*6}#sWZF@h^aPF)_fq;^c^8JPiTh*0JRcGe<2b8 zN_@jF0rBt^lR=9@fPBV9TT3%D0)}bdo{O3TaO38^?3k0H{bUT-qpE!%+$xpS2LPf1an-UJ2DJ9KqouI6R;TMiW;X0gzCw zHO|Y+R^XVXy4>IM=$idVj4jUz?GhXz)&RZ6C=nuAOFRF5GYcGpaQ8++^bVf8D~Ysh zasY5*fBszU=;2(eHKTx{cJgCCqK3OyNG?6L{qEzi@F-xtJB056lt^D=Mgd{1M;|3o zptQ9-Tf6}9DG0x>)iWA;*7d!}f34XL)z1YaJw+(tZvmBs7Qne4&B4c^71J}j0Cl!mHAtQyc|{3a zzhEhE=-#}lmuK6SVomEdD6U096Gc<`?9IYNt09igBXq$&uNwIPk|#@Za%kz^ysDSy z+SWt37r+OM+U|uhJI|3tadcq`kq(&o0OEv1c4+!|*N<=iE&E$ngIs6G>;UsEYRUoH z*N{CGAkP{BAQ=ioDsa;2iU)Z9+n0m7&G0!|IACWkdlBI1w@S4<6a_#XeAP z1@TTJt)oc(Zd&9NrG)FXraO%+ph_!V8AqA`#S;PpD4=AwE!!e+(HZRH`J4Q`%$PKn zL#RLx{&wZdvT~>OrXG{ynQ!)hTxeLDW{is=avgT_Q@X{_ryQSRf-z;cCzzZ%57>p+XNOwhgQWFSDdeo<;8g((CJEj(Z4)c6IEc3%k9{YIG zk+*m8hahOo-7ycwG7kU%o^1X(sCP!|<+23tKd4KhH8=|#dkr8hdCPys`Kq?qW`a42rV{8owiaTo2X%UpUcJedmjJmB_0Mh> zDfdCyN&K%dp1k=ojE<}Z_*K9@aFMV5@X-t5FOkM$vasuX>}!EgFkb%DENHq8U>%?f zGQUv=A_?Fk1g}BS5Ab;i4xv&G$^7TeU}{W_sWCMsdHfgT%>1XE)oy + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From bb2f851d0da160ee15a44e0598c4b83c59850942 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:50:52 +0200 Subject: [PATCH 10/13] modifies zenodo link for QuPath common data (new BIOP-OMERO extension) --- docker/QuPath/Dockerfile-qupath | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/QuPath/Dockerfile-qupath b/docker/QuPath/Dockerfile-qupath index 8ec2226..90b3d9f 100644 --- a/docker/QuPath/Dockerfile-qupath +++ b/docker/QuPath/Dockerfile-qupath @@ -42,11 +42,11 @@ RUN chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.5 \ && chmod -R a+rwx /opt/QuPath/QuPath_Common_Data_0.5 # # TODO : discuss if we prepare unzip from zenodo, or if we update when container start via a git pull ... (less good for reproducibility but better to keep scripts up-to-date) -RUN wget -q https://zenodo.org/records/10869324/files/QuPath_Common_Data_0.5.zip?download=1 -O ${TEMP_DIR}/QuPath_Common_Data_0.5.zip +RUN wget -q https://zenodo.org/records/11091309/files/QuPath_Common_Data_0.5.zip?download=1 -O ${TEMP_DIR}/QuPath_Common_Data_0.5.zip RUN unzip ${TEMP_DIR}/QuPath_Common_Data_0.5.zip -d /opt/QuPath/QuPath_Common_Data_0.5 \ && rm ${TEMP_DIR}/QuPath_Common_Data_0.5.zip - + # # Prepare to set QP_prefs COPY QuPath/QuPath_setPaths.groovy /home/biop/tmp/QuPath_setPaths.groovy From 09c76437a6fc8bc78ebb2812094a5fb68f70867a Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:51:33 +0200 Subject: [PATCH 11/13] updates qp and fiji version, adds brainrender --- docker/abba/Dockerfile-abba | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/docker/abba/Dockerfile-abba b/docker/abba/Dockerfile-abba index 5430672..f0f8e67 100644 --- a/docker/abba/Dockerfile-abba +++ b/docker/abba/Dockerfile-abba @@ -1,13 +1,15 @@ # https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-07.html #FROM superelastix/elastix:5.0.1 as elastix-image -ARG QUPATH_VERSION=v0.5.1 -ARG FIJI_VERSION=20240325 +ARG QUPATH_VERSION=v0.5.1-01 +ARG FIJI_VERSION=20240429 ARG DEEPSLICE_VERSION=1.1.5 +ARG BRAINRENDER_VERSION=0.0.3 ARG ALIAS=biop/ FROM ${ALIAS}biop-qupath:${QUPATH_VERSION} as qupath-image FROM ${ALIAS}biop-fiji:${FIJI_VERSION} as fiji-image FROM ${ALIAS}biop-deepslice:${DEEPSLICE_VERSION} as deepslice-image +FROM ${ALIAS}biop-brainrender:${BRAINRENDER_VERSION} as brainrender-image FROM ${ALIAS}biop-vnc-base:0.0.3 as base @@ -137,6 +139,27 @@ RUN printf '[Desktop Entry]\nVersion=0.8.0\nName=ABBA\nGenericName=ABBA\nX-GNOM RUN chown -R biop:biop /opt/Fiji.app/ \ && chmod -R a+rwX /opt/Fiji.app/ +# install brainrender +COPY --from=brainrender-image /opt/conda/envs/brainrender /opt/conda/envs/brainrender + + +USER biop + +# adds brainrender kernel +RUN source activate brainrender \ + && python -m ipykernel install --user --name brainrender --display-name "Python (brainrender)" \ + && conda deactivate + +# download allen_mouse_25um atlas +RUN source activate brainrender \ + && brainglobe install -a allen_mouse_25um \ + && conda deactivate + +USER root + +RUN chmod -R a+rwX /home/biop/ \ + && chown -R biop:biop /home/biop/ + ################################################################# # Container start USER biop From aca0aeabe6b6231557b97548decd755486eebd0c Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 13:57:16 +0200 Subject: [PATCH 12/13] updates version, base, qp,fiji ... adds brainrender and remove OpenCL --- docker/Dockerfile-ms | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/docker/Dockerfile-ms b/docker/Dockerfile-ms index 10f0538..40da2f7 100644 --- a/docker/Dockerfile-ms +++ b/docker/Dockerfile-ms @@ -1,22 +1,23 @@ -ARG BASE_IMAGE=0.0.3 +ARG BASE_IMAGE=0.1.0 ARG ALIAS=biop/ # because COPY --from= doesn't support build-arg (https://github.com/docker/for-mac/issues/2155) # we can still do a list of all sub-blocks here to be able to use them in the COPY --from=... below # base needs to be last, Don't Ask Wky ! (I don't know) ! and it seems it need to be named 'base' , D.A:W.2 ! but it works ! -ARG QUPATH_VERSION=v0.5.1 +ARG QUPATH_VERSION=v0.5.1-01 ARG ILASTIK_VERSION=1.4.0-gpu -ARG FIJI_VERSION=20240325 +ARG FIJI_VERSION=20240429 ARG CELLPOSE_VERSION=2.2.2 ARG DEVBIO_VERSION=0.10.1 ARG SAMAPI_VERSION=0.4.0 -ARG EM_VERSION=0.2.3 +ARG EM_VERSION=1.1.0 ARG STARDIST_VERSION=0.8.5 -ARG ABBA_VERSION=0.8.0 +ARG ABBA_VERSION=0.8.0-01 ARG CELLPROFILER_VERSION=4.2.6 ARG INKSCAPE_VERSION=0.0.1 -ARG OMNI_VERSION=1.0.7-dev +ARG OMNI_VERSION=1.0.7-dev2 +ARG BRAINRENDER_VERSION=0.0.3 FROM ${ALIAS}biop-qupath:${QUPATH_VERSION} as qupath-image FROM ${ALIAS}biop-ilastik:${ILASTIK_VERSION} as ilastik-image @@ -29,7 +30,8 @@ FROM ${ALIAS}biop-stardist:${STARDIST_VERSION} as stardist-image FROM ${ALIAS}biop-abba:${ABBA_VERSION} as abba-image FROM ${ALIAS}biop-cellprofiler:${CELLPROFILER_VERSION} as cellprofiler-image FROM ${ALIAS}biop-inkscape:${INKSCAPE_VERSION} as inkscape-image -FROm ${ALIAS}biop-omnipose:${OMNI_VERSION} as omnipose-image +FROM ${ALIAS}biop-omni:${OMNI_VERSION} as omnipose-image +FROM ${ALIAS}biop-brainrender:${BRAINRENDER_VERSION} as brainrender-image FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE} as base @@ -163,8 +165,17 @@ COPY fiji/Fiji_setWrappersPaths.groovy /home/biop/tmp/Fiji_setWrappersPaths.groo RUN chown -R biop:biop /home/biop/tmp \ && chmod -R a+rwX /home/biop/tmp +# add brainrender-napari env +COPY --from=brainrender-image /opt/conda/envs/brainrender /opt/conda/envs/brainrender + USER biop RUN /opt/Fiji.app/ImageJ-linux64 --headless --run /home/biop/tmp/Fiji_setWrappersPaths.groovy + +# download allen_mouse_25um atlas from brainrender-napari +RUN source activate brainrender \ + && brainglobe install -a allen_mouse_25um \ + && conda deactivate + USER root RUN rm -rf /home/biop/tmp @@ -195,21 +206,6 @@ COPY --from=omnipose-image /opt/conda/envs/omnipose/ /opt/conda/envs/omnipose/ # To make the different conda env available in jupyter COPY jupyter/kernels/ /home/biop/.local/share/jupyter/kernels/ - -################################################################# -# # Install OpenCL ( for clij ... ) -# Doesn't work (anymore) on local WSL2 but works on runai !!! -# see https://github.com/NVIDIA/nvidia-container-toolkit/issues/371 -# We move at the end so that we can build a normal version and WSL one without it, as it is not supported anyway. -RUN apt-get update \ - && apt-get install -y nvidia-opencl-dev \ - && apt remove -y libnvidia-compute-545 \ - && apt-get autoremove --purge \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && find /var/log -type f -exec cp /dev/null \{\} \; - ################################################################# # final chown and chmod RUN chown -R biop:biop /home/biop/ \ From 5557980ec9cf9924ca764668846d6c13bca38b57 Mon Sep 17 00:00:00 2001 From: romainGuiet Date: Wed, 1 May 2024 16:26:06 +0200 Subject: [PATCH 13/13] increases node number in image-puller.yaml and updates version desktop in runaijob.yaml --- k8s/biop-desktop-runaijob.yaml | 2 +- k8s/image-puller.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/k8s/biop-desktop-runaijob.yaml b/k8s/biop-desktop-runaijob.yaml index 2ee17ae..754fa47 100644 --- a/k8s/biop-desktop-runaijob.yaml +++ b/k8s/biop-desktop-runaijob.yaml @@ -14,7 +14,7 @@ spec: schedulerName: runai-scheduler containers: - name: job - image: registry.rcp.epfl.ch/ptbiop/biop-desktop:0.0.8 + image: registry.rcp.epfl.ch/ptbiop/biop-desktop:0.1.0 imagePullPolicy: Always resources: requests: diff --git a/k8s/image-puller.yaml b/k8s/image-puller.yaml index 19af6a3..4daae72 100644 --- a/k8s/image-puller.yaml +++ b/k8s/image-puller.yaml @@ -17,7 +17,7 @@ spec: command: ["/bin/sh"] args: ["-c", "sleep 60"] Worker: - replicas: 8 # nombre de noeuds sur le cluster -> kubectl get nodes |grep gpu |wc -l + replicas: 22 # nombre de noeuds sur le cluster -> kubectl get nodes |grep gpu |wc -l template: metadata: labels: @@ -37,7 +37,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: image-puller - image: registry.rcp.epfl.ch/ptbiop/biop-desktop:0.0.8 # Image que tu souhaites pull sur tous les serveurs du cluster + image: registry.rcp.epfl.ch/ptbiop/biop-desktop:0.1.0 # Image que tu souhaites pull sur tous les serveurs du cluster imagePullPolicy: Always command: ["/bin/sh"] args: ["-c", "sleep 60"]