diff imagej2_skeletonize3d.xml @ 0:f6df6830d5ec draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit b08f0e6d1546caaf627b21f8c94044285d5d5b9c-dirty"
author imgteam
date Tue, 17 Sep 2019 16:57:15 -0400
parents
children 768825d9034a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagej2_skeletonize3d.xml	Tue Sep 17 16:57:15 2019 -0400
@@ -0,0 +1,71 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<tool id="imagej2_skeletonize3d" name="Skeletonize" version="@WRAPPER_VERSION@.0">
+    <description></description>
+    <macros>
+        <import>imagej2_macros.xml</import>
+    </macros>
+    <expand macro="fiji_requirements" />
+    <command>
+<![CDATA[
+    python $__tool_directory__/imagej2_skeletonize3d.py
+    --input "$input"
+    --input_datatype $input.ext
+    --black_background $black_background
+    --jython_script $__tool_directory__/imagej2_skeletonize3d_jython_script.py
+    --output "$output"
+    --output_datatype $output.ext
+]]>
+    </command>
+    <inputs>
+        <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="input" type="data" label="Select grayscale image"/>
+        <expand macro="black_background_param" />
+    </inputs>
+    <outputs>
+        <data name="output" format_source="input" label="${tool.name} on ${on_string}"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="blobs.gif" />
+            <param name="input_datatype" value="gif" />
+            <param name="output_datatype" value="gif" />
+            <output name="output" file="skeletonized_blobs.gif" compare="sim_size" />
+        </test>
+        <test>
+            <param name="input" value="clown.jpg" />
+            <param name="input_datatype" value="jpg" />
+            <param name="output_datatype" value="jpg" />
+            <output name="output" file="skeletonized_clown.jpg" compare="sim_size" />
+        </test>
+    </tests>
+    <help>
+
+.. class:: warningmark
+
+@requires_binary_input@
+
+**What it does**
+
+<![CDATA[
+Skeletonizes a 2D or 3D binary (8-bit) image.  As Hanno Homman explains in his paper, binary thinning is
+used for finding the centerlines (”skeleton”) of objects in the input image. The general idea is to erode
+the object’s surface iteratively until only the skeleton remains. Erosion has to be performed symmetrically
+in order to the guarantee medial position of the skeleton lines and such that the connectedness of the
+object is preserved. Care has to be taken in order not to create holes or cavities in the object.
+
+There are two major approaches to image thinning: a) kernel-based filters and b) decision trees. Kernel-based
+filters apply a structuring element to the image and can generally be extended to dimensions higher than 3D,
+to find computationally efficient solutions for 4D and higher dimensions is subject of ongoing research.
+Methods based on decision trees are thus far limited to 2D and 3D, but are potentially faster than morphological
+filters, if they are well designed and can find more deletable points at each iteration.
+
+In 3D there are 67,108,864 possible binary combinations of object and background voxels in a 26-neighborhood,
+which cannot be completely captured by kernel-based filters. Lee et al. have demonstrated in their work that
+their solution, based on a decision tree, can handle all these cases correctly and find all deletable surface
+points at each iteration. Thus their algorithm allows for a very fast iterative erosion process.
+]]>
+    </help>
+    <citations>
+        <citation type="doi">10.1006/cgip.1994.1042</citation>
+        <citation type="doi">10.1038/nmeth.2102</citation>
+    </citations>
+</tool>