Repository 'rfove'
hg clone https://toolshed.g2.bx.psu.edu/repos/imgteam/rfove

Changeset 2:e438d87ef91a (2024-04-04)
Previous changeset 1:d10a46ef77d3 (2023-11-14)
Commit message:
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/rfove/ commit c045f067a57e8308308cf6329060c7ccd3fc372f
modified:
rfove.xml
added:
creators.xml
tests.xml
b
diff -r d10a46ef77d3 -r e438d87ef91a creators.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/creators.xml Thu Apr 04 15:26:16 2024 +0000
b
@@ -0,0 +1,23 @@
+<macros>
+
+    <xml name="creators/bmcv">
+        <organization name="Biomedical Computer Vision Group, Heidelberg Universtiy" alternateName="BMCV" url="http://www.bioquant.uni-heidelberg.de/research/groups/biomedical_computer_vision.html" />
+        <yield />
+    </xml>
+
+    <xml name="creators/alliecreason">
+        <person givenName="Allison" familyName="Creason"/>
+        <yield/>
+    </xml>
+
+    <xml name="creators/bugraoezdemir">
+        <person givenName="Bugra" familyName="Oezdemir"/>
+        <yield/>
+    </xml>
+
+    <xml name="creators/thawn">
+        <person givenName="Till" familyName="Korten"/>
+        <yield/>
+    </xml>
+    
+</macros>
b
diff -r d10a46ef77d3 -r e438d87ef91a rfove.xml
--- a/rfove.xml Tue Nov 14 00:09:17 2023 +0000
+++ b/rfove.xml Thu Apr 04 15:26:16 2024 +0000
b
@@ -1,9 +1,14 @@
 <tool id="rfove" name="Perform segmentation using region-based fitting of overlapping ellipses" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
     <description>with RFOVE</description>
     <macros>
+        <import>creators.xml</import>
+        <import>tests.xml</import>
         <token name="@TOOL_VERSION@">2023.11.12</token>
-        <token name="@VERSION_SUFFIX@">1</token>
+        <token name="@VERSION_SUFFIX@">2</token>
     </macros>
+    <creator>
+        <expand macro="creators/bmcv"/>
+    </creator>
     <edam_operations>
         <edam_operation>operation_3443</edam_operation>
     </edam_operations>
@@ -27,7 +32,7 @@
     ]]>
     </command>
     <inputs>
-        <param name="dataset" type="data" format="tiff,png" label="Dataset" />
+        <param name="dataset" type="data" format="tiff,png" label="Input image" />
         <param name="area_ub" type="integer" label="Maximum ellipse area" min="5" value="250" />
         <param name="min_area_max_area_ratio_ub" type="float" min="0" max="1" value="0.1" label="Upper bound of the ratio: minimum area / maximum area" />
 
@@ -40,11 +45,20 @@
     <tests>
         <test>
             <param name="dataset" value="BBBC033_C2_z28.png" />
-            <output name="masks" value="output.tiff" ftype="tiff" compare="sim_size" />
+            <expand macro="tests/label_image_diff" name="masks" value="output.tiff" ftype="tiff"/>
         </test>
     </tests>
     <help>
-    RFOVE is completely unsupervised, operates without any assumption or prior knowledge on the object’s shape and extends and improves the Decremental Ellipse Fitting Algorithm (DEFA). Both RFOVE and DEFA solve the multi-ellipse fitting problem by performing model selection that is guided by the minimization of the Akaike Information Criterion on a suitably defined shape complexity measure. However, in contrast to DEFA, RFOVE minimizes an objective function that allows for ellipses with higher degree of overlap and, thus, achieves better ellipse-based shape approximation.
+
+        **Perform segmentation using shape decomposition based on elliptical models and expectation maximization.**
+
+        RFOVE is completely unsupervised, operates without any assumption or prior knowledge on the object's shape
+        and extends and improves the *Decremental Ellipse Fitting Algorithm* (DEFA). Both RFOVE and DEFA solve the
+        multi-ellipse fitting problem by performing model selection that is guided by the minimization of the
+        *Akaike Information Criterion* on a suitably defined shape complexity measure. However, in contrast to
+        DEFA, RFOVE minimizes an objective function that allows for ellipses with higher degree of overlap and,
+        thus, achieves better ellipse-based shape approximation.
+
     </help>
     <citations>
         <citation type="doi">10.1016/j.imavis.2019.09.001</citation>
b
diff -r d10a46ef77d3 -r e438d87ef91a tests.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests.xml Thu Apr 04 15:26:16 2024 +0000
b
@@ -0,0 +1,95 @@
+<macros>
+
+    <!-- Macros for verification of image outputs -->
+
+    <xml
+        name="tests/binary_image_diff"
+        tokens="name,value,ftype,metric,eps"
+        token_metric="mae"
+        token_eps="0.01">
+
+        <output name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@" pin_labels="0">
+            <assert_contents>
+                <has_image_n_labels n="2"/>
+                <yield/>
+            </assert_contents>
+        </output>
+
+    </xml>
+
+    <xml
+        name="tests/label_image_diff"
+        tokens="name,value,ftype,metric,eps,pin_labels"
+        token_metric="iou"
+        token_eps="0.01"
+        token_pin_labels="0">
+
+        <output name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@" pin_labels="@PIN_LABELS@">
+            <assert_contents>
+                <yield/>
+            </assert_contents>
+        </output>
+
+    </xml>
+
+    <xml
+        name="tests/intensity_image_diff"
+        tokens="name,value,ftype,metric,eps"
+        token_metric="rms"
+        token_eps="0.01">
+
+        <output name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@">
+            <assert_contents>
+                <yield/>
+            </assert_contents>
+        </output>
+
+    </xml>
+
+    <!-- Variants of the above for verification of collection elements -->
+
+    <xml
+        name="tests/binary_image_diff/element"
+        tokens="name,value,ftype,metric,eps"
+        token_metric="mae"
+        token_eps="0.01">
+
+        <element name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@" pin_labels="0">
+            <assert_contents>
+                <has_image_n_labels n="2"/>
+                <yield/>
+            </assert_contents>
+        </element>
+
+    </xml>
+
+    <xml
+        name="tests/label_image_diff/element"
+        tokens="name,value,ftype,metric,eps"
+        token_metric="iou"
+        token_eps="0.01"
+        token_pin_labels="0">
+
+        <element name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@" pin_labels="@PIN_LABELS@">
+            <assert_contents>
+                <yield/>
+            </assert_contents>
+        </element>
+
+    </xml>
+
+    <xml
+        name="tests/intensity_image_diff/element"
+        tokens="name,value,ftype,metric,eps"
+        token_metric="rms"
+        token_eps="0.01">
+
+        <element name="@NAME@" value="@VALUE@" ftype="@FTYPE@" compare="image_diff" metric="@METRIC@" eps="@EPS@">
+            <assert_contents>
+                <yield/>
+            </assert_contents>
+        </element>
+
+    </xml>
+
+</macros>