changeset 6:2f504e075496 draft

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/projective_transformation/ commit c045f067a57e8308308cf6329060c7ccd3fc372f
author imgteam
date Thu, 04 Apr 2024 15:26:07 +0000
parents f5744f0e5a81
children 6a8ae8cd7167
files creators.xml projective_transformation.xml test-data/moving_rgb_warped.png test-data/moving_warped.png test-data/multi_f.tif test-data/multi_m.tif test-data/multi_m_warped.tif tests.xml
diffstat 8 files changed, 142 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/creators.xml	Thu Apr 04 15:26:07 2024 +0000
@@ -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>
--- a/projective_transformation.xml	Mon Nov 13 22:12:05 2023 +0000
+++ b/projective_transformation.xml	Thu Apr 04 15:26:07 2024 +0000
@@ -1,5 +1,14 @@
-<tool id="ip_projective_transformation" name="Performs projective transformation with/without labels" version="0.1.2-2" profile="20.05"> 
+<tool id="ip_projective_transformation" name="Perform projective transformation of an image" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05"> 
     <description></description>
+    <macros>
+        <import>creators.xml</import>
+        <import>tests.xml</import>
+        <token name="@TOOL_VERSION@">0.1.2</token>
+        <token name="@VERSION_SUFFIX@">3</token>
+    </macros>
+    <creator>
+        <expand macro="creators/bmcv"/>
+    </creator>
     <edam_operations>
         <edam_operation>operation_3443</edam_operation>
     </edam_operations>
@@ -7,11 +16,11 @@
         <xref type="bio.tools">galaxy_image_analysis</xref>
     </xrefs>
     <requirements>
-        <requirement type="package" version="0.18.1">scikit-image</requirement>
+        <requirement type="package" version="0.18.3">scikit-image</requirement>
         <requirement type="package" version="1.2.4">pandas</requirement>
-        <requirement type="package" version="1.20.2">numpy</requirement>
-        <requirement type="package" version="1.6.2">scipy</requirement>
-        <requirement type="package" version="2020.10.1">tifffile</requirement>
+        <requirement type="package" version="1.24.4">numpy</requirement>
+        <requirement type="package" version="1.10.1">scipy</requirement>
+        <requirement type="package" version="2021.7.2">tifffile</requirement>
     </requirements>
     <command detect_errors="aggressive">
     <![CDATA[
@@ -25,9 +34,9 @@
     ]]>
     </command>
     <inputs>
-        <param name="moving" type="data" format="tiff,png" label="Moving image (to be transformed)" />
-        <param name="fixed" type="data" format="tiff,png" label="Fixed image (the reference)" />
-        <param name="tmat" type="data" format="tabular" label="Transformation matrix" />
+        <param name="moving" type="data" format="tiff,png" label="Moving image" help="The image to be transformed." />
+        <param name="fixed" type="data" format="tiff,png" label="Fixed image" help="The reference image." />
+        <param name="tmat" type="data" format="tabular" label="Transformation matrix" help="Homogeneous transformation matrix (3⨉3)." />
     </inputs>
     <outputs>
         <data name="warped" format_source="moving" metadata_source="moving" from_work_dir="result_image" />
@@ -37,27 +46,28 @@
             <param name="fixed" value="fixed.png"/>
             <param name="moving" value="moving.png"/>
             <param name="tmat" value="tmat.tsv"/>
-            <output name="warped" value="moving_warped.png" ftype="png" compare="sim_size" delta_frac="0.1" />
+            <expand macro="tests/intensity_image_diff" name="warped" value="moving_warped.png" ftype="png"/>
         </test>
         <test>
             <param name="fixed" value="fixed_rgb.png"/>
             <param name="moving" value="moving_rgb.png"/>
             <param name="tmat" value="tmat.tsv"/>
-            <output name="warped" value="moving_rgb_warped.png" ftype="png" compare="sim_size" delta_frac="0.1" />
+            <expand macro="tests/intensity_image_diff" name="warped" value="moving_rgb_warped.png" ftype="png"/>
         </test>
         <test>
             <param name="fixed" value="multi_f.tif"/>
             <param name="moving" value="multi_m.tif"/>
             <param name="tmat" value="tmat.tsv"/>
-            <output name="warped" value="multi_m_warped.tif" ftype="tiff" compare="sim_size" delta_frac="0.1" />
+            <expand macro="tests/intensity_image_diff" name="warped" value="multi_m_warped.tif" ftype="tiff"/>
       </test>
     </tests>
     <help>
 
-**What it does**
+        **Performs projective transformation.**
 
-    This tool performs a projective transformation of the moving 2D image so that it fits the fixed 2D image. 
-    Multi-channel and RGB images are supported.
+        This tool performs a projective transformation of 2-D image into the coordinate system of another 2-D image. 
+        Multi-channel images are supported (e.g., RGB).
+
     </help>
     <citations>
         <citation type="doi">10.1016/j.jbiotec.2017.07.019</citation>
Binary file test-data/moving_rgb_warped.png has changed
Binary file test-data/moving_warped.png has changed
Binary file test-data/multi_f.tif has changed
Binary file test-data/multi_m.tif has changed
Binary file test-data/multi_m_warped.tif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests.xml	Thu Apr 04 15:26:07 2024 +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>