comparison imagej2_skeletonize3d.xml @ 0:8b787f641b9c draft

planemo upload commit 98c34e070343a117019ffd25a3af117808159bf5-dirty
author iuc
date Tue, 04 Aug 2015 13:21:32 -0400
parents
children 269923244cc8
comparison
equal deleted inserted replaced
-1:000000000000 0:8b787f641b9c
1 <?xml version='1.0' encoding='UTF-8'?>
2 <tool id="imagej2_skeletonize3d" name="Skeletonize images" version="1.0.0">
3 <description>with ImageJ2</description>
4 <macros>
5 <import>imagej2_macros.xml</import>
6 </macros>
7 <expand macro="fiji_20141125_requirements" />
8 <command>
9 <![CDATA[
10 python $__tool_directory__/imagej2_skeletonize3d.py
11 --input "$input"
12 --input_datatype $input.ext
13 @max_heap_size_args@
14 --jython_script $__tool_directory__/jython_script.py
15 --output "$output"
16 --output_datatype $output_datatype
17 ]]>
18 </command>
19 <inputs>
20 <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="input" type="data" label="Select grayscale image"/>
21 <param name="output_datatype" type="select" label="Save as format">
22 <expand macro="image_datatypes" />
23 </param>
24 <expand macro="max_heap_size_type_conditional" />
25 </inputs>
26 <outputs>
27 <data name="output" format_source="input" label="${tool.name} on ${on_string}">
28 <actions>
29 <action type="format">
30 <option type="from_param" name="output_datatype" />
31 </action>
32 </actions>
33 </data>
34 </outputs>
35 <tests>
36 <test>
37 <param name="input" value="blobs.gif" />
38 <param name="input_datatype" value="gif" />
39 <param name="output_datatype" value="gif" />
40 <output name="output" file="skeletonized_blobs.gif" compare="sim_size" />
41 </test>
42 <test>
43 <param name="input" value="clown.jpg" />
44 <param name="input_datatype" value="jpg" />
45 <param name="output_datatype" value="jpg" />
46 <output name="output" file="skeletonized_clown.jpg" compare="sim_size" />
47 </test>
48 </tests>
49 <help>
50
51 .. class:: warningmark
52
53 The underlying AnalyzeSkeleton Fiji plugin works on binary images, so other image types will
54 automatically be converted to binary before they are analyzed. This step is performed using the
55 ImageJ2 **Make Binary** command with the following settings: **Iterations:** 1, **Count:** 1,
56 **Black background:** No, **Pad edges when eroding:** No. If these settings are not appropriate,
57 first manually convert the image to binary using the **Convert to binary (black and white) with
58 ImageJ2** tool, which allows you to change them.
59
60 **What it does**
61
62 <![CDATA[
63 Skeletonizes a 2D or 3D binary (8-bit) image. As Hanno Homman explains in his paper, binary thinning is
64 used for finding the centerlines (”skeleton”) of objects in the input image. The general idea is to erode
65 the object’s surface iteratively until only the skeleton remains. Erosion has to be performed symmetrically
66 in order to the guarantee medial position of the skeleton lines and such that the connectedness of the
67 object is preserved. Care has to be taken in order not to create holes or cavities in the object.
68
69 There are two major approaches to image thinning: a) kernel-based filters and b) decision trees. Kernel-based
70 filters apply a structuring element to the image and can generally be extended to dimensions higher than 3D,
71 to find computationally efficient solutions for 4D and higher dimensions is subject of ongoing research.
72 Methods based on decision trees are thus far limited to 2D and 3D, but are potentially faster than morphological
73 filters, if they are well designed and can find more deletable points at each iteration.
74
75 In 3D there are 67,108,864 possible binary combinations of object and background voxels in a 26-neighborhood,
76 which cannot be completely captured by kernel-based filters. Lee et al. have demonstrated in their work that
77 their solution, based on a decision tree, can handle all these cases correctly and find all deletable surface
78 points at each iteration. Thus their algorithm allows for a very fast iterative erosion process.
79 ]]>
80 </help>
81 <citations>
82 <citation type="doi">10.1006/cgip.1994.1042</citation>
83 <citation type="doi">10.1038/nmeth.2102</citation>
84 </citations>
85 </tool>