Class AggregateAnnotations<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>

Object
org.anchoranalysis.bean.AnchorBean<org.anchoranalysis.experiment.bean.task.Task<T,​S>>
org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateAnnotations<S>
Type Parameters:
S - the type of AnnotatorStrategy used for annotation

public class AggregateAnnotations<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>
extends org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
Aggregates many per-image annotations together in form of a CSV file.

The following outputs are produced:

Output NameDefault?Description
"aggregated"yesa CSV file with each image and corresponding image-label.
outputs from Task
Author:
Owen Feehan
  • Constructor Summary

    Constructors 
    Constructor Description
    AggregateAnnotations()  
  • Method Summary

    Modifier and Type Method Description
    void afterAllJobsAreExecuted​(org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState sharedState, org.anchoranalysis.io.output.outputter.InputOutputContext context)  
    org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState beforeAnyJobIsExecuted​(org.anchoranalysis.io.output.outputter.Outputter outputter, org.anchoranalysis.inference.concurrency.ConcurrencyPlan concurrencyPlan, List<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>> inputs, org.anchoranalysis.experiment.task.ParametersExperiment parameters)  
    org.anchoranalysis.io.output.enabled.OutputEnabledMutable defaultOutputs()  
    void doJobOnInput​(org.anchoranalysis.experiment.task.InputBound<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState> input)  
    boolean hasVeryQuickPerInputExecution()  
    org.anchoranalysis.experiment.task.InputTypesExpected inputTypesExpected()  

    Methods inherited from class org.anchoranalysis.experiment.bean.task.Task

    executeJob, isInputCompatibleWith

    Methods inherited from class org.anchoranalysis.bean.AnchorBean

    checkMisconfigured, 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

    • beforeAnyJobIsExecuted

      public org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState beforeAnyJobIsExecuted​(org.anchoranalysis.io.output.outputter.Outputter outputter, org.anchoranalysis.inference.concurrency.ConcurrencyPlan concurrencyPlan, List<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>> inputs, org.anchoranalysis.experiment.task.ParametersExperiment parameters) throws org.anchoranalysis.experiment.ExperimentExecutionException
      Specified by:
      beforeAnyJobIsExecuted in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
      Throws:
      org.anchoranalysis.experiment.ExperimentExecutionException
    • doJobOnInput

      public void doJobOnInput​(org.anchoranalysis.experiment.task.InputBound<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState> input) throws org.anchoranalysis.experiment.JobExecutionException
      Specified by:
      doJobOnInput in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
      Throws:
      org.anchoranalysis.experiment.JobExecutionException
    • afterAllJobsAreExecuted

      public void afterAllJobsAreExecuted​(org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState sharedState, org.anchoranalysis.io.output.outputter.InputOutputContext context) throws org.anchoranalysis.experiment.ExperimentExecutionException
      Specified by:
      afterAllJobsAreExecuted in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
      Throws:
      org.anchoranalysis.experiment.ExperimentExecutionException
    • hasVeryQuickPerInputExecution

      public boolean hasVeryQuickPerInputExecution()
      Specified by:
      hasVeryQuickPerInputExecution in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
    • inputTypesExpected

      public org.anchoranalysis.experiment.task.InputTypesExpected inputTypesExpected()
      Specified by:
      inputTypesExpected in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>
    • defaultOutputs

      public org.anchoranalysis.io.output.enabled.OutputEnabledMutable defaultOutputs()
      Overrides:
      defaultOutputs in class org.anchoranalysis.experiment.bean.task.Task<org.anchoranalysis.annotation.io.AnnotationWithStrategy<S extends org.anchoranalysis.annotation.io.bean.AnnotatorStrategy>,​org.anchoranalysis.plugin.annotation.bean.aggregate.AggregateSharedState>