Slice Geometry started life as an updated version of Moment Macro from JHU, which was modified to run over all slices in a stack. The resulting macro was then ported to Java to exploit the substantial (~ ×100) speed advantage that results from running in native Java rather than interpreted ImageJ macro language. It calculates cross-sectional geometric properties of shapes: cross-sectional area, centroid, mean density, second moment of area, section modulus, Feret diameter and local thickness (2D and 3D). Measurements can be limited to a rectangular ROI. If your bone is not well aligned with the image axes, you may find it useful to align the bone to its principal axes using Moments of Inertia or by exporting a transformed volume from the ImageJ 3D Viewer. Importantly, no assumption of geometry is made for any of the measurements.
- Input
- Binary, 8-bit or 16-bit stack
- Optional rectangular ROI
- Options
- Bone: Slice Geometry will guess from your image title the bone it is working on. If it is wrong, correct it. If your bone of interest isn't listed, email me.
- 2D Thickness: Run Thickness on a per-slice basis; this fits circles rather than spheres
- 3D Thickness: Run Thickness on the whole stack, fitting spheres, then report results per slice
- Draw Axes: Draw axes on an annotated copy of the stack
- Draw Centroids: Draw centroids on an annotated copy of the stack
- Annotated Copy (2D): Create a new stack showing the centroids and principal axes
- 3D Annotation: Display the stack, principal axes and centroids in the 3D viewer
- Process Stack: Calculate parameters for all slices in the stack
- Clear Results: Remove all data in the results table without saving, prior to calculating parameters
- Use Orientation: Also calculate parameters based on directions defined in Orientation
- HU Calibrated: Allows you to enter your thresholds in Hounsfield units (HU) or uncalibrated units
- Bone Min: minimum pixel value to use in calculations
- Bone Max: maximum pixel value to use in calculations
- Slope: m where physical density = m × pixel value + c
- Y Intercept: c where physical density = m × pixel value + c
- Note: density-weighted calculations are only applied to centroid determination at present
- Partial volume compensation: Use model that assumes Gaussian blur of imaging modality and linear transform between pixel value and sample 'density' to correct for blurred and pixelated images (e.g. small bone in clinical CT)
- Background: pixel value that corresponds to zero bone density (could be the 'fat', 'air' or 'muscle' pixel value)
- Foreground: pixel value that corresponds to 100% bone density
- Output
- Image: image file name
- Bone code: Unique numeric identifier for the anatomic name of each bone. Further bone codes can be added to BoneJ on request
- Slice: slice number indicating which slice contributed image data for this row of the results
- CSA: cross-sectional area
- X cent.: Centroid x-coordinate
- Y cent.: Centroid y-coordinate
- Density: mean physical density, calculated from pixel values and calibration coefficients
- wX cent: Density-weighted x-coordinate of centroid
- wY cent: Density-weighted y-coordinate of centroid
- Theta: angle of major axis (axis for Imin, the long axis of your specimen's cross section) from the horizontal, ranging from -π/2 to +π/2, with positive as clockwise
- R1: maximum chord length from major axis (i.e. in the direction of the minor axis, the short semi-width)
- R2: maximum chord length from minor axis (i.e. in the direction of the major axis, the long semi-width)
- Imin: Second moment of area around major axis (smaller I value, calculated in the direction of the minor/short axis; note inconsistency of subscript use here)
- Imax: Second moment of area around minor axis (larger I value, calculated in the direction of the major/long axis; note inconsistency of subscript use here)
- Ipm: Product moment of area (= 0 if no errors are present, e.g. due to pixelation)
- Zmax: Section modulus around minor axis (Imax / R2) (note inconsistency of subscript use; 'max' relates to the magnitude of the value and not the axis around which the value was calculated)
- Zmin: Section modulus around major axis (Imin / R1) (note inconsistency of subscript use; 'min' relates to the magnitude of the value and not the axis around which the value was calculated)
- Zpol: Polar section modulus
- Feret Min: Minimum caliper width
- Feret Max: Maximum caliper width
- Feret Angle: Orientation of maximum caliper width
- Perimeter: Distance around external surface
- Max Thick 2D: Maximum thickness determined by local thickness in 2D
- Mean Thick 2D: Mean thickness determined by local thickness in 2D
- SD Thick 2D: Standard deviation of the mean thickness determined by local thickness in 2D
- Max Thick 3D: Maximum thickness in this slice determined by local thickness in 3D
- Mean Thick 3D: Mean thickness in this slice determined by local thickness in 3D
- SD Thick 3D: Standard deviation of the mean thickness in this slice determined by local thickness in 3D
- Directional measurements, using Orientation directions, and the specimen's slice centroid
- A (rad): Principal orientation (direction A)
- B (rad): Secondary orientation (direction B)
- IAa : Second moment of area around Aa axis
- IBb : Second moment of area around Bb axis
- ZAa : Section modulus around Aa axis
- ZBb : Section modulus around Bb axis
- RAa : maximum chord length from Aa axis
- RBb : maximum chord length from Bb axis
- DAa : Calliper diameter in direction of Aa
- DBb : Calliper diameter in direction of Bb
This file last modified 1318hrs 07 April 2022 © Michael Doube 2004-2025 :: Designed to be interoperable and standards-compliant.