Direct Known Subclasses:
PrincipalAxisEccentricity, RatioPrincipalAxisLength, SpecificAxisBase

public abstract class ImageMomentsBase extends FeatureSingleObject
A base class for features that are calculated using image-moments.

If there are too few voxels, then a constant value is returned.

Author:
Owen Feehan
See Also:
  • Constructor Details

    • ImageMomentsBase

      public ImageMomentsBase()
  • Method Details

    • calculate

      Description copied from class: Feature
      Calculates a value for some input.
      Specified by:
      calculate in class Feature<FeatureInputSingleObject>
      Parameters:
      input - the input to the calculation.
      Returns:
      the result of the calculation.
      Throws:
      FeatureCalculationException - if the calculation cannot successfully complete.
    • calculateFromAllMoments

      protected abstract double calculateFromAllMoments(ImageMoments moments) throws FeatureCalculationException
      Calculates the feature value from the ImageMoments.
      Parameters:
      moments - the ImageMoments to use for calculation
      Returns:
      the calculated feature value
      Throws:
      FeatureCalculationException - if the calculation fails
    • errorMessageIfTooFewPixels

      protected abstract String errorMessageIfTooFewPixels() throws FeatureCalculationException
      Generates an error message when there are too few pixels to calculate moments.
      Returns:
      the error message as a String
      Throws:
      FeatureCalculationException - if generating the error message fails
    • isSuppressZ

      public boolean isSuppressZ()
      If true co-variance is suppressed in z-dimension.
    • setSuppressZ

      public void setSuppressZ(boolean suppressZ)
      If true co-variance is suppressed in z-dimension.
    • getValueIfTooFewVoxels

      public double getValueIfTooFewVoxels()
      A value to return if there are too few voxels (less than MIN_NUM_VOXELS) to calculate moments.

      A warning message is also written to the log.

    • setValueIfTooFewVoxels

      public void setValueIfTooFewVoxels(double valueIfTooFewVoxels)
      A value to return if there are too few voxels (less than MIN_NUM_VOXELS) to calculate moments.

      A warning message is also written to the log.