Mercurial > repos > iuc > imagej2_skeletonize3d
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_skeletonize3d.xml Tue Aug 04 13:21:32 2015 -0400 @@ -0,0 +1,85 @@ +<?xml version='1.0' encoding='UTF-8'?> +<tool id="imagej2_skeletonize3d" name="Skeletonize images" version="1.0.0"> + <description>with ImageJ2</description> + <macros> + <import>imagej2_macros.xml</import> + </macros> + <expand macro="fiji_20141125_requirements" /> + <command> +<![CDATA[ + python $__tool_directory__/imagej2_skeletonize3d.py + --input "$input" + --input_datatype $input.ext + @max_heap_size_args@ + --jython_script $__tool_directory__/jython_script.py + --output "$output" + --output_datatype $output_datatype +]]> + </command> + <inputs> + <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="input" type="data" label="Select grayscale image"/> + <param name="output_datatype" type="select" label="Save as format"> + <expand macro="image_datatypes" /> + </param> + <expand macro="max_heap_size_type_conditional" /> + </inputs> + <outputs> + <data name="output" format_source="input" label="${tool.name} on ${on_string}"> + <actions> + <action type="format"> + <option type="from_param" name="output_datatype" /> + </action> + </actions> + </data> + </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 + +The underlying AnalyzeSkeleton Fiji plugin works on binary images, so other image types will +automatically be converted to binary before they are analyzed. This step is performed using the +ImageJ2 **Make Binary** command with the following settings: **Iterations:** 1, **Count:** 1, +**Black background:** No, **Pad edges when eroding:** No. If these settings are not appropriate, +first manually convert the image to binary using the **Convert to binary (black and white) with +ImageJ2** tool, which allows you to change them. + +**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>
