Skip to content

ThicknessWrapper

Richard Domander edited this page Aug 13, 2018 · 19 revisions

This page documents the wrapper class of the LocalThickness plugin in BoneJ2. The plugin is used trough a wrapper instead of called directly to:

  1. Place it under the Plugins>BoneJ menu entry
  2. Provide custom functionality

The wrapper will call the LocalThickness plugin even though it still is very much in the ImageJ1 world. In the ideal case we would have the time to convert the plugin into an Op (or rather each step into an individual Op). The original developer has withdrawn from maintaining the plugin.

LocalThickness calculates the local thickness values of a binary 3D image. More specifically it determines "the diameter of the largest sphere that fits inside the object and contains the point” for each point i.e. foreground voxel in the image. The LocalThickness plugin consists of several processing steps. The wrapper calls them all in succession. In BoneJ2 it's assumed that the tool is used for analysing the thickness of trabecular bone samples. Thus foreground voxels correspond to bone and background to the space between the trabeculae.

ThicknessWrapper

  • Menu path: Plugins>BoneJ>Thickness
  • Input
    • ImagePlus inputImage the image to be processed
    • String maps which thickness values to calculate (foreground or background voxels)
    • boolean showMaps display thickness images
    • boolean maskArtefacts remove artificial voxels from the thickness images
    • boolean cropToRois calculate thickness only for voxels in the the ROIs
  • Output
    • ImagePlus thicknessMap an image showing the thickness values of foreground voxels. May be null.
    • ImagePlus spacingMap an image showing the thickness values of background voxels. May be null.
  • Calls
    • LocalThicknessWrapper in sc.fiji.localThickness
Setup dialog
  • Options
    • Maps (String): Controls which thickness maps are calculated
      • Label: Calculate:
      • Tooltip: Which thickness measures to calculate
      • Widget: Vertical radio button group ("Trabecular thickness", "Trabecular spacing", "Both")
    • Show images (boolean): if true, show the resulting thickness map image(s)
      • Label: Show thickness maps
      • Tooltip: Show resulting map images after calculations
      • Widget: Check box
    • Mask thickness map (boolean): if true, remove pixel artefacts from the thickness map image(s)
      • Label: Mask thickness maps
      • Tooltip: Remove pixel artifacts from the thickness maps
      • Widget: Check box
    • ROI manager (boolean): if true, limit thickness map to the ROIs in the ROI manager
      • Label: Crop to ROI manager
      • Tooltip: Limit the maps to the ROIs in the ROI manager
      • Widget: Check box
  • Other
    • Help-button: opens help page
      • Tooltip: Open help web page
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 does not have exactly three spatial dimensions
    • Show an error dialog
    • Abort the run
  • If the input image is a hyperstack (is composite or has a time dimension)
    • Show an error dialog
    • Abort the run
  • If the input image is not isotropic
    • Show a warning dialog with the degree of anisotropy
    • Continue if user clicks OK
  • If PlatformService fails to open the help page
    • Show an error dialog
  • If user has selected "Crop to ROIs", but there is no ROI manager, or it doesn' have any valid ROIs
    • Show an error dialog
    • Abort the run
Output images
  • Creates output images that show the local thickness map of the input image
  • The pixel values in the output images shall be calibrated (thickness in real units)
  • The output images must not contain 0 values. Zero pixels shall be marked NaN instead
  • Does not overwrite the input image
  • The title of the output image for trabecular thickness shall be "<title of input image>_Tb.Th"
  • The title of the output image for trabecular spacing shall be "<title of input image>_Tb.Sp"
Results table
  • Show Mean value (Mean), Standard deviation (Std Dev) and Maximum value (Max) for both trabecular thickness and spacing. Add a prefix to each column header: Tb.Th for thickness and Tb.Sp for spacing.
  • Must show the unit of the values (e.g. mm^3) in the results table. If the image is uncalibrated, must not show any unit (e.g. no "pixel" unit).
Differences from BoneJ1
  • Settings persist
  • LocalThickness is included via Maven instead of packaging it in org.bonej.*
  • Thickness value for voxels outside the analyzed object is NaN instead of 0
Clone this wiki locally