From 68036a4c5877ccfb2f7223be63444ae7b0e33596 Mon Sep 17 00:00:00 2001 From: Arjun Raj Date: Wed, 8 Jul 2026 05:26:09 -0400 Subject: [PATCH] feat(workers): explicit isGPUWorker label on every prod worker Dockerfile Adds a literal isGPUWorker="true"/"false" LABEL to the final build stage of every one of the 38 production worker Dockerfiles (per AWSDeploy's scripts/workers.tsv manifest), their Dockerfile_M1 variants where present, and the sample_interface copy-paste template (labeled "false"). This lets NimbusImage's dispatcher route each worker to the gpu or cpu Celery queue by image label instead of guessing; an unlabeled image falls back to gpu with a warning. 25 CPU workers -> isGPUWorker="false", 13 GPU/ML workers -> isGPUWorker="true", per the classification table in AWSDeploy's task-6 constraints. Also documents the requirement in CLAUDE.md's Docker Structure section for future workers. --- CLAUDE.md | 1 + workers/annotations/ai_analysis/Dockerfile | 1 + workers/annotations/ai_analysis/Dockerfile_M1 | 1 + workers/annotations/cellpose/Dockerfile | 1 + workers/annotations/cellpose_train/Dockerfile | 1 + workers/annotations/cellposesam/Dockerfile | 1 + workers/annotations/condensatenet/Dockerfile | 1 + workers/annotations/connect_sequential/Dockerfile | 1 + workers/annotations/connect_timelapse/Dockerfile | 1 + workers/annotations/connect_to_nearest/Dockerfile | 1 + workers/annotations/crop/Dockerfile | 1 + workers/annotations/deconwolf/Dockerfile | 1 + workers/annotations/deconwolf/Dockerfile_M1 | 1 + workers/annotations/gaussian_blur/Dockerfile | 1 + workers/annotations/h_and_e_deconvolution/Dockerfile | 1 + workers/annotations/histogram_matching/Dockerfile | 1 + workers/annotations/laplacian_of_gaussian/Dockerfile | 1 + workers/annotations/piscis/predict/Dockerfile | 1 + workers/annotations/piscis/train/Dockerfile | 1 + workers/annotations/registration/Dockerfile | 1 + workers/annotations/rolling_ball/Dockerfile | 1 + workers/annotations/sam2_automatic_mask_generator/Dockerfile | 1 + workers/annotations/sam2_automatic_mask_generator/Dockerfile_M1 | 1 + workers/annotations/sam2_fewshot_segmentation/Dockerfile | 1 + workers/annotations/sam2_fewshot_segmentation/Dockerfile_M1 | 1 + workers/annotations/sam2_propagate/Dockerfile | 1 + workers/annotations/sam2_propagate/Dockerfile_M1 | 1 + workers/annotations/sam2_refine/Dockerfile | 1 + workers/annotations/sam2_refine/Dockerfile_M1 | 1 + workers/annotations/sam2_video/Dockerfile | 1 + workers/annotations/sam2_video/Dockerfile_M1 | 1 + workers/annotations/sam_fewshot_segmentation/Dockerfile | 1 + workers/annotations/sam_fewshot_segmentation/Dockerfile_M1 | 1 + workers/annotations/sample_interface/Dockerfile | 1 + workers/annotations/stardist/Dockerfile | 1 + .../properties/blobs/blob_annulus_intensity_worker/Dockerfile | 1 + .../blobs/blob_colony_two_color_intensity_worker/Dockerfile | 1 + workers/properties/blobs/blob_intensity_worker/Dockerfile | 1 + workers/properties/blobs/blob_metrics_worker/Dockerfile | 1 + workers/properties/blobs/blob_overlap_worker/Dockerfile | 1 + workers/properties/blobs/blob_point_count_worker/Dockerfile | 1 + .../properties/blobs/blob_random_forest_classifier/Dockerfile | 1 + .../properties/blobs/blob_random_forest_classifier/Dockerfile_M1 | 1 + workers/properties/connections/children_count_worker/Dockerfile | 1 + workers/properties/connections/parent_child_worker/Dockerfile | 1 + workers/properties/lines/line_scan_worker/Dockerfile | 1 + .../properties/points/point_circle_intensity_worker/Dockerfile | 1 + workers/properties/points/point_metrics_worker/Dockerfile | 1 + .../properties/points/point_to_nearest_blob_distance/Dockerfile | 1 + 49 files changed, 49 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index af15fae..bf66081 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -383,6 +383,7 @@ pixelSize = params['scales']['pixelSize'] # {'unit': 'mm', 'value': 0.000219} - Workers inherit from `nimbusimage/worker-base:latest` or `nimbusimage/image-processing-base:latest` - Test workers (random_squares, sample_interface) use `nimbusimage/test-worker-base:latest`, a micromamba-based image using only conda-forge (avoids Anaconda ToS issues) - Docker labels identify worker type: `isPropertyWorker`, `isAnnotationWorker`, `annotationShape`, `interfaceName`, `interfaceCategory` +- Every worker's Dockerfile (production `Dockerfile` and any `Dockerfile_M1` variant, in the **final** stage for multi-stage builds) must set an explicit `isGPUWorker="true"` or `isGPUWorker="false"` label — the NimbusImage dispatcher reads it to route the job to the `gpu` or `cpu` Celery queue. An unlabeled image falls back to the `gpu` queue and logs a warning in prod, so never leave it unset on a new worker. - Architecture-aware builds: `Dockerfile` (x86_64/production) and `Dockerfile_M1` (arm64/Mac development) - GPU workers (deconwolf, condensatenet, etc.) use NVIDIA CUDA base images by default - Set `MAC_DEVELOPMENT_MODE=true` to build CPU-only versions on Mac diff --git a/workers/annotations/ai_analysis/Dockerfile b/workers/annotations/ai_analysis/Dockerfile index 1a4a6c6..2d22c1a 100644 --- a/workers/annotations/ai_analysis/Dockerfile +++ b/workers/annotations/ai_analysis/Dockerfile @@ -56,6 +56,7 @@ COPY ./workers/annotations/ai_analysis/property_handling.py / ENV ANTHROPIC_API_KEY="" LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Claude natural language analyzer" \ interfaceCategory="AI analysis" \ diff --git a/workers/annotations/ai_analysis/Dockerfile_M1 b/workers/annotations/ai_analysis/Dockerfile_M1 index 70ee3de..bf3bf12 100644 --- a/workers/annotations/ai_analysis/Dockerfile_M1 +++ b/workers/annotations/ai_analysis/Dockerfile_M1 @@ -56,6 +56,7 @@ COPY ./workers/annotations/ai_analysis/property_handling.py / ENV ANTHROPIC_API_KEY="" LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Claude natural language analyzer" \ interfaceCategory="AI analysis" \ diff --git a/workers/annotations/cellpose/Dockerfile b/workers/annotations/cellpose/Dockerfile index 8b53859..a8143dc 100755 --- a/workers/annotations/cellpose/Dockerfile +++ b/workers/annotations/cellpose/Dockerfile @@ -59,6 +59,7 @@ COPY ./worker_client /worker_client RUN pip install /worker_client LABEL isUPennContrastWorker=True \ + isGPUWorker="true" \ isAnnotationWorker=True \ interfaceName="Cellpose" \ interfaceCategory="Cellpose" \ diff --git a/workers/annotations/cellpose_train/Dockerfile b/workers/annotations/cellpose_train/Dockerfile index d9a9e4c..f58edc9 100755 --- a/workers/annotations/cellpose_train/Dockerfile +++ b/workers/annotations/cellpose_train/Dockerfile @@ -57,6 +57,7 @@ COPY ./worker_client /worker_client RUN pip install /worker_client LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="Cellpose retrain" \ interfaceCategory="Cellpose" \ diff --git a/workers/annotations/cellposesam/Dockerfile b/workers/annotations/cellposesam/Dockerfile index e0b5b02..6dda151 100644 --- a/workers/annotations/cellposesam/Dockerfile +++ b/workers/annotations/cellposesam/Dockerfile @@ -62,6 +62,7 @@ COPY ./worker_client /worker_client RUN pip install /worker_client LABEL isUPennContrastWorker=True \ + isGPUWorker="true" \ isAnnotationWorker=True \ interfaceName="Cellpose-SAM" \ interfaceCategory="Cellpose" \ diff --git a/workers/annotations/condensatenet/Dockerfile b/workers/annotations/condensatenet/Dockerfile index 4239c93..d585ae1 100644 --- a/workers/annotations/condensatenet/Dockerfile +++ b/workers/annotations/condensatenet/Dockerfile @@ -65,6 +65,7 @@ COPY ./workers/annotations/condensatenet/entrypoint.py / WORKDIR / LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="CondensateNet segmentation" \ interfaceCategory="CondensateNet" \ diff --git a/workers/annotations/connect_sequential/Dockerfile b/workers/annotations/connect_sequential/Dockerfile index b9f3b66..97f2dc0 100644 --- a/workers/annotations/connect_sequential/Dockerfile +++ b/workers/annotations/connect_sequential/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/annotations/connect_sequential/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Connect Sequential" \ interfaceCategory="Connections" \ diff --git a/workers/annotations/connect_timelapse/Dockerfile b/workers/annotations/connect_timelapse/Dockerfile index b85e094..2f0dd96 100644 --- a/workers/annotations/connect_timelapse/Dockerfile +++ b/workers/annotations/connect_timelapse/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/annotations/connect_timelapse/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Connect Time Lapse" \ interfaceCategory="Connections" \ diff --git a/workers/annotations/connect_to_nearest/Dockerfile b/workers/annotations/connect_to_nearest/Dockerfile index 91834d2..48f0bc2 100644 --- a/workers/annotations/connect_to_nearest/Dockerfile +++ b/workers/annotations/connect_to_nearest/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/annotations/connect_to_nearest/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Connect to Nearest" \ interfaceCategory="Connections" \ diff --git a/workers/annotations/crop/Dockerfile b/workers/annotations/crop/Dockerfile index 4c006d9..8507983 100644 --- a/workers/annotations/crop/Dockerfile +++ b/workers/annotations/crop/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/crop/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Crop" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/deconwolf/Dockerfile b/workers/annotations/deconwolf/Dockerfile index 4d37db1..86d4a00 100644 --- a/workers/annotations/deconwolf/Dockerfile +++ b/workers/annotations/deconwolf/Dockerfile @@ -76,6 +76,7 @@ COPY ./workers/annotations/deconwolf/entrypoint.py / WORKDIR / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Deconwolf Deconvolution" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/deconwolf/Dockerfile_M1 b/workers/annotations/deconwolf/Dockerfile_M1 index 2d1037f..4701b28 100644 --- a/workers/annotations/deconwolf/Dockerfile_M1 +++ b/workers/annotations/deconwolf/Dockerfile_M1 @@ -22,6 +22,7 @@ RUN git clone https://github.com/elgw/deconwolf.git /deconwolf && \ COPY ./workers/annotations/deconwolf/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Deconwolf Deconvolution" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/gaussian_blur/Dockerfile b/workers/annotations/gaussian_blur/Dockerfile index d8bdc87..196ff8e 100644 --- a/workers/annotations/gaussian_blur/Dockerfile +++ b/workers/annotations/gaussian_blur/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/gaussian_blur/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Gaussian Blur" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/h_and_e_deconvolution/Dockerfile b/workers/annotations/h_and_e_deconvolution/Dockerfile index 9f4c390..955d494 100644 --- a/workers/annotations/h_and_e_deconvolution/Dockerfile +++ b/workers/annotations/h_and_e_deconvolution/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/h_and_e_deconvolution/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="H&E Deconvolution" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/histogram_matching/Dockerfile b/workers/annotations/histogram_matching/Dockerfile index 172acdb..6234ee1 100644 --- a/workers/annotations/histogram_matching/Dockerfile +++ b/workers/annotations/histogram_matching/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/histogram_matching/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Histogram Matching" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/laplacian_of_gaussian/Dockerfile b/workers/annotations/laplacian_of_gaussian/Dockerfile index 2ab0e86..25be498 100644 --- a/workers/annotations/laplacian_of_gaussian/Dockerfile +++ b/workers/annotations/laplacian_of_gaussian/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/annotations/laplacian_of_gaussian/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Laplacian of Gaussian" \ interfaceCategory="Object Detection" \ diff --git a/workers/annotations/piscis/predict/Dockerfile b/workers/annotations/piscis/predict/Dockerfile index 4673653..9b9fb61 100755 --- a/workers/annotations/piscis/predict/Dockerfile +++ b/workers/annotations/piscis/predict/Dockerfile @@ -62,6 +62,7 @@ COPY ./workers/annotations/piscis/utils.py / COPY ./workers/annotations/piscis/predict/entrypoint.py / LABEL isUPennContrastWorker=True \ + isGPUWorker="true" \ isAnnotationWorker=True \ interfaceName="Piscis spot detection" \ interfaceCategory="Piscis" \ diff --git a/workers/annotations/piscis/train/Dockerfile b/workers/annotations/piscis/train/Dockerfile index 6979d10..f1465d0 100755 --- a/workers/annotations/piscis/train/Dockerfile +++ b/workers/annotations/piscis/train/Dockerfile @@ -67,6 +67,7 @@ COPY ./workers/annotations/piscis/utils.py / COPY ./workers/annotations/piscis/train/entrypoint.py / LABEL isUPennContrastWorker=True \ + isGPUWorker="true" \ isAnnotationWorker=True \ interfaceName="Piscis spot training" \ interfaceCategory="Piscis" \ diff --git a/workers/annotations/registration/Dockerfile b/workers/annotations/registration/Dockerfile index 1cf37fa..ac1feb8 100644 --- a/workers/annotations/registration/Dockerfile +++ b/workers/annotations/registration/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/registration/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Time lapse registration" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/rolling_ball/Dockerfile b/workers/annotations/rolling_ball/Dockerfile index fdca488..ec17cc4 100644 --- a/workers/annotations/rolling_ball/Dockerfile +++ b/workers/annotations/rolling_ball/Dockerfile @@ -3,6 +3,7 @@ FROM nimbusimage/image-processing-base:latest COPY ./workers/annotations/rolling_ball/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Rolling Ball" \ interfaceCategory="Image Processing" \ diff --git a/workers/annotations/sam2_automatic_mask_generator/Dockerfile b/workers/annotations/sam2_automatic_mask_generator/Dockerfile index c1ee737..e824679 100755 --- a/workers/annotations/sam2_automatic_mask_generator/Dockerfile +++ b/workers/annotations/sam2_automatic_mask_generator/Dockerfile @@ -61,6 +61,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 automatic mask generator" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_automatic_mask_generator/Dockerfile_M1 b/workers/annotations/sam2_automatic_mask_generator/Dockerfile_M1 index 7cf0ef7..1544fae 100755 --- a/workers/annotations/sam2_automatic_mask_generator/Dockerfile_M1 +++ b/workers/annotations/sam2_automatic_mask_generator/Dockerfile_M1 @@ -64,6 +64,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 automatic mask generator" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_fewshot_segmentation/Dockerfile b/workers/annotations/sam2_fewshot_segmentation/Dockerfile index 42c149d..e950fa1 100644 --- a/workers/annotations/sam2_fewshot_segmentation/Dockerfile +++ b/workers/annotations/sam2_fewshot_segmentation/Dockerfile @@ -60,6 +60,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 few-shot segmentation" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_fewshot_segmentation/Dockerfile_M1 b/workers/annotations/sam2_fewshot_segmentation/Dockerfile_M1 index cf7f1f4..09b3a3a 100644 --- a/workers/annotations/sam2_fewshot_segmentation/Dockerfile_M1 +++ b/workers/annotations/sam2_fewshot_segmentation/Dockerfile_M1 @@ -63,6 +63,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 few-shot segmentation" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_propagate/Dockerfile b/workers/annotations/sam2_propagate/Dockerfile index e5affdc..3d85872 100755 --- a/workers/annotations/sam2_propagate/Dockerfile +++ b/workers/annotations/sam2_propagate/Dockerfile @@ -61,6 +61,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 propagator" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_propagate/Dockerfile_M1 b/workers/annotations/sam2_propagate/Dockerfile_M1 index f2401f5..3038a28 100755 --- a/workers/annotations/sam2_propagate/Dockerfile_M1 +++ b/workers/annotations/sam2_propagate/Dockerfile_M1 @@ -64,6 +64,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 propagator" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_refine/Dockerfile b/workers/annotations/sam2_refine/Dockerfile index 00d4cae..add95a0 100755 --- a/workers/annotations/sam2_refine/Dockerfile +++ b/workers/annotations/sam2_refine/Dockerfile @@ -61,6 +61,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 Refiner" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_refine/Dockerfile_M1 b/workers/annotations/sam2_refine/Dockerfile_M1 index f2401f5..3038a28 100755 --- a/workers/annotations/sam2_refine/Dockerfile_M1 +++ b/workers/annotations/sam2_refine/Dockerfile_M1 @@ -64,6 +64,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 propagator" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_video/Dockerfile b/workers/annotations/sam2_video/Dockerfile index 7458113..1201bf7 100755 --- a/workers/annotations/sam2_video/Dockerfile +++ b/workers/annotations/sam2_video/Dockerfile @@ -61,6 +61,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 video" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam2_video/Dockerfile_M1 b/workers/annotations/sam2_video/Dockerfile_M1 index ce02ab5..a5b6662 100755 --- a/workers/annotations/sam2_video/Dockerfile_M1 +++ b/workers/annotations/sam2_video/Dockerfile_M1 @@ -64,6 +64,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM2 video" \ interfaceCategory="SAM2" \ diff --git a/workers/annotations/sam_fewshot_segmentation/Dockerfile b/workers/annotations/sam_fewshot_segmentation/Dockerfile index 3fb9a96..72093bf 100644 --- a/workers/annotations/sam_fewshot_segmentation/Dockerfile +++ b/workers/annotations/sam_fewshot_segmentation/Dockerfile @@ -53,6 +53,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM few-shot segmentation" \ interfaceCategory="SAM" \ diff --git a/workers/annotations/sam_fewshot_segmentation/Dockerfile_M1 b/workers/annotations/sam_fewshot_segmentation/Dockerfile_M1 index ae10e2f..2a6749c 100644 --- a/workers/annotations/sam_fewshot_segmentation/Dockerfile_M1 +++ b/workers/annotations/sam_fewshot_segmentation/Dockerfile_M1 @@ -54,6 +54,7 @@ COPY ./annotation_utilities /annotation_utilities RUN pip install /annotation_utilities LABEL isUPennContrastWorker="" \ + isGPUWorker="true" \ isAnnotationWorker="" \ interfaceName="SAM few-shot segmentation" \ interfaceCategory="SAM" \ diff --git a/workers/annotations/sample_interface/Dockerfile b/workers/annotations/sample_interface/Dockerfile index 2dfac27..58159c3 100644 --- a/workers/annotations/sample_interface/Dockerfile +++ b/workers/annotations/sample_interface/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/test-worker-base:latest COPY --chown=$MAMBA_USER:$MAMBA_USER ./workers/annotations/sample_interface/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isAnnotationWorker="" \ interfaceName="Sample interface" \ interfaceCategory="Testing" \ diff --git a/workers/annotations/stardist/Dockerfile b/workers/annotations/stardist/Dockerfile index 4c9c096..4a147fd 100755 --- a/workers/annotations/stardist/Dockerfile +++ b/workers/annotations/stardist/Dockerfile @@ -58,6 +58,7 @@ COPY ./worker_client /worker_client RUN pip install /worker_client LABEL isUPennContrastWorker=True \ + isGPUWorker="true" \ isAnnotationWorker=True \ interfaceName="Stardist" \ interfaceCategory="Stardist" \ diff --git a/workers/properties/blobs/blob_annulus_intensity_worker/Dockerfile b/workers/properties/blobs/blob_annulus_intensity_worker/Dockerfile index 7393149..fbc71e9 100755 --- a/workers/properties/blobs/blob_annulus_intensity_worker/Dockerfile +++ b/workers/properties/blobs/blob_annulus_intensity_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_annulus_intensity_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Annulus intensity measurements" \ diff --git a/workers/properties/blobs/blob_colony_two_color_intensity_worker/Dockerfile b/workers/properties/blobs/blob_colony_two_color_intensity_worker/Dockerfile index c544276..a054fdb 100755 --- a/workers/properties/blobs/blob_colony_two_color_intensity_worker/Dockerfile +++ b/workers/properties/blobs/blob_colony_two_color_intensity_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_colony_two_color_intensity_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Colony two color intensity" \ diff --git a/workers/properties/blobs/blob_intensity_worker/Dockerfile b/workers/properties/blobs/blob_intensity_worker/Dockerfile index a529758..e29fefa 100755 --- a/workers/properties/blobs/blob_intensity_worker/Dockerfile +++ b/workers/properties/blobs/blob_intensity_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_intensity_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Blob intensity measurements" \ diff --git a/workers/properties/blobs/blob_metrics_worker/Dockerfile b/workers/properties/blobs/blob_metrics_worker/Dockerfile index fb1b968..74da2e4 100755 --- a/workers/properties/blobs/blob_metrics_worker/Dockerfile +++ b/workers/properties/blobs/blob_metrics_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_metrics_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Blob metrics" \ diff --git a/workers/properties/blobs/blob_overlap_worker/Dockerfile b/workers/properties/blobs/blob_overlap_worker/Dockerfile index 73b1a2f..88922fd 100755 --- a/workers/properties/blobs/blob_overlap_worker/Dockerfile +++ b/workers/properties/blobs/blob_overlap_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_overlap_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Blob overlap" \ diff --git a/workers/properties/blobs/blob_point_count_worker/Dockerfile b/workers/properties/blobs/blob_point_count_worker/Dockerfile index fa33e87..1d1f49e 100755 --- a/workers/properties/blobs/blob_point_count_worker/Dockerfile +++ b/workers/properties/blobs/blob_point_count_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/blobs/blob_point_count_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Point count" \ diff --git a/workers/properties/blobs/blob_random_forest_classifier/Dockerfile b/workers/properties/blobs/blob_random_forest_classifier/Dockerfile index 057d7a7..eb60f43 100755 --- a/workers/properties/blobs/blob_random_forest_classifier/Dockerfile +++ b/workers/properties/blobs/blob_random_forest_classifier/Dockerfile @@ -52,6 +52,7 @@ RUN pip install -e devops/girder/annotation_client/ COPY ./workers/properties/blobs/blob_random_forest_classifier/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Random Forest Classifier" \ diff --git a/workers/properties/blobs/blob_random_forest_classifier/Dockerfile_M1 b/workers/properties/blobs/blob_random_forest_classifier/Dockerfile_M1 index 5734044..f0d2dda 100755 --- a/workers/properties/blobs/blob_random_forest_classifier/Dockerfile_M1 +++ b/workers/properties/blobs/blob_random_forest_classifier/Dockerfile_M1 @@ -52,6 +52,7 @@ RUN pip install -e devops/girder/annotation_client/ COPY ./workers/properties/blobs/blob_random_forest_classifier/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Random Forest Classifier" \ diff --git a/workers/properties/connections/children_count_worker/Dockerfile b/workers/properties/connections/children_count_worker/Dockerfile index 37da822..4c808df 100755 --- a/workers/properties/connections/children_count_worker/Dockerfile +++ b/workers/properties/connections/children_count_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/connections/children_count_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="polygon" \ interfaceName="Count connected objects" \ diff --git a/workers/properties/connections/parent_child_worker/Dockerfile b/workers/properties/connections/parent_child_worker/Dockerfile index 4c7ff38..78fd857 100755 --- a/workers/properties/connections/parent_child_worker/Dockerfile +++ b/workers/properties/connections/parent_child_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/connections/parent_child_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="any" \ interfaceName="Connection IDs" \ diff --git a/workers/properties/lines/line_scan_worker/Dockerfile b/workers/properties/lines/line_scan_worker/Dockerfile index bf446eb..d2963d7 100755 --- a/workers/properties/lines/line_scan_worker/Dockerfile +++ b/workers/properties/lines/line_scan_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/lines/line_scan_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="line" \ interfaceName="Line scan CSV" \ diff --git a/workers/properties/points/point_circle_intensity_worker/Dockerfile b/workers/properties/points/point_circle_intensity_worker/Dockerfile index 207e1ac..6d15202 100755 --- a/workers/properties/points/point_circle_intensity_worker/Dockerfile +++ b/workers/properties/points/point_circle_intensity_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/points/point_circle_intensity_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="point" \ interfaceName="Point intensity" \ diff --git a/workers/properties/points/point_metrics_worker/Dockerfile b/workers/properties/points/point_metrics_worker/Dockerfile index 957eeb4..909677c 100755 --- a/workers/properties/points/point_metrics_worker/Dockerfile +++ b/workers/properties/points/point_metrics_worker/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/points/point_metrics_worker/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="point" \ interfaceName="Point metrics" \ diff --git a/workers/properties/points/point_to_nearest_blob_distance/Dockerfile b/workers/properties/points/point_to_nearest_blob_distance/Dockerfile index f0595d3..9ed6734 100755 --- a/workers/properties/points/point_to_nearest_blob_distance/Dockerfile +++ b/workers/properties/points/point_to_nearest_blob_distance/Dockerfile @@ -4,6 +4,7 @@ FROM nimbusimage/worker-base:latest COPY ./workers/properties/points/point_to_nearest_blob_distance/entrypoint.py / LABEL isUPennContrastWorker="" \ + isGPUWorker="false" \ isPropertyWorker="" \ annotationShape="point" \ interfaceName="Distance to nearest blob" \