Class PermuteFeature<S,​T extends org.anchoranalysis.feature.input.FeatureInput>

Object
org.anchoranalysis.bean.AnchorBean<B>
org.anchoranalysis.bean.initializable.InitializableBean<T,​org.anchoranalysis.feature.initialization.FeatureRelatedInitialization>
org.anchoranalysis.feature.bean.FeatureRelatedBean<B>
org.anchoranalysis.feature.bean.provider.FeatureProviderBean<org.anchoranalysis.feature.bean.list.FeatureListProvider<T>,​org.anchoranalysis.feature.bean.list.FeatureList<T>>
org.anchoranalysis.feature.bean.list.FeatureListProvider<T>
org.anchoranalysis.plugin.image.feature.bean.list.permute.PermuteFeatureBase<T>
org.anchoranalysis.plugin.image.feature.bean.list.permute.PermuteFeature<S,​T>
Type Parameters:
S - permutation type
T - feature-input
All Implemented Interfaces:
org.anchoranalysis.bean.Provider<org.anchoranalysis.feature.bean.list.FeatureList<T>>

public class PermuteFeature<S,​T extends org.anchoranalysis.feature.input.FeatureInput>
extends PermuteFeatureBase<T>
Permutes one or more properties of a Feature, so as to create a set of Features

As a convenience, a single permutation can be defined using the permutation property, whereas multiple permutations can be defined using permutations list of properties.

Author:
Owen Feehan
  • Constructor Summary

    Constructors 
    Constructor Description
    PermuteFeature()  
  • Method Summary

    Modifier and Type Method Description
    void checkMisconfigured​(org.anchoranalysis.bean.BeanInstanceMap defaultInstances)  
    protected org.anchoranalysis.feature.bean.list.FeatureList<T> createPermutedFeaturesFor​(org.anchoranalysis.feature.bean.Feature<T> feature)
    Creates permuted features for the given feature.
    org.anchoranalysis.bean.permute.property.PermuteProperty<S> getPermutation()
    A permutation to apply.
    List<org.anchoranalysis.bean.permute.property.PermuteProperty<S>> getPermutations()
    A list of permutations to apply.
    org.anchoranalysis.bean.primitive.StringSet getReferencesFeatureListCreator()
    Makes sure a particular feature list creator is evaluated
    void onInitialization​(org.anchoranalysis.feature.initialization.FeatureRelatedInitialization so)  
    void setPermutation​(org.anchoranalysis.bean.permute.property.PermuteProperty<S> permutation)
    A permutation to apply.
    void setPermutations​(List<org.anchoranalysis.bean.permute.property.PermuteProperty<S>> permutations)
    A list of permutations to apply.
    void setReferencesFeatureListCreator​(org.anchoranalysis.bean.primitive.StringSet referencesFeatureListCreator)
    Makes sure a particular feature list creator is evaluated

    Methods inherited from class org.anchoranalysis.plugin.image.feature.bean.list.permute.PermuteFeatureBase

    get, getFeature, setFeature

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

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

    Methods inherited from class org.anchoranalysis.bean.AnchorBean

    describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString

    Methods inherited from class java.lang.Object

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

  • Method Details

    • checkMisconfigured

      public void checkMisconfigured​(org.anchoranalysis.bean.BeanInstanceMap defaultInstances) throws org.anchoranalysis.bean.exception.BeanMisconfiguredException
      Overrides:
      checkMisconfigured in class org.anchoranalysis.bean.AnchorBean<org.anchoranalysis.feature.bean.list.FeatureListProvider<T extends org.anchoranalysis.feature.input.FeatureInput>>
      Throws:
      org.anchoranalysis.bean.exception.BeanMisconfiguredException
    • createPermutedFeaturesFor

      protected org.anchoranalysis.feature.bean.list.FeatureList<T> createPermutedFeaturesFor​(org.anchoranalysis.feature.bean.Feature<T> feature) throws org.anchoranalysis.bean.xml.exception.ProvisionFailedException
      Description copied from class: PermuteFeatureBase
      Creates permuted features for the given feature.
      Specified by:
      createPermutedFeaturesFor in class PermuteFeatureBase<T extends org.anchoranalysis.feature.input.FeatureInput>
      Parameters:
      feature - the feature to permute
      Returns:
      a FeatureList containing the permuted features
      Throws:
      org.anchoranalysis.bean.xml.exception.ProvisionFailedException - if the permuted features cannot be created
    • onInitialization

      public void onInitialization​(org.anchoranalysis.feature.initialization.FeatureRelatedInitialization so) throws org.anchoranalysis.core.exception.InitializeException
      Overrides:
      onInitialization in class org.anchoranalysis.bean.initializable.InitializableBean<org.anchoranalysis.feature.bean.list.FeatureListProvider<T extends org.anchoranalysis.feature.input.FeatureInput>,​org.anchoranalysis.feature.initialization.FeatureRelatedInitialization>
      Throws:
      org.anchoranalysis.core.exception.InitializeException
    • getReferencesFeatureListCreator

      public org.anchoranalysis.bean.primitive.StringSet getReferencesFeatureListCreator()
      Makes sure a particular feature list creator is evaluated
    • setReferencesFeatureListCreator

      public void setReferencesFeatureListCreator​(org.anchoranalysis.bean.primitive.StringSet referencesFeatureListCreator)
      Makes sure a particular feature list creator is evaluated
    • getPermutation

      public org.anchoranalysis.bean.permute.property.PermuteProperty<S> getPermutation()
      A permutation to apply. Either this must be present or permutations must be non-empty, but not both.
    • setPermutation

      public void setPermutation​(org.anchoranalysis.bean.permute.property.PermuteProperty<S> permutation)
      A permutation to apply. Either this must be present or permutations must be non-empty, but not both.
    • getPermutations

      public List<org.anchoranalysis.bean.permute.property.PermuteProperty<S>> getPermutations()
      A list of permutations to apply. Either this must be non-empty or permutation must be present, but not both.
    • setPermutations

      public void setPermutations​(List<org.anchoranalysis.bean.permute.property.PermuteProperty<S>> permutations)
      A list of permutations to apply. Either this must be non-empty or permutation must be present, but not both.