diff superdsm.xml @ 3:7fd8dba15bd3 draft

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/superdsm/ commit fea6c8161c4b3e6394fe035b12b69b73e6fa7d75
author imgteam
date Thu, 16 Nov 2023 12:29:41 +0000
parents 244f67290d28
children dc5f72f6b1e9
line wrap: on
line diff
--- a/superdsm.xml	Mon Nov 13 22:12:35 2023 +0000
+++ b/superdsm.xml	Thu Nov 16 12:29:41 2023 +0000
@@ -1,5 +1,9 @@
-<tool id="ip_superdsm" name="Perform segmentation using deformable shape models" version="0.1.3+galaxy2" profile="20.05">
+<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>
+    </macros>
     <edam_operations>
         <edam_operation>operation_3443</edam_operation>
     </edam_operations>
@@ -18,11 +22,22 @@
     <![CDATA[
     python '$__tool_directory__/run-superdsm.py'
     '${dataset}'
-    'cfg.json'
-    'masks.png'
-    'overlay.png'
-    $seg_border
     \${GALAXY_SLOTS:-4}
+    #if 'masks' in $outputs:
+        --do-masks 'masks.png'
+    #end if
+    #if 'cfg' in $outputs:
+        --do-cfg 'cfg.tsv'
+    #end if
+    #if 'overlay' in $outputs:
+        --do-overlay 'overlay.png'
+        #if $seg_border.value % 2 == 1:
+            #set $seg_border = "%d" % ($seg_border.value + 1)
+            --do-overlay-border $seg_border
+        #else:
+            --do-overlay-border $seg_border
+        #end if
+    #end if
     #if str($config.AF_scale) != '':
         --AF_scale '${config.AF_scale}'
     #end if
@@ -72,7 +87,12 @@
     </environment_variables>
     <inputs>
         <param name="dataset" type="data" format="tiff,png" label="Dataset" />
-        <param name="seg_border" type="integer" min="1" value="8" label="Width of the outlines (in pixels) of the segmentation results (overlays)" />
+        <param name="outputs" type="select" label="Outputs" multiple="true" optional="false">
+            <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>
+        </param>
+        <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)." />
         <section name="config" title="Hyperparameters" expanded="false">
             <param argument="--AF_scale" optional="true" type="float" value="" min="0" label="scale σ" help="The scale of the objects to be segmented. Leave empty to use the automatically determined value." />
             <param argument="--c2f_region_analysis_min_atom_radius" optional="true" type="float" value="" min="0" label="min_atom_radius" help="No region determined by the Coarse-to-fine region analysis scheme is smaller than a circle of this radius (in terms of the surface area). Leave empty to use the automatically determined value." />
@@ -91,14 +111,27 @@
         </section>
     </inputs>
     <outputs>
-        <data format="json" name="cfg" from_work_dir="cfg.json" label="${tool.name} on ${on_string}: cfg" />
-        <data format="png" name="masks" from_work_dir="masks.png" label="${tool.name} on ${on_string}: masks" />
-        <data format="png" name="overlay" from_work_dir="overlay.png" label="${tool.name} on ${on_string}: overlay" />
+        <data format="png" name="masks" from_work_dir="masks.png" label="${tool.name} on ${on_string}: masks">
+            <filter>'masks' in outputs</filter>
+        </data>
+        <data format="tsv" name="cfg" from_work_dir="cfg.tsv" label="${tool.name} on ${on_string}: cfg">
+            <filter>'cfg' in outputs</filter>
+        </data>
+        <data format="png" name="overlay" from_work_dir="overlay.png" label="${tool.name} on ${on_string}: overlay">
+            <filter>'overlay' in outputs</filter>
+        </data>
     </outputs>
     <tests>
-        <test>
+        <test expect_num_outputs="3">
             <param name="dataset" value="BBBC033_C2_z28.png" />
+            <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" />
+        </test>
+        <test expect_num_outputs="1">
+            <param name="dataset" value="BBBC033_C2_z28.png" />
+            <param name="outputs" value="cfg" />
+            <output name="cfg" value="cfg.tsv" ftype="tsv" compare="sim_size" />
         </test>
     </tests>
     <help>