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 booleanm_Acceptedwhether the dialog got accepted.protected Stringm_AnnotationsLabelSuffixthe annotations label suffix.protected Stringm_AnnotationsPrefixthe annotations object prefix.protected StorageNamem_AnnotationsStorageNamethe storage item with the annotations.protected BaseButtonm_ButtonOKthe OK button.protected AbstractComparisonm_Comparisonthe comparison view to use.protected AbstractComparisonPanelm_ComparisonPanelthe generated panel.protected AbstractImageContainerm_CurrentImagethe current image.protected booleanm_ForwardScreenshotwhether to forward a screenshot to the callable actor.protected booleanm_NonInteractivewhether the prompt is non-interactive.protected Stringm_PredictionsLabelSuffixthe predictions label suffix.protected Stringm_PredictionsPrefixthe predictions object prefix.protected StorageNamem_PredictionsStorageNamethe storage item with the predictions.protected StorageNamem_ScreenshotQueuethe 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.StringannotationsLabelSuffixTipText()Returns the tip text for this property.StringannotationsPrefixTipText()Returns the tip text for this property.StringannotationsStorageNameTipText()Returns the tip text for this property.voidclearPanel()Clears the content of the panel.StringcomparisonTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected booleandisplay(Token token)Displays the token (the panel and dialog have already been created at this stage).StringdoInteract()Performs the interaction with the user.StringforwardScreenshotTipText()Returns the tip text for this property.Class[]generates()Returns the class of objects that it generates.StringgetAnnotationsLabelSuffix()Returns the report suffix that the annotations use for storing the label.StringgetAnnotationsPrefix()Returns the object prefix to use for the annotations.StorageNamegetAnnotationsStorageName()Returns the storage item containing the annotations.AbstractComparisongetComparison()Returns the comparison view to use.booleangetForwardScreenshot()Returns whether to forward a screenshot (if accepted).StringgetPredictionsLabelSuffix()Returns the report suffix that the predictions use for storing the label.StringgetPredictionsPrefix()Returns the object prefix to use for the predictions.StorageNamegetPredictionsStorageName()Returns the storage item containing the predictions.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.StorageNamegetScreenshotQueue()Returns the queue to receive the screenshot.StringglobalInfo()Returns a string describing the object.booleanisNonInteractive()Returns whether interactiveness is enabled/disabled.booleanisUsingStorage()Returns whether storage items are being used.protected BasePanelnewPanel()Creates the panel to display in the dialog.StringnonInteractiveTipText()Returns the tip text for this property.protected voidpostCreateDialog(BaseDialog dialog, BasePanel panel)Hook method after the dialog got created.StringpredictionsLabelSuffixTipText()Returns the tip text for this property.StringpredictionsPrefixTipText()Returns the tip text for this property.StringpredictionsStorageNameTipText()Returns the tip text for this property.StringscreenshotQueueTipText()Returns the tip text for this property.protected voidsendScreenshot(AbstractComparisonPanel panel, StorageName storageName)Sends the screenshot to the callable actor.voidsetAnnotationsLabelSuffix(String value)Sets the report suffix that the annotations use for storing the label.voidsetAnnotationsPrefix(String value)Sets the object prefix to use for the annotations.voidsetAnnotationsStorageName(StorageName value)Sets the storage item containing the annotations.voidsetComparison(AbstractComparison value)Sets the comparison view to use.voidsetForwardScreenshot(boolean value)Sets whether to forward a screenshot (if accepted).voidsetNonInteractive(boolean value)Sets whether to enable/disable interactiveness.voidsetPredictionsLabelSuffix(String value)Sets the report suffix that the predictions use for storing the label.voidsetPredictionsPrefix(String value)Sets the object prefix to use for the predictions.voidsetPredictionsStorageName(StorageName value)Sets the storage item containing the predictions.voidsetScreenshotQueue(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:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractInteractiveTransformerDialog
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin 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:
setNonInteractivein interfaceAutomatableInteraction- Parameters:
value- if true actor is not interactive, but automated
-
isNonInteractive
public boolean isNonInteractive()
Returns whether interactiveness is enabled/disabled.- Specified by:
isNonInteractivein interfaceAutomatableInteraction- Returns:
- true if actor is not interactive i.e., automated
-
nonInteractiveTipText
public String nonInteractiveTipText()
Returns the tip text for this property.- Specified by:
nonInteractiveTipTextin 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:
isUsingStoragein interfaceStorageUser- Returns:
- true if storage items are used
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin interfaceInputConsumer- Returns:
- the Class of objects that can be processed
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generatesin interfaceOutputProducer- Returns:
- the Class of the generated tokens
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanelin classAbstractInteractiveTransformerDialog
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanelin classAbstractInteractiveTransformerDialog- Returns:
- the panel
-
postCreateDialog
protected void postCreateDialog(BaseDialog dialog, BasePanel panel)
Hook method after the dialog got created.- Overrides:
postCreateDialogin 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:
doInteractin interfaceInteractiveActor- Overrides:
doInteractin classAbstractInteractiveTransformerDialog- Returns:
- null if successfully interacted, error message otherwise
-
-