Class CompareAnnotationWithPredictionStats
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.imagesegmentation.operation.AbstractImageSegmentationContainerOperation
-
- adams.data.imagesegmentation.operation.CompareAnnotationWithPredictionStats
-
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,Serializable
public class CompareAnnotationWithPredictionStats extends AbstractImageSegmentationContainerOperation
Compares a prediction (first container) with the annotation (second container) and outputs statistics per label: correct overlaps (count/%), the missed annotations (count/%) and additionally predicted pixels (count/%), Intersect-over-Union, Dice coefficient. For the percentages, the total number of annotations is used as divisor.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected BaseString[]
m_Labels
the labels to analyze (all if none specified).-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description CompareAnnotationWithPredictionStats()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.protected Object
doProcess(ImageSegmentationContainer[] containers)
Performs the actual processing of the containers.protected int[]
generate(int[] predPixels, int[] annoPixels)
Compares the two pixel arrays and generates counts from it.Class
generates()
The type of data that is generated.BaseString[]
getLabels()
Returns the labels to generate the images for instead of all.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.String
globalInfo()
Returns a string describing the object.String
labelsTipText()
Returns the tip text for this property.int
maxNumContainersRequired()
Returns the maximum number of containers that are required for the operation.int
minNumContainersRequired()
Returns the minimum number of containers that are required for the operation.void
setLabels(BaseString[] value)
Sets the labels to generate the images for instead of all.-
Methods inherited from class adams.data.imagesegmentation.operation.AbstractImageSegmentationContainerOperation
check, checkSameDimensions, checkSameDimensions, process
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Field Detail
-
m_Labels
protected BaseString[] m_Labels
the labels to analyze (all if none specified).
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractOptionHandler
-
setLabels
public void setLabels(BaseString[] value)
Sets the labels to generate the images for instead of all.- Parameters:
value
- the labels
-
getLabels
public BaseString[] getLabels()
Returns the labels to generate the images for instead of all.- Returns:
- the labels
-
labelsTipText
public String labelsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractImageSegmentationContainerOperation
- Returns:
- null if no info available, otherwise short string
-
minNumContainersRequired
public int minNumContainersRequired()
Returns the minimum number of containers that are required for the operation.- Specified by:
minNumContainersRequired
in classAbstractImageSegmentationContainerOperation
- Returns:
- the number of containers that are required, <= 0 means no lower limit
-
maxNumContainersRequired
public int maxNumContainersRequired()
Returns the maximum number of containers that are required for the operation.- Specified by:
maxNumContainersRequired
in classAbstractImageSegmentationContainerOperation
- Returns:
- the number of containers that are required, <= 0 means no upper limit
-
generates
public Class generates()
The type of data that is generated.- Specified by:
generates
in classAbstractImageSegmentationContainerOperation
- Returns:
- the class
-
generate
protected int[] generate(int[] predPixels, int[] annoPixels)
Compares the two pixel arrays and generates counts from it.- Parameters:
predPixels
- the prediction pixelsannoPixels
- the annotation pixels- Returns:
- the counts (correct, missed, additional)
-
doProcess
protected Object doProcess(ImageSegmentationContainer[] containers)
Performs the actual processing of the containers.- Specified by:
doProcess
in classAbstractImageSegmentationContainerOperation
- Parameters:
containers
- the containers to process- Returns:
- the generated data
-
-