Class FeatureIntersectingObjects

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.shared.intersecting.FeatureIntersectingObjects
Direct Known Subclasses:
FeatureIntersectingObjectsSingleElement, NumberIntersectingObjects

public abstract class FeatureIntersectingObjects
extends org.anchoranalysis.image.feature.bean.object.single.FeatureSingleObject
An abstract base class for features that calculate values based on intersecting objects.
  • Constructor Summary

    Constructors 
    Constructor Description
    FeatureIntersectingObjects()  
  • Method Summary

    Modifier and Type Method Description
    protected void beforeCalc​(org.anchoranalysis.feature.initialization.FeatureInitialization initialization)  
    double calculate​(org.anchoranalysis.feature.calculate.FeatureCalculationInput<org.anchoranalysis.image.feature.input.FeatureInputSingleObject> input)  
    String getId()
    ID for the particular object-collection
    protected org.anchoranalysis.image.voxel.object.ObjectCollection getSearchObjects()
    Gets the collection of objects to search for intersections.
    double getValueNoObjects()
    The value to return when there are no objects in the search collection.
    void setId​(String id)
    ID for the particular object-collection
    void setValueNoObjects​(double valueNoObjects)
    The value to return when there are no objects in the search collection.
    protected abstract double valueFor​(org.anchoranalysis.feature.calculate.FeatureCalculationInput<org.anchoranalysis.image.feature.input.FeatureInputSingleObject> input, org.anchoranalysis.feature.calculate.cache.part.ResolvedPart<org.anchoranalysis.image.voxel.object.ObjectCollection,​org.anchoranalysis.image.feature.input.FeatureInputSingleObject> intersecting)
    Calculates a value based on the input and the intersecting objects.

    Methods inherited from class org.anchoranalysis.image.feature.bean.object.single.FeatureSingleObject

    inputType

    Methods inherited from class org.anchoranalysis.feature.bean.Feature

    assignTo, calculateCheckInitialized, castAs, createListChildFeatures, describeBean, describeParameters, descriptionLong, duplicateChangeName, getCustomName, getFriendlyName, onInitialization, setCustomName, toString

    Methods inherited from class org.anchoranalysis.bean.initializable.InitializableBean

    getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized

    Methods inherited from class org.anchoranalysis.bean.AnchorBean

    checkMisconfigured, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

  • Method Details

    • beforeCalc

      protected void beforeCalc​(org.anchoranalysis.feature.initialization.FeatureInitialization initialization) throws org.anchoranalysis.core.exception.InitializeException
      Overrides:
      beforeCalc in class org.anchoranalysis.feature.bean.Feature<org.anchoranalysis.image.feature.input.FeatureInputSingleObject>
      Throws:
      org.anchoranalysis.core.exception.InitializeException
    • calculate

      public double calculate​(org.anchoranalysis.feature.calculate.FeatureCalculationInput<org.anchoranalysis.image.feature.input.FeatureInputSingleObject> input) throws org.anchoranalysis.feature.calculate.FeatureCalculationException
      Specified by:
      calculate in class org.anchoranalysis.feature.bean.Feature<org.anchoranalysis.image.feature.input.FeatureInputSingleObject>
      Throws:
      org.anchoranalysis.feature.calculate.FeatureCalculationException
    • valueFor

      protected abstract double valueFor​(org.anchoranalysis.feature.calculate.FeatureCalculationInput<org.anchoranalysis.image.feature.input.FeatureInputSingleObject> input, org.anchoranalysis.feature.calculate.cache.part.ResolvedPart<org.anchoranalysis.image.voxel.object.ObjectCollection,​org.anchoranalysis.image.feature.input.FeatureInputSingleObject> intersecting) throws org.anchoranalysis.feature.calculate.FeatureCalculationException
      Calculates a value based on the input and the intersecting objects.
      Parameters:
      input - the input for feature calculation
      intersecting - the resolved part containing intersecting objects
      Returns:
      the calculated feature value
      Throws:
      org.anchoranalysis.feature.calculate.FeatureCalculationException - if an error occurs during calculation
    • getSearchObjects

      protected org.anchoranalysis.image.voxel.object.ObjectCollection getSearchObjects()
      Gets the collection of objects to search for intersections.
      Returns:
      the ObjectCollection used for searching intersections
    • getId

      public String getId()
      ID for the particular object-collection
    • setId

      public void setId​(String id)
      ID for the particular object-collection
    • getValueNoObjects

      public double getValueNoObjects()
      The value to return when there are no objects in the search collection.
    • setValueNoObjects

      public void setValueNoObjects​(double valueNoObjects)
      The value to return when there are no objects in the search collection.