Skip to content

Surface area

Richard Domander edited this page Aug 30, 2018 · 1 revision

Surface area creates a surface mesh from the given 3D binary image, and then calculates its area. First it selects all the foreground voxels, and feeds them to a marching cubes op. The marching cubes op outputs a mesh, whose area is calculated with another op. Isosurface wrapper also offers to option to save this mesh as an STL file.

SurfaceAreaWrapper

  • Menu path: Plugins>BoneJ>Surface area
  • Inputs
    • ImgPlus<T extends RealType<T> & NativeType<T>> inputImage
    • boolean exportSTL
  • Outputs
    • Table<DefaultColumn<String>, String> resultsTable
Setup dialog
  • Options
    • exportSTL (boolean)
      • Label: Export STL file(s)
      • Tool tip: Create a binary STL file from the surface mesh
      • Widget: Check box
      • Optional (required = false)
Messages
  • If there's no image open
    • Show an error dialog
    • Abort the run
  • If the input image doesn't have three spatial dimensions
    • Show an error dialog
    • Abort the run
  • If the input image is not binary colour
    • Show an error dialog
    • Abort the run
  • If image calibration is anisotropic
    • Show a warning about incorrect results (surface area incorrectly scaled)
  • If user chooses to export STL files
    • Show a file dialog
    • Cancelling file dialog must stop plugin
  • If the writing of one or more STL files fails
    • Show an error dialog which lists each failure
Results
  • Prints Surface area for each 3D subspace in the Shared table
    • Shows the unit of the area, e.g. mm^2 (pixel for uncalibrated). If axes have different units, calibrations are converted into the unit of the first spatial axis (x-axis).
  • STL-files
  • Saves the mesh of each 3D subspace in binary .stl format if option chosen
  • Files are saved in little endian order
Differences from BoneJ1
  • Supports hyper stacks, i.e. 3D images with channels and/or time frames
  • Results differ because of different implementations of marching cubes and mesh surface area
  • Supports only binary images