-
Notifications
You must be signed in to change notification settings - Fork 13
ThicknessWrapper
Richard Domander edited this page May 19, 2016
·
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:
- 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. This will lead into some differences in the implementation of this wrapper from the others. Details below. 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.
- Menu path: Plugins>BoneJ>Thickness
- Performs all the steps in the Local Thickness plugin
- 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
- 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 not isotropic
- Show a warning dialog with the degree of anisotropy
- Continue if user clicks OK
- If the calibration of the image cannot be determined*
- Show a warning dialog (before Results table)
- If
PlatformService
fails to open the help page- Show an error dialog
*Calibration is unknown if spatial axes have different units or are not linear. No calibration is a valid calibration (none of the axes have units).
- 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
- Add possibility to limit the thickness map to ROI manager
- Usage reporting
- User documentation
- The underlying plugin was modified so that BoneJ2 could use it through a wrapper. The pull request has been submitted, and the code published in the ImageJ Maven repository.