comparison 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
comparison
equal deleted inserted replaced
3:7fd8dba15bd3 4:dc5f72f6b1e9
1 <tool id="ip_superdsm" name="Perform segmentation using deformable shape models" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05"> 1 <tool id="ip_superdsm" name="Perform segmentation using deformable shape models" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
2 <description>with SuperDSM</description> 2 <description>with SuperDSM</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">0.1.3</token> 4 <token name="@TOOL_VERSION@">0.2.0</token>
5 <token name="@VERSION_SUFFIX@">3</token> 5 <token name="@VERSION_SUFFIX@">0</token>
6 </macros> 6 </macros>
7 <edam_operations> 7 <edam_operations>
8 <edam_operation>operation_3443</edam_operation> 8 <edam_operation>operation_3443</edam_operation>
9 </edam_operations> 9 </edam_operations>
10 <xrefs> 10 <xrefs>
11 <xref type="bio.tools">superdsm</xref> 11 <xref type="bio.tools">superdsm</xref>
12 <xref type="biii">superdsm</xref> 12 <xref type="biii">superdsm</xref>
13 </xrefs> 13 </xrefs>
14 <requirements> 14 <requirements>
15 <requirement type="package" version="0.1.3">superdsm</requirement> 15
16 <requirement type="package" version="0.2.0">superdsm</requirement>
17
18 <!--
19 Pin the dependencies to specific versions for reproducibility:
20 https://github.com/BMCV/SuperDSM#dependency-version-considerations
21 -->
22 <requirement type="package" version="1.20">numpy</requirement>
23 <requirement type="package" version="1.6.3">scipy</requirement>
24 <requirement type="package" version="0.18.1">scikit-image</requirement>
25 <requirement type="package" version="1.2.6">cvxopt</requirement>
26 <requirement type="package" version="1.1.13">cvxpy</requirement>
16 <requirement type="package" version="1.6.0">ray-core</requirement> 27 <requirement type="package" version="1.6.0">ray-core</requirement>
17 <requirement type="package" version="0.18.1">scikit-image</requirement> 28
18 <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 --> 29 <!--
19 <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 --> 30 2020.0 is the last version of MKL which supports the "MKL_DEBUG_CPU_TYPE" environment variable.
31 -->
32 <requirement type="package" version="2020.0">mkl</requirement>
33
34 <!--
35 Using MKL instead of other BLAS can significantly improve performance on some hardware:
36 https://stackoverflow.com/questions/62783262/why-is-numpy-with-ryzen-threadripper-so-much-slower-than-xeon
37
38 Pinning BLAS to version 1.0 is required for reproducibility:
39 https://github.com/BMCV/SuperDSM#dependency-version-considerations
40 -->
41 <requirement type="package" version="1.0=mkl">blas</requirement>
42
20 </requirements> 43 </requirements>
21 <command detect_errors="aggressive"> 44 <command detect_errors="aggressive">
22 <![CDATA[ 45 <![CDATA[
23 python '$__tool_directory__/run-superdsm.py' 46 python '$__tool_directory__/run-superdsm.py'
24 '${dataset}' 47 '${dataset}'
57 --dsm_alpha '${config.dsm_alpha}' 80 --dsm_alpha '${config.dsm_alpha}'
58 #end if 81 #end if
59 #if str($config.dsm_AF_alpha) != '': 82 #if str($config.dsm_AF_alpha) != '':
60 --dsm_AF_alpha '${config.dsm_AF_alpha}' 83 --dsm_AF_alpha '${config.dsm_AF_alpha}'
61 #end if 84 #end if
85 --global_energy_minimization_pruning '${global_energy_minimization_pruning}'
62 #if str($config.global_energy_minimization_beta) != '': 86 #if str($config.global_energy_minimization_beta) != '':
63 --global_energy_minimization_beta '${config.global_energy_minimization_beta}' 87 --global_energy_minimization_beta '${config.global_energy_minimization_beta}'
64 #end if 88 #end if
65 #if str($config.global_energy_minimization_AF_beta) != '': 89 #if str($config.global_energy_minimization_AF_beta) != '':
66 --global_energy_minimization_AF_beta '${config.global_energy_minimization_AF_beta}' 90 --global_energy_minimization_AF_beta '${config.global_energy_minimization_AF_beta}'
81 --postprocess_min_object_radius '${config.postprocess_min_object_radius}' 105 --postprocess_min_object_radius '${config.postprocess_min_object_radius}'
82 #end if 106 #end if
83 ]]> 107 ]]>
84 </command> 108 </command>
85 <environment_variables> 109 <environment_variables>
86 <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 --> 110
111 <!--
112 This enables accelerated CPU instruction sets on AMD hardware, does nothing in Intel hardware, thus no need to change this:
113 -->
114 <environment_variable name="MKL_DEBUG_CPU_TYPE">5</environment_variable>
115
87 </environment_variables> 116 </environment_variables>
88 <inputs> 117 <inputs>
89 <param name="dataset" type="data" format="tiff,png" label="Dataset" /> 118 <param name="dataset" type="data" format="tiff,png" label="Dataset" />
90 <param name="outputs" type="select" label="Outputs" multiple="true" optional="false"> 119 <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.">
120 <option value="exact">Exact graph pruning (Kostrykin and Rohr, TPAMI 2023)</option>
121 <option value="isbi24" selected="true">Robust graph pruning (Kostrykin and Rohr, ISBI 2024)</option>
122 </param>
123 <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 &quot;Report all hyperparameters&quot; is selected.">
91 <option value="overlay" selected="true">Create a segmentation overlay</option> 124 <option value="overlay" selected="true">Create a segmentation overlay</option>
92 <option value="masks">Create a label map (e.g., for further processing)</option> 125 <option value="masks">Create a label map (e.g., for further processing)</option>
93 <option value="cfg">Report all hyperparameters (manually set and automatically determined values)</option> 126 <option value="cfg">Report all hyperparameters (manually set and automatically determined values)</option>
94 </param> 127 </param>
95 <param name="seg_border" type="integer" min="1" value="8" label="Width of the outlines (in pixels)" help="This parameter is only used for segmentation overlays (see above)." /> 128 <param name="seg_border" type="integer" min="1" value="8" label="Width of the outlines (in pixels)" help="This parameter is only used for segmentation overlays (see above)." />
122 </data> 155 </data>
123 </outputs> 156 </outputs>
124 <tests> 157 <tests>
125 <test expect_num_outputs="3"> 158 <test expect_num_outputs="3">
126 <param name="dataset" value="BBBC033_C2_z28.png" /> 159 <param name="dataset" value="BBBC033_C2_z28.png" />
160 <param name="global_energy_minimization_pruning" value="exact" />
127 <param name="outputs" value="overlay,masks,cfg" /> 161 <param name="outputs" value="overlay,masks,cfg" />
128 <output name="overlay" value="overlay.png" ftype="png" compare="sim_size" /> 162 <output name="overlay" value="overlay.png" ftype="png" compare="sim_size" />
129 <output name="cfg" value="cfg.tsv" ftype="tsv" compare="sim_size" /> 163 <output name="cfg" value="cfg-full.tsv" ftype="tsv" compare="diff" />
130 </test> 164 </test>
131 <test expect_num_outputs="1"> 165 <test expect_num_outputs="1">
132 <param name="dataset" value="BBBC033_C2_z28.png" /> 166 <param name="dataset" value="BBBC033_C2_z28.png" />
167 <param name="global_energy_minimization_pruning" value="exact" />
133 <param name="outputs" value="cfg" /> 168 <param name="outputs" value="cfg" />
134 <output name="cfg" value="cfg.tsv" ftype="tsv" compare="sim_size" /> 169 <output name="cfg" value="cfg.tsv" ftype="tsv" compare="diff" />
135 </test> 170 </test>
136 </tests> 171 </tests>
137 <help> 172 <help>
138 This tool permits the segmentation of cell nuclei in 2-D fluorescence microscopy images. 173 This tool permits the segmentation of cell nuclei in 2-D fluorescence microscopy images.
139 174
140 You can either use an individual input image (PNG, TIF) or a collection of such images. 175 You can either use an individual input image (PNG, TIF) or a collection of such images.
141 </help> 176 </help>
142 <citations> 177 <citations>
178 <citation type="bibtex">
179 @inproceedings{kostrykin2024,
180 author = {Kostrykin, L. and Rohr, K.},
181 title = {Robust Graph Pruning for Efficient Segmentation and Cluster Splitting of Cell Nuclei using Deformable Shape Models},
182 booktitle = {Proc. IEEE International Symposium on Biomedical Imaging (ISBI'24)},
183 pages = {accepted for presentation},
184 year = {2024},
185 }
186 </citation>
143 <citation type="doi">10.1109/TPAMI.2022.3185583</citation> 187 <citation type="doi">10.1109/TPAMI.2022.3185583</citation>
144 </citations> 188 </citations>
145 </tool> 189 </tool>