Class Thresholder

Direct Known Subclasses:
ThresholderAutoIJ, ThresholderGlobal, ThresholderSimpleFillHoles2D

public abstract class Thresholder extends NullParametersBean<VoxelsThresholder>
Thresholds voxels to create a binary-voxels using global thresholding.
Author:
Owen Feehan
  • Constructor Details

    • Thresholder

      protected Thresholder()
  • Method Details

    • threshold

      Like threshold(VoxelsUntyped) but using default binary-values.

      The default values are off(0) and on(255).

      Parameters:
      voxels - the voxels to be thresholded.
      Returns:
      a binary-channel as described above, which may possibly reuse the input voxel-buffers.
      Throws:
      OperationFailedException - if the thresholding operation cannot complete successfully.
    • threshold

      Like threshold(VoxelsUntyped, BinaryValuesByte, Optional, Optional) applying the thresholding to the entire set of voxels.

      The thresholder does not accept a histogram as input.

      Parameters:
      voxels - the voxels to be thresholded.
      binaryValues - what binary values to be used in the output.
      Returns:
      a binary-channel as described above, which may possibly reuse the input voxel-buffers.
      Throws:
      OperationFailedException - if the thresholding operation cannot complete successfully.
    • threshold

      public abstract BinaryVoxels<UnsignedByteBuffer> threshold(VoxelsUntyped voxels, BinaryValuesByte binaryValues, Optional<Histogram> histogram, Optional<ObjectMask> objectMask) throws OperationFailedException
      Thresholds voxels (across a range of values) so that they have only binary range (i.e. two voxel values representing on and off).

      If a mask is used, the voxels outside the object-mask are left unchanged. They will be either identical to the input-volume or 0 if a new buffer needs to be created.

      Parameters:
      voxels - the voxels to be thresholded.
      binaryValues - what binary values to be used in the output.
      histogram - a histogram if it's available, which must exactly match the intensity-values of voxels after any object-mask is applied. This exists for calculation efficiency.
      objectMask - an object-mask to restrict thresholding to only some region(s) of the voxels.
      Returns:
      a binary-channel as described above, which may possibly reuse the input voxel-buffers.
      Throws:
      OperationFailedException - if the thresholding operation cannot complete successfully.