Mercurial > repos > bgruening > cellpose
changeset 2:e5370bb71633 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/cellpose commit 5846f23282167df28e6cc00e1bda31523b66b5b4
author | bgruening |
---|---|
date | Sat, 15 Mar 2025 17:23:55 +0000 |
parents | 1857781df226 |
children | |
files | cellpose.xml cp_segmentation.py test-data/img02_cp_masks_rescale.tif test-data/img02_cp_segm_cyto.png test-data/img02_cp_segm_diameter.png test-data/img02_cp_segm_gpu.png |
diffstat | 6 files changed, 19 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/cellpose.xml Tue Feb 11 14:47:54 2025 +0000 +++ b/cellpose.xml Sat Mar 15 17:23:55 2025 +0000 @@ -2,7 +2,7 @@ <description>with Cellpose</description> <macros> <token name="@TOOL_VERSION@">3.1.0</token> - <token name="@VERSION_SUFFIX@">0</token> + <token name="@VERSION_SUFFIX@">1</token> <xml name="channel"> <option value="0" selected="true">grayscale/None</option> <option value="1">red</option> @@ -19,6 +19,7 @@ <version_command>echo "@VERSION@"</version_command> <command detect_errors="exit_code"> <![CDATA[ + export MKL_NUM_THREADS=1 && export CELLPOSE_LOCAL_MODELS_PATH='cellpose_models' && mkdir -p segmentation && ln -s '${img_in}' ./image.${img_in.ext} && @@ -34,7 +35,7 @@ <inputs name="inputs" /> </configfiles> <inputs> - <param name="img_in" type="data" format="ome.tiff,tiff,jpeg,png" label="Choose the image file for segmention (usually after registration)"/> + <param name="img_in" type="data" format="ome.tiff,tiff,jpg,png" label="Choose the image file for segmention (usually after registration)"/> <param name="model_type" type="select" label="Choose the pre-trained model type"> <option value="nuclei" selected="true">nuclei</option> <option value="cyto">cyto</option> @@ -115,7 +116,9 @@ <param name="model_type" value="cyto"/> <param name="chan" value="2"/> <param name="chan2" value="3"/> - <param name="diameter" value="50"/> + <section name="options"> + <param name="diameter" value="50"/> + </section> <output name="cp_mask" file="img02_cp_masks_diameter.tif" compare="image_diff"/> <output name="cp_segm" file="img02_cp_segm_diameter.png" compare="image_diff"/> </test>
--- a/cp_segmentation.py Tue Feb 11 14:47:54 2025 +0000 +++ b/cp_segmentation.py Sat Mar 15 17:23:55 2025 +0000 @@ -3,11 +3,24 @@ import os import warnings +# Make sure, that `MKL_NUM_THREADS` is set to 1, to ensure reproducibility: +# https://forum.image.sc/t/reproducibility-how-we-spent-years-building-containers-and-then-mkl-decided-to-screw-our-results/109599 +if str(os.environ['MKL_NUM_THREADS']) != '1': + warnings.warn('MKL_NUM_THREADS must be set to 1 to ensure reproducibility, and will be adjusted accordingly for now.') + os.environ['MKL_NUM_THREADS'] = '1' + +# Load the remaining packages *after* adjusting `MKL_NUM_THREADS` (this likely necessary for it to take effect) import matplotlib.pyplot as plt import numpy as np import skimage.io +import torch from cellpose import models, plot, transforms +# Apply PyTorch guidelines for reproducibility +torch.backends.cudnn.benchmark = True +torch.backends.cudnn.deterministic = True +torch.manual_seed(0) + def main(inputs, img_path, img_format, output_dir): """