Mercurial > repos > imgteam > superdsm
diff superdsm.xml @ 4:dc5f72f6b1e9 draft
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/superdsm/ commit b0b09d6788778541d1c0b89ca96101fc57d60e22
author | imgteam |
---|---|
date | Mon, 12 Feb 2024 14:58:45 +0000 |
parents | 7fd8dba15bd3 |
children | 9b4830300f3a |
line wrap: on
line diff
--- a/superdsm.xml Thu Nov 16 12:29:41 2023 +0000 +++ b/superdsm.xml Mon Feb 12 14:58:45 2024 +0000 @@ -1,8 +1,8 @@ <tool id="ip_superdsm" name="Perform segmentation using deformable shape models" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05"> <description>with SuperDSM</description> <macros> - <token name="@TOOL_VERSION@">0.1.3</token> - <token name="@VERSION_SUFFIX@">3</token> + <token name="@TOOL_VERSION@">0.2.0</token> + <token name="@VERSION_SUFFIX@">0</token> </macros> <edam_operations> <edam_operation>operation_3443</edam_operation> @@ -11,12 +11,35 @@ <xref type="bio.tools">superdsm</xref> <xref type="biii">superdsm</xref> </xrefs> - <requirements> - <requirement type="package" version="0.1.3">superdsm</requirement> + <requirements> + + <requirement type="package" version="0.2.0">superdsm</requirement> + + <!-- + Pin the dependencies to specific versions for reproducibility: + https://github.com/BMCV/SuperDSM#dependency-version-considerations + --> + <requirement type="package" version="1.20">numpy</requirement> + <requirement type="package" version="1.6.3">scipy</requirement> + <requirement type="package" version="0.18.1">scikit-image</requirement> + <requirement type="package" version="1.2.6">cvxopt</requirement> + <requirement type="package" version="1.1.13">cvxpy</requirement> <requirement type="package" version="1.6.0">ray-core</requirement> - <requirement type="package" version="0.18.1">scikit-image</requirement> - <requirement type="package" version="2020.0">mkl</requirement><!-- this seems to be the last version of MKL which supports the "MKL_DEBUG_CPU_TYPE" environment variable --> - <requirement type="package" version="*=mkl">blas</requirement><!-- using MKL instead of other BLAS can significantly improve performance on some hardware, cf. https://stackoverflow.com/questions/62783262/why-is-numpy-with-ryzen-threadripper-so-much-slower-than-xeon --> + + <!-- + 2020.0 is the last version of MKL which supports the "MKL_DEBUG_CPU_TYPE" environment variable. + --> + <requirement type="package" version="2020.0">mkl</requirement> + + <!-- + Using MKL instead of other BLAS can significantly improve performance on some hardware: + https://stackoverflow.com/questions/62783262/why-is-numpy-with-ryzen-threadripper-so-much-slower-than-xeon + + Pinning BLAS to version 1.0 is required for reproducibility: + https://github.com/BMCV/SuperDSM#dependency-version-considerations + --> + <requirement type="package" version="1.0=mkl">blas</requirement> + </requirements> <command detect_errors="aggressive"> <![CDATA[ @@ -59,6 +82,7 @@ #if str($config.dsm_AF_alpha) != '': --dsm_AF_alpha '${config.dsm_AF_alpha}' #end if + --global_energy_minimization_pruning '${global_energy_minimization_pruning}' #if str($config.global_energy_minimization_beta) != '': --global_energy_minimization_beta '${config.global_energy_minimization_beta}' #end if @@ -83,11 +107,20 @@ ]]> </command> <environment_variables> - <environment_variable name="MKL_DEBUG_CPU_TYPE">5</environment_variable><!-- this enables accelerated CPU instruction sets on AMD hardware, does nothing in Intel hardware, thus no need to change this --> + + <!-- + This enables accelerated CPU instruction sets on AMD hardware, does nothing in Intel hardware, thus no need to change this: + --> + <environment_variable name="MKL_DEBUG_CPU_TYPE">5</environment_variable> + </environment_variables> <inputs> <param name="dataset" type="data" format="tiff,png" label="Dataset" /> - <param name="outputs" type="select" label="Outputs" multiple="true" optional="false"> + <param argument="--global_energy_minimization_pruning" type="select" label="Graph pruning for global energy minimization" help="Exact graph pruning corresponds to the original algorithm, which provably yields globally optimal results. Robust graph pruning is more greedy and has a provably bounded approximation error. Depending on the data, this can be significantly faster than exact graph pruning, without degrading the segmentation or cluster splitting performance."> + <option value="exact">Exact graph pruning (Kostrykin and Rohr, TPAMI 2023)</option> + <option value="isbi24" selected="true">Robust graph pruning (Kostrykin and Rohr, ISBI 2024)</option> + </param> + <param name="outputs" type="select" label="Tool outputs" multiple="true" optional="false" help="Note that if neither a segmentation overlay nor a label map is created, segmentation and cluster splitting will not be performed. As a consequence, hyperparameters which are determined automatically during segmentation and cluster splitting will not be reported, even if "Report all hyperparameters" is selected."> <option value="overlay" selected="true">Create a segmentation overlay</option> <option value="masks">Create a label map (e.g., for further processing)</option> <option value="cfg">Report all hyperparameters (manually set and automatically determined values)</option> @@ -124,14 +157,16 @@ <tests> <test expect_num_outputs="3"> <param name="dataset" value="BBBC033_C2_z28.png" /> + <param name="global_energy_minimization_pruning" value="exact" /> <param name="outputs" value="overlay,masks,cfg" /> <output name="overlay" value="overlay.png" ftype="png" compare="sim_size" /> - <output name="cfg" value="cfg.tsv" ftype="tsv" compare="sim_size" /> + <output name="cfg" value="cfg-full.tsv" ftype="tsv" compare="diff" /> </test> <test expect_num_outputs="1"> <param name="dataset" value="BBBC033_C2_z28.png" /> + <param name="global_energy_minimization_pruning" value="exact" /> <param name="outputs" value="cfg" /> - <output name="cfg" value="cfg.tsv" ftype="tsv" compare="sim_size" /> + <output name="cfg" value="cfg.tsv" ftype="tsv" compare="diff" /> </test> </tests> <help> @@ -140,6 +175,15 @@ You can either use an individual input image (PNG, TIF) or a collection of such images. </help> <citations> + <citation type="bibtex"> + @inproceedings{kostrykin2024, + author = {Kostrykin, L. and Rohr, K.}, + title = {Robust Graph Pruning for Efficient Segmentation and Cluster Splitting of Cell Nuclei using Deformable Shape Models}, + booktitle = {Proc. IEEE International Symposium on Biomedical Imaging (ISBI'24)}, + pages = {accepted for presentation}, + year = {2024}, + } + </citation> <citation type="doi">10.1109/TPAMI.2022.3185583</citation> </citations> </tool>