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