Skip to content

Skeletonise wrapper

Richard Domander edited this page Aug 14, 2018 · 26 revisions

This page documents the BoneJ wrapper class of the Skeletonize3D_ plugin written by Ignacio Arganda-Carreras. We wanted to create wrapper instead of just using the plug-in directly for the following reasons:

  1. Place it under the Plugins>BoneJ menu entry
  2. Additional validation of inputs
  3. More information shown to the user
  4. Modern API wrapping for a legacy plug-in
  5. Easier to call another implementation, if and when an Op based version of Skeletonize3D_ is implemented.

The wrapper will call the Skeletonize3D plugin even though it still is very much in the ImageJ1 world. In the ideal case we would help @iarganda to convert the plugin into an Op, but currently we do not have the resources.

Skeletonize3D creates a topological skeleton of the given image as the name implies. If the image contains more than one separate object, it creates a skeleton of each. A skeleton is thin version of the original shape, which emphasizes geometrical and topological properties.

Skeletonise wrapper

  • Menu path: Plugins>BoneJ>Skeletonise
  • Does not overwrite the input image
  • Inputs
    • ImagePlus inputImage
  • Outputs
    • ImagePlus skeleton the resulting binary skeleton
  • Calls
Setup dialog
  • No setup dialog
Messages
  • If there is no input image
    • Show an error dialog
    • Abort the run
  • If the input image is not 8-bit binary colour
    • Show an error dialog
    • Abort the run
  • If the input image is composite
    • Show an error dialog
    • Abort the run
  • If the input image has a time dimension
    • Show an error dialog
    • Abort the run
Results
  • Creates an ImagePlus output image that shows the skeleton of the input image
    • Output image has the same calibration as input image
    • The title of the output image is "Skeleton of <title of input image>"
Differences from BoneJ1
  • Skeletonize3D_ is included via Maven instead of packaging it in org.bonej.*
  • Renamed from Skeletonise 3D in BoneJ1, because the plugin can be used for 2D images as well
  • Does not auto-invert result image LUT