Mercurial > repos > imgteam > rfove
changeset 0:52ce80b36435 draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/rfove/ commit 8e99ddb62ceab1da15996906a0813826b62d38fe
| author | imgteam |
|---|---|
| date | Wed, 17 Dec 2025 11:22:59 +0000 |
| parents | |
| children | |
| files | creators.xml rfove.xml test-data/BBBC033_C2_z28.png test-data/output.tiff tests.xml |
| diffstat | 5 files changed, 204 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/creators.xml Wed Dec 17 11:22:59 2025 +0000 @@ -0,0 +1,43 @@ +<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/kostrykin"> + <person givenName="Leonid" familyName="Kostrykin"/> + <yield/> + </xml> + + <xml name="creators/rmassei"> + <person givenName="Riccardo" familyName="Massei"/> + <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> + + <xml name="creators/pavanvidem"> + <person givenName="Pavan" familyName="Videm"/> + <yield/> + </xml> + + <xml name="creators/tuncK"> + <person givenName="Tunc" familyName="Kayikcioglu"/> + <yield/> + </xml> + +</macros>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rfove.xml Wed Dec 17 11:22:59 2025 +0000 @@ -0,0 +1,66 @@ +<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@">2</token> + </macros> + <creator> + <expand macro="creators/bmcv"/> + </creator> + <edam_operations> + <edam_operation>operation_3443</edam_operation> + </edam_operations> + <xrefs> + <xref type="bio.tools">rfove</xref> + </xrefs> + <requirements> + <container type="docker">docker.io/kostrykin/rfove:@TOOL_VERSION@</container> + </requirements> + <command detect_errors="aggressive"> + <![CDATA[ + #set $neighborhood_size = "%d" % ($half_neighborhood_size.value * 2 + 1) + /rfove + ${area_ub} + ${min_area_max_area_ratio_ub} + ${overlap_ub} + ${neighborhood_size} + '${dataset}' + + output.tiff + ]]> + </command> + <inputs> + <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" /> + + <param name="overlap_ub" type="float" label="Maximum ellipse overlap" min="0" value="0.2" /> + <param name="half_neighborhood_size" type="integer" label="Half neighborhood size" min="1" value="100" /> + </inputs> + <outputs> + <data format="tiff" name="masks" from_work_dir="output.tiff" label="${tool.name} on ${on_string}" /> + </outputs> + <tests> + <test> + <param name="dataset" value="BBBC033_C2_z28.png" /> + <expand macro="tests/label_image_diff" name="masks" value="output.tiff" ftype="tiff"/> + </test> + </tests> + <help> + + **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> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests.xml Wed Dec 17 11:22:59 2025 +0000 @@ -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>
