Package adams.flow.transformer
Class CompareObjectLocations
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,StorageUser
,Actor
,AutomatableInteraction
,ErrorHandler
,InputConsumer
,InteractiveActor
,OutputProducer
,StopModeSupporter
,Serializable
,Comparable
public class CompareObjectLocations extends AbstractInteractiveTransformerDialog implements StorageUser, AutomatableInteraction
Visualizes object locations (annotations and predicted) for the incoming image side-by-side.
Only forwards the image container when accepted.
Input/output:
- accepts:
adams.data.image.AbstractImageContainer
- generates:
adams.data.image.AbstractImageContainer
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: CompareObjectLocations
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-width <int> (property: width) The width of the dialog. default: 800 minimum: 1
-height <int> (property: height) The height of the dialog. default: 600 minimum: 1
-x <int> (property: x) The X position of the dialog (>=0: absolute, -1: left, -2: center, -3: right ). default: -1 minimum: -3
-y <int> (property: y) The Y position of the dialog (>=0: absolute, -1: top, -2: center, -3: bottom ). default: -1 minimum: -3
-stop-if-canceled <boolean> (property: stopFlowIfCanceled) If enabled, the flow gets stopped in case the user cancels the dialog. default: false
-custom-stop-message <java.lang.String> (property: customStopMessage) The custom stop message to use in case a user cancelation stops the flow (default is the full name of the actor) default:
-stop-mode <GLOBAL|STOP_RESTRICTOR> (property: stopMode) The stop mode to use. default: GLOBAL
-annotations-storage-name <adams.flow.control.StorageName> (property: annotationsStorageName) The name of the storage item containing the annotations (ground truth). default: storage
-annotations-prefix <java.lang.String> (property: annotationsPrefix) The object prefix that the annotations use. default: Object.
-annotations-label-suffix <java.lang.String> (property: annotationsLabelSuffix) The report suffix that the annotations use for storing the label. default: type
-predictions-storage-name <adams.flow.control.StorageName> (property: predictionsStorageName) The name of the storage item containing the predictions. default: storage
-predictions-prefix <java.lang.String> (property: predictionsPrefix) The object prefix that the predictions use. default: Object.
-predictions-label-suffix <java.lang.String> (property: predictionsLabelSuffix) The report suffix that the predictions use for storing the label. default: type
-comparison <adams.flow.transformer.compareobjectlocations.AbstractComparison> (property: comparison) The comparison view to use. default: adams.flow.transformer.compareobjectlocations.SideBySide -annotations-overlay \"adams.gui.visualization.image.ObjectLocationsOverlayFromReport -type-color-provider adams.gui.visualization.core.DefaultColorProvider\" -predictions-overlay \"adams.gui.visualization.image.ObjectLocationsOverlayFromReport -type-color-provider adams.gui.visualization.core.DefaultColorProvider\"
-forward-screenshot <boolean> (property: forwardScreenshot) If enabled, a screenshot is forwarded to the specified actor when accepting the dialog. default: false
-screenshot-queue <adams.flow.control.StorageName> (property: screenshotQueue) The storage name of the queue to receive the screenshot. default: storage
-non-interactive <boolean> (property: nonInteractive) If enabled, the 'OK' button gets clicked automatically. default: false
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
m_Accepted
whether the dialog got accepted.protected String
m_AnnotationsLabelSuffix
the annotations label suffix.protected String
m_AnnotationsPrefix
the annotations object prefix.protected StorageName
m_AnnotationsStorageName
the storage item with the annotations.protected BaseButton
m_ButtonOK
the OK button.protected AbstractComparison
m_Comparison
the comparison view to use.protected AbstractComparisonPanel
m_ComparisonPanel
the generated panel.protected AbstractImageContainer
m_CurrentImage
the current image.protected boolean
m_ForwardScreenshot
whether to forward a screenshot to the callable actor.protected boolean
m_NonInteractive
whether the prompt is non-interactive.protected String
m_PredictionsLabelSuffix
the predictions label suffix.protected String
m_PredictionsPrefix
the predictions object prefix.protected StorageName
m_PredictionsStorageName
the storage item with the predictions.protected StorageName
m_ScreenshotQueue
the queue to send the screenshot to.-
Fields inherited from class adams.flow.transformer.AbstractInteractiveTransformerDialog
m_CustomStopMessage, m_Dialog, m_Height, m_LastPosition, m_LastSize, m_Panel, m_ShortTitle, m_StopFlowIfCanceled, m_StopMode, m_Width, m_X, m_Y
-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
Fields inherited from interface adams.flow.core.InteractiveActor
INTERACTION_CANCELED
-
-
Constructor Summary
Constructors Constructor Description CompareObjectLocations()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
annotationsLabelSuffixTipText()
Returns the tip text for this property.String
annotationsPrefixTipText()
Returns the tip text for this property.String
annotationsStorageNameTipText()
Returns the tip text for this property.void
clearPanel()
Clears the content of the panel.String
comparisonTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected boolean
display(Token token)
Displays the token (the panel and dialog have already been created at this stage).String
doInteract()
Performs the interaction with the user.String
forwardScreenshotTipText()
Returns the tip text for this property.Class[]
generates()
Returns the class of objects that it generates.String
getAnnotationsLabelSuffix()
Returns the report suffix that the annotations use for storing the label.String
getAnnotationsPrefix()
Returns the object prefix to use for the annotations.StorageName
getAnnotationsStorageName()
Returns the storage item containing the annotations.AbstractComparison
getComparison()
Returns the comparison view to use.boolean
getForwardScreenshot()
Returns whether to forward a screenshot (if accepted).String
getPredictionsLabelSuffix()
Returns the report suffix that the predictions use for storing the label.String
getPredictionsPrefix()
Returns the object prefix to use for the predictions.StorageName
getPredictionsStorageName()
Returns the storage item containing the predictions.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.StorageName
getScreenshotQueue()
Returns the queue to receive the screenshot.String
globalInfo()
Returns a string describing the object.boolean
isNonInteractive()
Returns whether interactiveness is enabled/disabled.boolean
isUsingStorage()
Returns whether storage items are being used.protected BasePanel
newPanel()
Creates the panel to display in the dialog.String
nonInteractiveTipText()
Returns the tip text for this property.protected void
postCreateDialog(BaseDialog dialog, BasePanel panel)
Hook method after the dialog got created.String
predictionsLabelSuffixTipText()
Returns the tip text for this property.String
predictionsPrefixTipText()
Returns the tip text for this property.String
predictionsStorageNameTipText()
Returns the tip text for this property.String
screenshotQueueTipText()
Returns the tip text for this property.protected void
sendScreenshot(AbstractComparisonPanel panel, StorageName storageName)
Sends the screenshot to the callable actor.void
setAnnotationsLabelSuffix(String value)
Sets the report suffix that the annotations use for storing the label.void
setAnnotationsPrefix(String value)
Sets the object prefix to use for the annotations.void
setAnnotationsStorageName(StorageName value)
Sets the storage item containing the annotations.void
setComparison(AbstractComparison value)
Sets the comparison view to use.void
setForwardScreenshot(boolean value)
Sets whether to forward a screenshot (if accepted).void
setNonInteractive(boolean value)
Sets whether to enable/disable interactiveness.void
setPredictionsLabelSuffix(String value)
Sets the report suffix that the predictions use for storing the label.void
setPredictionsPrefix(String value)
Sets the object prefix to use for the predictions.void
setPredictionsStorageName(StorageName value)
Sets the storage item containing the predictions.void
setScreenshotQueue(StorageName value)
Sets the queue to receive the screenshot.-
Methods inherited from class adams.flow.transformer.AbstractInteractiveTransformerDialog
cleanUp, cleanUpGUI, createDialog, createTitle, customStopMessageTipText, deregisterWindow, doCreateDialog, doExecute, doInteractHeadless, getCustomStopMessage, getDefaultHeight, getDefaultWidth, getDefaultX, getDefaultY, getDialog, getHeight, getPanel, getShortTitle, getStopFlowIfCanceled, getStopMode, getWidth, getX, getY, heightTipText, initialize, preCreateDialog, registerWindow, reset, setCustomStopMessage, setHeight, setShortTitle, setStopFlowIfCanceled, setStopMode, setWidth, setX, setY, shortTitleTipText, stopExecution, stopFlowIfCanceledTipText, stopModeTipText, supportsHeadlessInteraction, widthTipText, xTipText, yTipText
-
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, currentInput, execute, hasInput, hasPendingOutput, input, output, postExecute, restoreState, wrapUp
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, toCommandLine, variableChanged, wrapUp
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_AnnotationsStorageName
protected StorageName m_AnnotationsStorageName
the storage item with the annotations.
-
m_AnnotationsPrefix
protected String m_AnnotationsPrefix
the annotations object prefix.
-
m_AnnotationsLabelSuffix
protected String m_AnnotationsLabelSuffix
the annotations label suffix.
-
m_PredictionsStorageName
protected StorageName m_PredictionsStorageName
the storage item with the predictions.
-
m_PredictionsPrefix
protected String m_PredictionsPrefix
the predictions object prefix.
-
m_PredictionsLabelSuffix
protected String m_PredictionsLabelSuffix
the predictions label suffix.
-
m_Comparison
protected AbstractComparison m_Comparison
the comparison view to use.
-
m_ComparisonPanel
protected AbstractComparisonPanel m_ComparisonPanel
the generated panel.
-
m_ForwardScreenshot
protected boolean m_ForwardScreenshot
whether to forward a screenshot to the callable actor.
-
m_ScreenshotQueue
protected StorageName m_ScreenshotQueue
the queue to send the screenshot to.
-
m_NonInteractive
protected boolean m_NonInteractive
whether the prompt is non-interactive.
-
m_Accepted
protected boolean m_Accepted
whether the dialog got accepted.
-
m_CurrentImage
protected transient AbstractImageContainer m_CurrentImage
the current image.
-
m_ButtonOK
protected transient BaseButton m_ButtonOK
the OK button.
-
-
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 classAbstractInteractiveTransformerDialog
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceActor
- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractInteractiveTransformerDialog
- Returns:
- null if no info available, otherwise short string
-
setAnnotationsStorageName
public void setAnnotationsStorageName(StorageName value)
Sets the storage item containing the annotations.- Parameters:
value
- the name
-
getAnnotationsStorageName
public StorageName getAnnotationsStorageName()
Returns the storage item containing the annotations.- Returns:
- the name
-
annotationsStorageNameTipText
public String annotationsStorageNameTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAnnotationsPrefix
public void setAnnotationsPrefix(String value)
Sets the object prefix to use for the annotations.- Parameters:
value
- the object prefix
-
getAnnotationsPrefix
public String getAnnotationsPrefix()
Returns the object prefix to use for the annotations.- Returns:
- the object prefix
-
annotationsPrefixTipText
public String annotationsPrefixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAnnotationsLabelSuffix
public void setAnnotationsLabelSuffix(String value)
Sets the report suffix that the annotations use for storing the label.- Parameters:
value
- the suffix
-
getAnnotationsLabelSuffix
public String getAnnotationsLabelSuffix()
Returns the report suffix that the annotations use for storing the label.- Returns:
- the suffix
-
annotationsLabelSuffixTipText
public String annotationsLabelSuffixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPredictionsStorageName
public void setPredictionsStorageName(StorageName value)
Sets the storage item containing the predictions.- Parameters:
value
- the name
-
getPredictionsStorageName
public StorageName getPredictionsStorageName()
Returns the storage item containing the predictions.- Returns:
- the name
-
predictionsStorageNameTipText
public String predictionsStorageNameTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPredictionsPrefix
public void setPredictionsPrefix(String value)
Sets the object prefix to use for the predictions.- Parameters:
value
- the object prefix
-
getPredictionsPrefix
public String getPredictionsPrefix()
Returns the object prefix to use for the predictions.- Returns:
- the object prefix
-
predictionsPrefixTipText
public String predictionsPrefixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPredictionsLabelSuffix
public void setPredictionsLabelSuffix(String value)
Sets the report suffix that the predictions use for storing the label.- Parameters:
value
- the suffix
-
getPredictionsLabelSuffix
public String getPredictionsLabelSuffix()
Returns the report suffix that the predictions use for storing the label.- Returns:
- the suffix
-
predictionsLabelSuffixTipText
public String predictionsLabelSuffixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setComparison
public void setComparison(AbstractComparison value)
Sets the comparison view to use.- Parameters:
value
- the comparison
-
getComparison
public AbstractComparison getComparison()
Returns the comparison view to use.- Returns:
- the comparison
-
comparisonTipText
public String comparisonTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setForwardScreenshot
public void setForwardScreenshot(boolean value)
Sets whether to forward a screenshot (if accepted).- Parameters:
value
- true if to forward
-
getForwardScreenshot
public boolean getForwardScreenshot()
Returns whether to forward a screenshot (if accepted).- Returns:
- true if to forward
-
forwardScreenshotTipText
public String forwardScreenshotTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setScreenshotQueue
public void setScreenshotQueue(StorageName value)
Sets the queue to receive the screenshot.- Parameters:
value
- the storage name
-
getScreenshotQueue
public StorageName getScreenshotQueue()
Returns the queue to receive the screenshot.- Returns:
- the storage name
-
screenshotQueueTipText
public String screenshotQueueTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNonInteractive
public void setNonInteractive(boolean value)
Sets whether to enable/disable interactiveness.- Specified by:
setNonInteractive
in interfaceAutomatableInteraction
- Parameters:
value
- if true actor is not interactive, but automated
-
isNonInteractive
public boolean isNonInteractive()
Returns whether interactiveness is enabled/disabled.- Specified by:
isNonInteractive
in interfaceAutomatableInteraction
- Returns:
- true if actor is not interactive i.e., automated
-
nonInteractiveTipText
public String nonInteractiveTipText()
Returns the tip text for this property.- Specified by:
nonInteractiveTipText
in interfaceAutomatableInteraction
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
isUsingStorage
public boolean isUsingStorage()
Returns whether storage items are being used.- Specified by:
isUsingStorage
in interfaceStorageUser
- Returns:
- true if storage items are used
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- the Class of objects that can be processed
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generates
in interfaceOutputProducer
- Returns:
- the Class of the generated tokens
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classAbstractInteractiveTransformerDialog
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classAbstractInteractiveTransformerDialog
- Returns:
- the panel
-
postCreateDialog
protected void postCreateDialog(BaseDialog dialog, BasePanel panel)
Hook method after the dialog got created.- Overrides:
postCreateDialog
in classAbstractInteractiveTransformerDialog
- Parameters:
dialog
- the dialog that got just createdpanel
- the panel displayed in the frame
-
sendScreenshot
protected void sendScreenshot(AbstractComparisonPanel panel, StorageName storageName)
Sends the screenshot to the callable actor.- Parameters:
panel
- the panel to take a screenshot ofstorageName
- the queue to send the screenshot to
-
display
protected boolean display(Token token)
Displays the token (the panel and dialog have already been created at this stage).- Parameters:
token
- the token to display- Returns:
- true if successfully displayed
-
doInteract
public String doInteract()
Performs the interaction with the user.- Specified by:
doInteract
in interfaceInteractiveActor
- Overrides:
doInteract
in classAbstractInteractiveTransformerDialog
- Returns:
- null if successfully interacted, error message otherwise
-
-