Skip to content

Commit ff57907

Browse files
authored
Merge pull request #33 from BIOP/v0.2.4
move to v0.2.4
2 parents 276b75d + 8e6d6e8 commit ff57907

26 files changed

Lines changed: 470 additions & 196 deletions

docker/Dockerfile-base

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ RUN printf 'jupyter lab\n\$ read -rsp \$"Press enter to continue..."\nPress ente
182182
# to start omero.insight
183183
&& printf '#!/bin/bash\n# Navigate to the directory containing the OMERO.insight binary\ncd /opt/OMERO.insight/OMERO.insight-5.8.6/bin\n# Execute the OMERO.insight application\n./omero-insight\n' > /opt/icons/start_omero.sh \
184184
&& printf '[Desktop Entry]\nVersion=5.8.6\nName=OMERO Insight\nGenericName=OMERO Insight\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_omero.sh\nTryExec=/opt/icons/start_omero.sh\nTerminal=false\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/icons/omero.png\n' > /home/biop/Desktop/omero.desktop \
185-
# to start VScode
185+
# to start VScode : TODO : change to "DISPLAY=:1 code --no-sandbox"
186186
&& printf 'yes | code' > /opt/icons/start_vscode.sh \
187187
&& printf '[Desktop Entry]\nVersion=1.98.2\nName=VScode\nGenericName=VScode\nX-GNOME-FullName=VScode\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_vscode.sh\nTryExec=/opt/icons/start_vscode.sh\nTerminal=false\nStartupNotify=true\nIcon=/opt/icons/vscode.png\n' > /home/biop/Desktop/vscode.desktop
188188

docker/Dockerfile-ms

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ ARG ALIAS=biop/
44
# because COPY --from= doesn't support build-arg (https://github.com/docker/for-mac/issues/2155)
55
# we can still do a list of all sub-blocks here to be able to use them in the COPY --from=... below
66
# 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 !
7-
ARG QUPATH_VERSION=v0.5.1-05
8-
ARG ILASTIK_VERSION=1.4.0-gpu
9-
ARG FIJI_VERSION=20250319
7+
ARG QUPATH_VERSION=v0.6.0-full
8+
ARG ILASTIK_VERSION=1.4.1.post1-gpu
9+
ARG FIJI_VERSION=20251020
1010
ARG CELLPOSE_VERSION=3.1.1.1
1111
ARG DEVBIO_VERSION=0.11.0
12-
ARG SAMAPI_VERSION=0.6.1
12+
ARG SAMAPI_VERSION=0.6.1-02
1313
ARG EM_VERSION=1.1.1
1414
ARG STARDIST_VERSION=0.8.5
15-
ARG ABBA_VERSION=0.10.6
16-
ARG CELLPROFILER_VERSION=4.2.6
15+
ARG ABBA_VERSION=0.10.7
16+
ARG CELLPROFILER_VERSION=4.2.8-plugins
1717
ARG INKSCAPE_VERSION=0.1.4
1818
ARG OMNI_VERSION=1.0.7-dev2
1919
ARG BRAINRENDER_VERSION=0.0.7
@@ -51,7 +51,13 @@ RUN mkdir -p /home/biop/Desktop \
5151

5252
#################################################################
5353
# Install QuPath
54+
#
5455
COPY --from=qupath-image /opt/QuPath /opt/QuPath
56+
COPY --from=qupath-image /opt/conda/envs/djl /opt/conda/envs/djl
57+
COPY --from=qupath-image /home/biop/.djl.ai/pytorch/2.5.1-cpu-linux-x86_64/ /home/biop/.djl.ai/pytorch/2.5.1-cpu-linux-x86_64/
58+
59+
COPY --from=qupath-image /opt/icons/start_qp.sh /opt/icons/start_qp.sh
60+
# Prepare to set QP_prefs , see below `QuPath_setPaths.groovy`
5561
COPY QuPath/prefs/* /home/biop/tmp/
5662

5763
#################################################################
@@ -92,6 +98,7 @@ COPY --from=devbio-image /opt/conda/envs/devbio /opt/conda/envs/devbio
9298
#################################################################
9399
# Install cellprofiler
94100
COPY --from=cellprofiler-image /opt/conda/envs/cellprofiler /opt/conda/envs/cellprofiler
101+
COPY --from=cellprofiler-image /home/biop/.python3/plugins/ /home/biop/.python3/plugins/
95102

96103
#################################################################
97104
# Add the inkscape-imagej-panel extension for inskcape
@@ -151,12 +158,12 @@ COPY icons/* /opt/icons/
151158
# to start fiji
152159
RUN 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 \
153160
# to start QuPath
154-
&& printf '[Desktop Entry]\nVersion=0.5.1\nName=qupath\nGenericName=QuPath\nX-GNOME-FullName=QuPath\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/QuPath/bin/QuPath\nTryExec=/opt/QuPath/bin/QuPath\nTerminal=false\nStartupNotify=true\nIcon=/opt/QuPath/lib/QuPath.png\nStartupWMClass=QuPath' > /home/biop/Desktop/QuPath.desktop \
161+
&& printf '[Desktop Entry]\nVersion=0.6.0\nName=qupath\nGenericName=QuPath\nX-GNOME-FullName=QuPath\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_qp.sh\nTryExec=/opt/icons/start_qp.sh\nTerminal=false\nStartupNotify=true\nIcon=/opt/QuPath/lib/QuPath.png\nStartupWMClass=QuPath' > /home/biop/Desktop/QuPath.desktop \
155162
# to start ilastik
156-
&& printf '[Desktop Entry]\nVersion=1.4.0\nName=ilastik\nGenericName=ilastik\nX-GNOME-FullName=ilastik\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/ilastik/run_ilastik.sh %F\nTryExec=/opt/ilastik/run_ilastik.sh\nTerminal=false\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/ilastik/lib/python3.7/site-packages/ilastik/shell/gui/icons/96x96/ilastik-icon.png\nStartupWMClass=ilastik\n' > /home/biop/Desktop/ilastik.desktop \
163+
&& printf '[Desktop Entry]\nVersion=1.4.0\nName=ilastik\nGenericName=ilastik\nX-GNOME-FullName=ilastik\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/ilastik/run_ilastik.sh %F\nTryExec=/opt/ilastik/run_ilastik.sh\nTerminal=false\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/ilastik/lib/python3.9/site-packages/ilastik/shell/gui/icons/96x96/ilastik-icon.png\nStartupWMClass=ilastik\n' > /home/biop/Desktop/ilastik.desktop \
157164
# cellprofiler
158-
&& printf 'source activate cellprofiler\ncellprofiler\n\$ read -rsp \$"Press enter to continue..."\n' > /opt/icons/start_cellprofiler.sh \
159-
&& printf '[Desktop Entry]\nVersion=4.2.6\nName=cellprofiler\nGenericName=cellprofiler\nX-GNOME-FullName=cellprofiler\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_cellprofiler.sh\nTryExec=/opt/icons/start_cellprofiler.sh\nTerminal=true\nStartupNotify=true\nIcon=/opt/icons/CellProfiler.ico\nStartupWMClass=cellprofiler\n' > /home/biop/Desktop/cellprofiler.desktop \
165+
&& printf 'source activate cellprofiler\nexport "PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True" && cellprofiler\n\$ read -rsp \$"Press enter to continue..."\n' > /opt/icons/start_cellprofiler.sh \
166+
&& printf '[Desktop Entry]\nVersion=4.2.8\nName=cellprofiler\nGenericName=cellprofiler\nX-GNOME-FullName=cellprofiler\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_cellprofiler.sh\nTryExec=/opt/icons/start_cellprofiler.sh\nTerminal=true\nStartupNotify=true\nIcon=/opt/icons/CellProfiler.ico\nStartupWMClass=cellprofiler\n' > /home/biop/Desktop/cellprofiler.desktop \
160167
# to start abba
161168
&& printf 'source activate abba_python\npython /opt/abba/abba_run.py\n\$ read -rsp \$"Press enter to continue..."' > /opt/icons/start_abba.sh \
162169
&& printf '[Desktop Entry]\nVersion=0.10.6\nName=ABBA\nGenericName=ABBA\nX-GNOME-FullName=ABBA\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_abba.sh\nTryExec=/opt/icons/start_abba.sh\nTerminal=true\nStartupNotify=true\nMimeType=image/*;\nIcon=/opt/icons/abba.png\nStartupWMClass=ABBA\n' > /home/biop/Desktop/abba.desktop \
@@ -172,6 +179,9 @@ RUN printf '[Desktop Entry]\nVersion=1.0\nName=ImageJ\nGenericName=ImageJ\nX-GNO
172179
# brainrender
173180
&& printf 'source activate brainrender\nnapari\n\$ read -rsp \$"Press enter to continue..."' > /opt/icons/start_brainrender.sh \
174181
&& printf '[Desktop Entry]\nVersion=0.0.7\nName=brainrender\nGenericName=brainrender\nX-GNOME-FullName=brainrender\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_brainrender.sh\nTryExec=/opt/icons/start_brainrender.sh\nTerminal=true\nStartupNotify=true\nIcon=/opt/icons/brainglobe.png\nStartupWMClass=brainrender\n' > /home/biop/Desktop/brainrender.desktop \
182+
# to start VScode (patch vscode start)
183+
&& printf 'DISPLAY=:1 code --no-sandbox' > /opt/icons/start_vscode.sh \
184+
&& printf '[Desktop Entry]\nVersion=1.98.2\nName=VScode\nGenericName=VScode\nX-GNOME-FullName=VScode\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/icons/start_vscode.sh\nTryExec=/opt/icons/start_vscode.sh\nTerminal=false\nStartupNotify=true\nIcon=/opt/icons/vscode.png\n' > /home/biop/Desktop/vscode.desktop \
175185
# set permissions
176186
&& chown -R biop:biop /home/biop/ /opt/icons/ \
177187
&& chmod -R a+rwx /home/biop/Desktop/ /opt/icons/ \
@@ -180,8 +190,8 @@ RUN printf '[Desktop Entry]\nVersion=1.0\nName=ImageJ\nGenericName=ImageJ\nX-GNO
180190

181191

182192
# set chown and chmod for all necessary folders
183-
RUN chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.5 \
184-
&& chmod -R a+rwx /opt/QuPath/QuPath_Common_Data_0.5 \
193+
RUN chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.6 \
194+
&& chmod -R a+rwx /opt/QuPath/QuPath_Common_Data_0.6 \
185195
&& chmod a+rwx /opt/QuPath/bin/QuPath \
186196
# cellpose models
187197
&& chmod -R a+rwx /home/biop/.cellpose \
@@ -201,12 +211,13 @@ RUN chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.5 \
201211
&& chown -R biop:biop /opt/elastix \
202212
&& chmod a+rwx /opt/elastix/bin/elastix \
203213
&& chmod a+rwx /opt/elastix/bin/transformix \
204-
# fiji
205-
&& chown biop:biop /opt/Fiji.app/ \
206-
&& chmod -R a+rwx /opt/Fiji.app/ \
207214
# abba
208215
&& chown -R biop:biop /opt/abba/ \
209-
&& chmod -R a+rwX /opt/abba/
216+
&& chmod -R a+rwX /opt/abba/ \
217+
# fiji
218+
&& chown biop:biop /opt/Fiji.app/ \
219+
&& chmod -R a+rwx /opt/Fiji.app/
220+
210221

211222
#################################################################
212223
# Container start

docker/QuPath/Dockerfile-qupath

Lines changed: 28 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
ARG BASE_IMAGE=0.2.2
22
ARG ALIAS=biop/
3-
ARG CELLPOSE_VERSION=3.1.1.1
4-
ARG CELLPOSESAM_VERSION=4.0.6
5-
ARG SPOTIFLOW_VERSION=v0.5.7
63

7-
8-
FROM ${ALIAS}biop-cellpose:${CELLPOSE_VERSION} AS cellpose-image
9-
FROM ${ALIAS}biop-cellpose:${CELLPOSESAM_VERSION} AS cellposesam-image
10-
FROM ${ALIAS}biop-spotiflow:${SPOTIFLOW_VERSION} AS spotiflow-image
114
FROM ${ALIAS}biop-vnc-base:${BASE_IMAGE}
125

13-
ARG QP_VERSION=v0.5.1
6+
ARG QP_VERSION=v0.6.0
147

158
USER root
169
#################################################################
@@ -21,9 +14,22 @@ USER root
2114
# https://qupath.readthedocs.io/en/stable/docs/reference/building.html
2215
# install OpenJDK > 17 https://www.linuxcapable.com/how-to-install-openjdk-17-on-ubuntu-linux/
2316
RUN apt-get update \
24-
&& apt install openjdk-17-jdk -y
17+
&& apt install openjdk-21-jdk -y
18+
19+
## v0.7.0-SNAPSHOT
20+
# RUN git clone https://github.com/qupath/qupath.git
21+
# RUN cd qupath \
22+
# && ./gradlew clean -x jpackage -x javadoc -x jre
23+
# #/usr/bin/java , /usr/lib/jvm/java-21-openjdk-amd64/
24+
25+
# RUN cd qupath && \
26+
# ./gradlew clean installDist -x javadoc
27+
28+
# RUN mv /home/biop/qupath/build/install/QuPath/ /opt/QuPath \
29+
# && chmod u+x /opt/QuPath/bin/QuPath \
30+
# && rm -rf /home/biop/qupath
2531

26-
# install GPU by adding -Pcuda-redist to gradle command
32+
## v0.6.0
2733
RUN git clone https://github.com/qupath/qupath.git --branch ${QP_VERSION}
2834
RUN cd qupath \
2935
&& ./gradlew clean jpackage
@@ -32,39 +38,22 @@ RUN mv /home/biop/qupath/build/dist/QuPath/ /opt/QuPath \
3238
&& chmod u+x /opt/QuPath/bin/QuPath \
3339
&& rm -rf /home/biop/qupath
3440

35-
# # create icon
36-
RUN mkdir -p /home/biop/Desktop && chown -R biop:biop /home/biop/Desktop \
37-
&& printf '[Desktop Entry]\nVersion=0.5.1\nName=qupath\nGenericName=QuPath\nX-GNOME-FullName=QuPath\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/QuPath/bin/QuPath\nTryExec=/opt/QuPath/bin/QuPath\nTerminal=false\nStartupNotify=true\nIcon=/opt/QuPath/lib/QuPath.png\nStartupWMClass=QuPath' > /home/biop/Desktop/QuPath.desktop \
38-
&& chown -R biop:biop /home/biop \
39-
&& chmod +x /home/biop/Desktop/QuPath.desktop
40-
4141
# install Extensions
42-
RUN mkdir -p /opt/QuPath/QuPath_Common_Data_0.5 \
43-
&& chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.5 \
44-
&& chmod -R a+rwx /opt/QuPath/QuPath_Common_Data_0.5
42+
#TODO : reaplace with a zip
43+
RUN mkdir -p /opt/QuPath/QuPath_Common_Data_0.6 \
44+
&& chown -R biop:biop /opt/QuPath/QuPath_Common_Data_0.6 \
45+
&& chmod -R a+rwx /opt/QuPath/QuPath_Common_Data_0.6
4546

46-
RUN wget -q https://zenodo.org/records/16744574/files/QuPath_Common_Data_0.5.zip?download=1 -O ${TEMP_DIR}/QuPath_Common_Data_0.5.zip \
47-
&& unzip ${TEMP_DIR}/QuPath_Common_Data_0.5.zip -d /opt/QuPath/QuPath_Common_Data_0.5 \
48-
&& rm ${TEMP_DIR}/QuPath_Common_Data_0.5.zip
47+
# # 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)
48+
RUN wget -q https://zenodo.org/records/17121500/files/QuPath_Common_Data_0.6.zip?download=1 -O ${TEMP_DIR}/QuPath_Common_Data_0.6.zip
49+
RUN unzip ${TEMP_DIR}/QuPath_Common_Data_0.6.zip -d /opt/QuPath/QuPath_Common_Data_0.6 \
50+
&& rm ${TEMP_DIR}/QuPath_Common_Data_0.6.zip
4951

50-
51-
# Prepare to set QP_prefs , see below `QuPath_setPaths.groovy`
52-
COPY QuPath/prefs/* /home/biop/tmp/
5352

54-
#################################################################
55-
# Install cellpose and models
56-
COPY --from=cellpose-image /opt/conda/envs/cellpose /opt/conda/envs/cellpose
57-
COPY --from=cellpose-image /home/biop/.cellpose/models/ /home/biop/.cellpose/models/
58-
59-
COPY --from=cellposesam-image /opt/conda/envs/cellpose /opt/conda/envs/cellposesam
60-
COPY --from=cellposesam-image /home/biop/.cellpose/models/ /home/biop/.cellpose/models/
61-
62-
#################################################################
63-
# Install spotiflow
64-
COPY --from=spotiflow-image /opt/conda/envs/spotiflow /opt/conda/envs/spotiflow
65-
COPY --from=spotiflow-image /home/biop/.spotiflow/models/ /home/biop/.spotiflow/models/
66-
67-
RUN chown -R biop:biop /home/biop/ \
53+
COPY QuPath/prefs/* /home/biop/tmp/
54+
RUN mkdir -p /home/biop/Desktop && chown -R biop:biop /home/biop/Desktop \
55+
&& printf '[Desktop Entry]\nVersion=0.6.0\nName=qupath\nGenericName=QuPath\nX-GNOME-FullName=QuPath\nComment=Scientific Image Analysis\nType=Application\nCategories=Education;Science;ImageProcessing;\nExec=/opt/QuPath/bin/QuPath\nTryExec=/opt/QuPath/bin/QuPath\nTerminal=false\nStartupNotify=true\nIcon=/opt/QuPath/lib/QuPath.png\nStartupWMClass=QuPath' > /home/biop/Desktop/QuPath.desktop \
56+
&& chown -R biop:biop /home/biop \
6857
&& chmod -R a+rwx /home/biop/
6958

7059
#################################################################

0 commit comments

Comments
 (0)