Class RatioPrincipalAxisLength
Object
org.anchoranalysis.bean.AnchorBean<B>
org.anchoranalysis.bean.initializable.InitializableBean<org.anchoranalysis.feature.bean.Feature<T>,org.anchoranalysis.feature.initialization.FeatureInitialization>
org.anchoranalysis.feature.bean.Feature<org.anchoranalysis.image.feature.input.FeatureInputSingleObject>
org.anchoranalysis.image.feature.bean.object.single.FeatureSingleObject
org.anchoranalysis.plugin.image.feature.bean.object.single.moments.ImageMomentsBase
org.anchoranalysis.plugin.image.feature.bean.object.single.moments.RatioPrincipalAxisLength
public class RatioPrincipalAxisLength extends ImageMomentsBase
Calculates the ratio of prinicpal-axis length using Image Moments.
Specifically this is the highest-magnitude eigen-value (normalized) to second-highest (normalized) eigen-value.
See Image moment on Wikipedia for the precise calculation.
See Stack overflow post for the normalization procedure.
- Author:
- Owen Feehan
-
Constructor Summary
Constructors Constructor Description RatioPrincipalAxisLength() -
Method Summary
Modifier and Type Method Description protected doublecalculateFromAllMoments(org.anchoranalysis.math.statistics.moment.ImageMoments moments)Calculates the feature value from theImageMoments.protected StringerrorMessageIfTooFewPixels()Generates an error message when there are too few pixels to calculate moments.Methods inherited from class org.anchoranalysis.plugin.image.feature.bean.object.single.moments.ImageMomentsBase
calculate, getValueIfTooFewVoxels, isSuppressZ, setSuppressZ, setValueIfTooFewVoxelsMethods inherited from class org.anchoranalysis.image.feature.bean.object.single.FeatureSingleObject
inputTypeMethods inherited from class org.anchoranalysis.feature.bean.Feature
assignTo, beforeCalc, calculateCheckInitialized, castAs, createListChildFeatures, describeBean, describeParameters, descriptionLong, duplicateChangeName, getCustomName, getFriendlyName, onInitialization, setCustomName, toStringMethods inherited from class org.anchoranalysis.bean.initializable.InitializableBean
getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized
-
Constructor Details
-
RatioPrincipalAxisLength
public RatioPrincipalAxisLength()
-
-
Method Details
-
calculateFromAllMoments
protected double calculateFromAllMoments(org.anchoranalysis.math.statistics.moment.ImageMoments moments) throws org.anchoranalysis.feature.calculate.FeatureCalculationExceptionDescription copied from class:ImageMomentsBaseCalculates the feature value from theImageMoments.- Specified by:
calculateFromAllMomentsin classImageMomentsBase- Parameters:
moments- theImageMomentsto use for calculation- Returns:
- the calculated feature value
- Throws:
org.anchoranalysis.feature.calculate.FeatureCalculationException- if the calculation fails
-
errorMessageIfTooFewPixels
Description copied from class:ImageMomentsBaseGenerates an error message when there are too few pixels to calculate moments.- Specified by:
errorMessageIfTooFewPixelsin classImageMomentsBase- Returns:
- the error message as a
String
-