changeset 6:fcadded98e61 draft default tip

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/bfconvert/ commit c045f067a57e8308308cf6329060c7ccd3fc372f
author imgteam
date Thu, 04 Apr 2024 15:23:54 +0000
parents 85edbb7a436b
children
files bfconvert.xml creators.xml test-data/res.ome.tiff test-data/res.tiff tests.xml
diffstat 5 files changed, 273 insertions(+), 143 deletions(-) [+]
line wrap: on
line diff
--- a/bfconvert.xml	Fri Nov 10 14:23:17 2023 +0000
+++ b/bfconvert.xml	Thu Apr 04 15:23:54 2024 +0000
@@ -1,15 +1,25 @@
-<tool id="ip_convertimage" name="Convert image format" version="6.7.0+galaxy2">
-  <description>with Bioformats</description>
-  <edam_operations>
-    <edam_operation>operation_3443</edam_operation>
-  </edam_operations>
-  <xrefs>
-    <xref type="biii">python-bioformats</xref>
-  </xrefs>
-  <requirements>
-      <requirement type="package" version="6.7.0">bftools</requirement>
-  </requirements>
-  <command> 
+<tool id="ip_convertimage" name="Convert image format" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
+    <description>with Bioformats</description>
+    <macros>
+        <import>creators.xml</import>
+        <import>tests.xml</import>
+        <token name="@TOOL_VERSION@">6.7.0</token>
+        <token name="@VERSION_SUFFIX@">3</token>
+    </macros>
+    <creator>
+        <expand macro="creators/alliecreason"/>
+        <expand macro="creators/bmcv"/>
+    </creator>
+    <edam_operations>
+        <edam_operation>operation_3443</edam_operation>
+    </edam_operations>
+    <xrefs>
+        <xref type="biii">python-bioformats</xref>
+    </xrefs>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">bftools</requirement>
+    </requirements>
+    <command> 
         <![CDATA[  
         bfconvert  
         #if $series_options['extract'] == 'True'
@@ -45,134 +55,134 @@
         '$input_file' './res.$out_format' &&
         mv './res.$out_format' ./result_image
         ]]>
-  </command>
-  <inputs>
-    <param label="Input Image" name="input_file" type="data" format="atsf,scn,ali,labels,ffr,jpeg,ndpi,tf8,pty,fff,mnc,vms,mng,xml,pcx,img,pct,ims,bip,ome.xml,bin,flex,his,hdr,mov,psd,spi,ipl,dv,aiix,j2kr,pst,mod,ome.tif,tif,obf,dib,dic,im3,tga,pbm,c01,crw,mrcs,l2d,seq,mdb,cfg,htm,mvd2,arf,vsi,companion.ome,htd,aim,fts,ndpis,r3d.log,nef,res,jpx,ics,rec,nd2,cr2,dcm,mea,ome,lei,lms,j2k,oib,mtb,ima,ets,wlz,pict,sm3,sm2,nrrd,xdce,acff,al3d,zvi,1sc,xys,tiff,pgm,pcoraw,ppm,ipm,set,cxd,ipw,apl,fake,tnb,txt,xv,tf2,ps,log,zip,epsi,j2ki,dicom,top,msr,frm,hed,gif,dm2,dm3,dm4,zpo,wav,wat,2fl,sdt,liff,hx,pic,ome.btf,am,bmp,pnl,r3d_d3d,jpf,png,tfr,dti,nii.gz,cif,fdf,grey,df3,stk,fli,hdf,btf,stp,ch5,v,sld,ids,dv.log,jpk,mrw,r3d,xlog,ano,jpe,sxm,jpg,vws,raw,czi,spl,avi,ome.tf8,inf,spc,ome.tf2,spe,lsm,afm,lif,naf,afi,inr,lim,nd,tim,html,sif,env,tif,csv,map,nii,gel,ome.tiff,oif,par,amiramesh,pr3,fits,lut,jp2,oir,dat,aisf,zfr,zfp,xqd,eps,xqf,st,nhdr,i2i,thm,exp,svs,mrc"/>
-    <param name="out_format" type="select" label="Output data type">
-        <option value="tiff" selected="True">TIFF</option>
-        <option value="png">PNG</option>
-        <option value="jpg">JPEG</option>
-        <option value="ome.tiff">OME TIFF</option>
-        <option value="jp2">JPEG 2000</option>
-        <option value="eps">EPS</option>
-        <option value="avi">AVI</option>
-    </param>
-
-    <conditional name="series_options">
-        <param label="Extract series" name="extract" type="select">
-            <option selected="True" value="False">All series</option>
-            <option value="True">Extract series</option>
-        </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="series" type="integer" value="0" label="Series id" />
-        </when>
-    </conditional>
-    <conditional name="timepoint_options">
-        <param name="extract" type="select" label="Extract timepoint">
-            <option selected="True" value="False">All timepoints</option>
-            <option value="True">Extract timepoint</option>
-        </param>
-        <when value="False"></when>
-        <when value="True">
-            <param name="timepoint" type="integer" value="0" label="Timepoint ID" />
-        </when>
-    </conditional>
-    <conditional name="channel_options">
-        <param name="extract" type="select" label="Extract channel" >
-            <option selected="True" value="False">All channels</option>
-            <option value="True">Extract channel</option>
-        </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="channel" type="integer" value="0" label="Channel id" />
-        </when>
-    </conditional>
-    <conditional name="z_options">
-        <param label="Extract z-slice" name="extract" type="select">
-            <option selected="True" value="False">All z-slices</option>
-            <option value="True">Extract z-slice</option>
-        </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="z" type="integer" value="0" label="Z-slice id" />
-        </when>
-    </conditional>
-    <conditional name="range_options">
-        <param label="Extract range" name="extract" type="select">
-            <option selected="True" value="False">All images</option>
-            <option value="True">Extract range by indicess (inclusive)</option>
+    </command>
+    <inputs>
+        <param label="Input Image" name="input_file" type="data" format="atsf,scn,ali,labels,ffr,jpeg,ndpi,tf8,pty,fff,mnc,vms,mng,xml,pcx,img,pct,ims,bip,ome.xml,bin,flex,his,hdr,mov,psd,spi,ipl,dv,aiix,j2kr,pst,mod,ome.tif,tif,obf,dib,dic,im3,tga,pbm,c01,crw,mrcs,l2d,seq,mdb,cfg,htm,mvd2,arf,vsi,companion.ome,htd,aim,fts,ndpis,r3d.log,nef,res,jpx,ics,rec,nd2,cr2,dcm,mea,ome,lei,lms,j2k,oib,mtb,ima,ets,wlz,pict,sm3,sm2,nrrd,xdce,acff,al3d,zvi,1sc,xys,tiff,pgm,pcoraw,ppm,ipm,set,cxd,ipw,apl,fake,tnb,txt,xv,tf2,ps,log,zip,epsi,j2ki,dicom,top,msr,frm,hed,gif,dm2,dm3,dm4,zpo,wav,wat,2fl,sdt,liff,hx,pic,ome.btf,am,bmp,pnl,r3d_d3d,jpf,png,tfr,dti,nii.gz,cif,fdf,grey,df3,stk,fli,hdf,btf,stp,ch5,v,sld,ids,dv.log,jpk,mrw,r3d,xlog,ano,jpe,sxm,jpg,vws,raw,czi,spl,avi,ome.tf8,inf,spc,ome.tf2,spe,lsm,afm,lif,naf,afi,inr,lim,nd,tim,html,sif,env,tif,csv,map,nii,gel,ome.tiff,oif,par,amiramesh,pr3,fits,lut,jp2,oir,dat,aisf,zfr,zfp,xqd,eps,xqf,st,nhdr,i2i,thm,exp,svs,mrc"/>
+        <param name="out_format" type="select" label="Output data type">
+            <option value="tiff" selected="True">TIFF</option>
+            <option value="png">PNG</option>
+            <option value="jpg">JPEG</option>
+            <option value="ome.tiff">OME TIFF</option>
+            <option value="jp2">JPEG 2000</option>
+            <option value="eps">EPS</option>
+            <option value="avi">AVI</option>
         </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="range_lower" type="integer" value="0" label="Lower image id" />
-            <param name="range_upper" type="integer" value="1" label="Upper image id" />
-        </when>
-    </conditional>
-    <conditional name="crop_options">
-        <param label="Extract crop" name="extract" type="select">
-            <option selected="True" value="False">Full image</option>
-            <option value="True">Extract crop</option>
-        </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="crop_x" type="integer" value="0" label="X" />
-            <param name="crop_y" type="integer" value="0" label="Y" />
-            <param name="crop_width" type="integer" value="512" label="Width" />
-            <param name="crop_height" type="integer" value="512" label="height" />
-        </when>
-    </conditional>
-    <conditional name="tile_options">
-        <param label="Tile image" name="extract" type="select">
-            <option selected="True" value="False">No tiling</option>
-            <option value="True">Tile image</option>
-        </param>
-        <when value="False"> </when>
-        <when value="True">
-            <param name="tile_x" type="integer" value="512 " label="Tile width" />
-            <param name="tile_y" type="integer" value="512 " label="Tile height" />
-        </when>
-    </conditional>
-    <conditional name="pyramid_options">
-        <param label="Pyramid image" name="generate" type="select" help="Pyramids will be generated only if the selected output format supports pyramids (OME TIFF, JPEG 2000)."><!-- see: https://docs.openmicroscopy.org/bio-formats/6.7.0/supported-formats.html -->
-            <option selected="True" value="True">Generate Pyramid</option>
-            <option value="False">No Pyramid</option>
-        </param>
-        <when value="True">
-            <param name="pyramid_resolutions" type="integer" value="4" label="Pyramid Resolutions"/>
-            <param name="pyramid_scale" type="integer" value="2" label="Pyramid Scale" />
-        </when>
-        <when value="False" />
-    </conditional>
-    <param name="bigtiff" label="Big TIFF" type="boolean" checked="false" truevalue="-bigtiff" falsevalue=""/>
-    <param name="noflat" label="No Flatten" type="boolean" checked="true" truevalue="-noflat" falsevalue=""/>
-    <param label="Compression" name="compression" type="select">
-        <option selected="True" value="False">No Compression</option>
-        <option value="LZW">LZW</option>
-        <option value="JPEG-2000">JPEG-2000</option>
-        <option value="JPEG-2000 Lossy">JPEG-2000 Lossy</option>
-        <option value="JPEG">JPEG</option>
-        <option value="zlib">zlib</option>
-    </param>  
-  </inputs>
-  <outputs>
-    <data format="tiff" name="output" from_work_dir="result_image">
-        <change_format>
-            <when input="out_format" value="tiff" format="tiff" />
-            <when input="out_format" value="png" format="png" />
-            <when input="out_format" value="jpg" format="jpg" />
-            <when input="out_format" value="ome.tiff" format="ome.tiff" />
-            <when input="out_format" value="jp2" format="jpg" />
-            <when input="out_format" value="eps" format="eps" />
-            <when input="out_format" value="avi" format="avi" />
-        </change_format>
-    </data>
-  </outputs>
-  <tests>
+
+        <conditional name="series_options">
+            <param label="Extract series" name="extract" type="select">
+                <option selected="True" value="False">All series</option>
+                <option value="True">Extract series</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="series" type="integer" value="0" label="Series id" />
+            </when>
+        </conditional>
+        <conditional name="timepoint_options">
+            <param name="extract" type="select" label="Extract timepoint">
+                <option selected="True" value="False">All timepoints</option>
+                <option value="True">Extract timepoint</option>
+            </param>
+            <when value="False"></when>
+            <when value="True">
+                <param name="timepoint" type="integer" value="0" label="Timepoint ID" />
+            </when>
+        </conditional>
+        <conditional name="channel_options">
+            <param name="extract" type="select" label="Extract channel" >
+                <option selected="True" value="False">All channels</option>
+                <option value="True">Extract channel</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="channel" type="integer" value="0" label="Channel id" />
+            </when>
+        </conditional>
+        <conditional name="z_options">
+            <param label="Extract z-slice" name="extract" type="select">
+                <option selected="True" value="False">All z-slices</option>
+                <option value="True">Extract z-slice</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="z" type="integer" value="0" label="Z-slice id" />
+            </when>
+        </conditional>
+        <conditional name="range_options">
+            <param label="Extract range" name="extract" type="select">
+                <option selected="True" value="False">All images</option>
+                <option value="True">Extract range by indicess (inclusive)</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="range_lower" type="integer" value="0" label="Lower image id" />
+                <param name="range_upper" type="integer" value="1" label="Upper image id" />
+            </when>
+        </conditional>
+        <conditional name="crop_options">
+            <param label="Extract crop" name="extract" type="select">
+                <option selected="True" value="False">Full image</option>
+                <option value="True">Extract crop</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="crop_x" type="integer" value="0" label="X" />
+                <param name="crop_y" type="integer" value="0" label="Y" />
+                <param name="crop_width" type="integer" value="512" label="Width" />
+                <param name="crop_height" type="integer" value="512" label="height" />
+            </when>
+        </conditional>
+        <conditional name="tile_options">
+            <param label="Tile image" name="extract" type="select">
+                <option selected="True" value="False">No tiling</option>
+                <option value="True">Tile image</option>
+            </param>
+            <when value="False"> </when>
+            <when value="True">
+                <param name="tile_x" type="integer" value="512 " label="Tile width" />
+                <param name="tile_y" type="integer" value="512 " label="Tile height" />
+            </when>
+        </conditional>
+        <conditional name="pyramid_options">
+            <param label="Pyramid image" name="generate" type="select" help="Pyramids will be generated only if the selected output format supports pyramids (OME TIFF, JPEG 2000)."><!-- see: https://docs.openmicroscopy.org/bio-formats/6.7.0/supported-formats.html -->
+                <option selected="True" value="True">Generate Pyramid</option>
+                <option value="False">No Pyramid</option>
+            </param>
+            <when value="True">
+                <param name="pyramid_resolutions" type="integer" value="4" label="Pyramid Resolutions"/>
+                <param name="pyramid_scale" type="integer" value="2" label="Pyramid Scale" />
+            </when>
+            <when value="False" />
+        </conditional>
+        <param name="bigtiff" label="Big TIFF" type="boolean" checked="false" truevalue="-bigtiff" falsevalue=""/>
+        <param name="noflat" label="No Flatten" type="boolean" checked="true" truevalue="-noflat" falsevalue=""/>
+        <param label="Compression" name="compression" type="select">
+            <option selected="True" value="False">No Compression</option>
+            <option value="LZW">LZW</option>
+            <option value="JPEG-2000">JPEG-2000</option>
+            <option value="JPEG-2000 Lossy">JPEG-2000 Lossy</option>
+            <option value="JPEG">JPEG</option>
+            <option value="zlib">zlib</option>
+        </param>  
+    </inputs>
+    <outputs>
+        <data format="tiff" name="output" from_work_dir="result_image">
+            <change_format>
+                <when input="out_format" value="tiff" format="tiff" />
+                <when input="out_format" value="png" format="png" />
+                <when input="out_format" value="jpg" format="jpg" />
+                <when input="out_format" value="ome.tiff" format="ome.tiff" />
+                <when input="out_format" value="jp2" format="jpg" />
+                <when input="out_format" value="eps" format="eps" />
+                <when input="out_format" value="avi" format="avi" />
+            </change_format>
+        </data>
+    </outputs>
+    <tests>
         <test>
             <param name="input_file" value="input.png" />
-            <param name="out_format" value="tiff" />            
-            <output name="output" value="res.tiff" ftype="tiff" compare="sim_size"/>
+            <param name="out_format" value="tiff" />
+            <expand macro="tests/intensity_image_diff" name="output" value="res.tiff" ftype="tiff"/>
         </test>
         <test>
             <param name="input_file" value="input.png" />
@@ -182,18 +192,20 @@
                 <param name="pyramid_resolutions" value="4"/>
                 <param name="pyramid_scale" value="2"/>
             </conditional>
-            <output name="output" value="res.ome.tiff" ftype="ome.tiff" compare="sim_size"/>
+            <expand macro="tests/intensity_image_diff" name="output" value="res.ome.tiff" ftype="ome.tiff"/>
         </test>
         <test>
             <param name="input_file" value="input.tiff" />
             <param name="out_format" value="png" />
-            <output name="output" value="input.tiff.png" ftype="png" compare="sim_size"/>
+            <expand macro="tests/intensity_image_diff" name="output" value="input.tiff.png" ftype="png"/>
         </test>
-  </tests>    
-  <help>
-    **What it does**
+    </tests>    
+    <help>
 
-   Universial image converter using bioformats.
+        **Converts image format.**
+
+        Universial image converter using bioformats.
+
     </help>
     <citations>
         <citation type="doi">10.1016/j.jbiotec.2017.07.019</citation>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/creators.xml	Thu Apr 04 15:23:54 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>
Binary file test-data/res.ome.tiff has changed
Binary file test-data/res.tiff has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests.xml	Thu Apr 04 15:23:54 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>