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/ 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/ \ 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 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 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/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 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..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==0.2.3 + - 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 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 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 0000000..be81330 Binary files /dev/null and b/docker/jupyter/kernels/brainrender/logo-32x32.png differ diff --git a/docker/jupyter/kernels/brainrender/logo-64x64.png b/docker/jupyter/kernels/brainrender/logo-64x64.png new file mode 100644 index 0000000..eebbff6 Binary files /dev/null and b/docker/jupyter/kernels/brainrender/logo-64x64.png differ diff --git a/docker/jupyter/kernels/brainrender/logo-svg.svg b/docker/jupyter/kernels/brainrender/logo-svg.svg new file mode 100644 index 0000000..467b07b --- /dev/null +++ b/docker/jupyter/kernels/brainrender/logo-svg.svg @@ -0,0 +1,265 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 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/ 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 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"]