-
Notifications
You must be signed in to change notification settings - Fork 13
ThicknessWrapper
This page documents the wrapper class of the LocalThickness
plugin in BoneJ2. The plugin is used trough a wrapper instead of called directly to:
- Place it under the Plugins>BoneJ menu entry
- 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.
- 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 benull
. -
ImagePlus spacingMap
an image showing the thickness values of background voxels. May benull
.
-
- Calls
-
LocalThicknessWrapper
insc.fiji.localThickness
-
- 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
- Maps (String): Controls which thickness maps are calculated
- Other
-
Help-button: opens help page
- Tooltip: Open help web page
-
Help-button: opens help page
- 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
- 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 markedNaN
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"
- 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).
- 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 of0
- Usage reporting
- User documentation
- Enable Crop to ROIs option only if there's a manager with ROIs present
- Make thickness statistics outputs