Package adams.flow.sink
Class ImageSegmentationViewer
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ClearableDisplay
,DisplayTypeSupporter
,ErrorHandler
,InputConsumer
,ComponentSupplier
,DisplayPanelProvider
,MenuBarProvider
,SendToActionSupporter
,Serializable
,Comparable
public class ImageSegmentationViewer extends AbstractGraphicalDisplay implements DisplayPanelProvider
Displays image segmentation containers.
Input/output:
- accepts:
adams.flow.container.ImageSegmentationContainer
Container information:
- adams.flow.container.ImageSegmentationContainer: name, base, layers
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING min-user-mode: Expert
-name <java.lang.String> (property: name) The name of the actor. default: ImageSegmentationViewer
-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 min-user-mode: Expert
-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 min-user-mode: Expert
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-type <adams.flow.core.displaytype.AbstractDisplayType> (property: displayType) Determines how to show the display, eg as standalone frame (default) or in the Flow editor window. default: adams.flow.core.displaytype.Default
-width <int> (property: width) The width of the dialog. default: 1200 minimum: -1
-height <int> (property: height) The height of the dialog. default: 800 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
-writer <adams.gui.print.JComponentWriter> (property: writer) The writer to use for generating the graphics output. default: adams.gui.print.NullWriter
-label <adams.core.base.BaseString> [-label ...] (property: labels) The labels to use. default:
-color-provider <adams.gui.visualization.core.ColorProvider> (property: colorProvider) The color provider in use for generating the colors for the various layers. default: adams.gui.visualization.core.DefaultColorProvider
-alpha <float> (property: alpha) The alpha value to use (fully transparent=0.0, fully opaque=1.0). default: 0.5 minimum: 0.0 maximum: 1.0
-left-divider-location <int> (property: leftDividerLocation) The position for the left divider in pixels. default: 280 minimum: 1
-zoom <double> (property: zoom) The zoom level in percent. default: 100.0 minimum: 1.0
-best-fit <boolean> (property: bestFit) If enabled, the image gets fitted into the viewport. default: false
-use-separate-layers <boolean> (property: useSeparateLayers) If enabled, support for multiple layers is enabled (eg for annotating objects that do not touch/overlap). default: true
-layer-visibility <ALL|NONE|PREVIOUSLY_VISIBLE> (property: layerVisibility) What layers will be visible when annotating the next image (when using separate layers). default: ALL
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImageSegmentationViewer.ImageSegmentationViewerDisplayPanel
CustomDisplayPanel
.
-
Field Summary
Fields Modifier and Type Field Description protected float
m_Alpha
the alpha value.protected boolean
m_BestFit
whether to use best fit.protected ColorProvider
m_ColorProvider
the color provider to use.protected BaseString[]
m_Labels
the labels to use.protected SegmentationPanel.LayerVisibility
m_LayerVisibility
what layers to have visible (when using separate layers).protected int
m_LeftDividerLocation
the position for the left divider.protected SegmentationPanel
m_PanelSegmentation
the panel.protected boolean
m_UseSeparateLayers
whether to use separate layers.protected double
m_Zoom
the zoom level.-
Fields inherited from class adams.flow.sink.AbstractGraphicalDisplay
m_GraphicFileChooser, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs, m_MenuItemFileSaveTextAs, m_MenuItemFlowPauseResume, m_MenuItemFlowStop, m_ShowFlowControlSubMenu, m_TextFileChooser, m_Writer
-
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_DisplayType, m_Frame, m_Height, m_InputToken, m_KeepOpen, m_Panel, m_ShortTitle, m_Updating, m_Width, m_X, m_Y
-
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
-
-
Constructor Summary
Constructors Constructor Description ImageSegmentationViewer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
alphaTipText()
Returns the tip text for this property.String
bestFitTipText()
Returns the tip text for this property.void
clearPanel()
Clears the content of the panel.String
colorProviderTipText()
Returns the tip text for this property.DisplayPanel
createDisplayPanel(Token token)
Creates a new panel for the token.void
defineOptions()
Adds options to the internal list of options.protected void
display(Token token)
Displays the token (the panel and dialog have already been created at this stage).boolean
displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.float
getAlpha()
Returns the alpha value to use.boolean
getBestFit()
Returns whether to use best fit for the image or not.ColorProvider
getColorProvider()
Returns the color provider in use.protected int
getDefaultHeight()
Returns the default height for the dialog.protected int
getDefaultWidth()
Returns the default width for the dialog.BaseString[]
getLabels()
Returns the labels to use.SegmentationPanel.LayerVisibility
getLayerVisibility()
Returns the type of visibility to use when annotating the next image (when using separate layers).int
getLeftDividerLocation()
Returns the position for the left divider in pixels.boolean
getUseSeparateLayers()
Returns whether to use separate layers or just one.double
getZoom()
Returns the zoom level in percent.String
globalInfo()
Returns a string describing the object.String
labelsTipText()
Returns the tip text for this property.String
layerVisibilityTipText()
Returns the tip text for this property.String
leftDividerLocationTipText()
Returns the tip text for this property.protected BasePanel
newPanel()
Creates the panel to display in the dialog.void
setAlpha(float value)
Sets the alpha value to use.void
setBestFit(boolean value)
Sets whether to use best fit for the image or not.void
setColorProvider(ColorProvider value)
Sets the color provider to use.void
setLabels(BaseString[] value)
Sets the labels to use.void
setLayerVisibility(SegmentationPanel.LayerVisibility value)
Sets the type of visibility to use when annotating the next image (when using separate layers).void
setLeftDividerLocation(int value)
Sets the position for the left divider in pixels.void
setUseSeparateLayers(boolean value)
Sets whether to use separate layers or just one.void
setZoom(double value)
Sets the zoom level in percent (1-inf).boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.String
useSeparateLayersTipText()
Returns the tip text for this property.String
zoomTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractGraphicalDisplay
canPauseOrResume, cleanUpGUI, clear, close, createMenuBar, getGraphicFileChooser, getMenuBar, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getTextFileChooser, getWriter, hasPanel, hasSendToItem, isPaused, pauseResumeFlow, saveAs, saveTextAs, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, supplyComponent, updateMenu, wrapUp, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay, preDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUp, cleanUpGUIKeepOpen, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, getCreateFrame, getDefaultDisplayType, getDefaultShortTitle, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getQuickInfo, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, initialize, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, reset, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, widthTipText, xTipText, yTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, configureLogger, destroy, equals, execute, 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, postExecute, 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
cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getQuickInfo, 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, stopExecution, toCommandLine, variableChanged, wrapUp
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.flow.core.InputConsumer
currentInput, hasInput, input
-
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_Labels
protected BaseString[] m_Labels
the labels to use.
-
m_ColorProvider
protected ColorProvider m_ColorProvider
the color provider to use.
-
m_Alpha
protected float m_Alpha
the alpha value.
-
m_LeftDividerLocation
protected int m_LeftDividerLocation
the position for the left divider.
-
m_Zoom
protected double m_Zoom
the zoom level.
-
m_BestFit
protected boolean m_BestFit
whether to use best fit.
-
m_UseSeparateLayers
protected boolean m_UseSeparateLayers
whether to use separate layers.
-
m_LayerVisibility
protected SegmentationPanel.LayerVisibility m_LayerVisibility
what layers to have visible (when using separate layers).
-
m_PanelSegmentation
protected SegmentationPanel m_PanelSegmentation
the panel.
-
-
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 classAbstractGraphicalDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidth
in classAbstractDisplay
- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeight
in classAbstractDisplay
- Returns:
- the default height
-
setLabels
public void setLabels(BaseString[] value)
Sets the labels to use.- Parameters:
value
- the labels
-
getLabels
public BaseString[] getLabels()
Returns the labels to use.- 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.
-
setColorProvider
public void setColorProvider(ColorProvider value)
Sets the color provider to use.- Parameters:
value
- the color provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider in use.- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAlpha
public void setAlpha(float value)
Sets the alpha value to use.- Parameters:
value
- the alpha (fully transparent=0.0, fully opaque=1.0)
-
getAlpha
public float getAlpha()
Returns the alpha value to use.- Returns:
- the alpha (fully transparent=0.0, fully opaque=1.0)
-
alphaTipText
public String alphaTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLeftDividerLocation
public void setLeftDividerLocation(int value)
Sets the position for the left divider in pixels.- Parameters:
value
- the position
-
getLeftDividerLocation
public int getLeftDividerLocation()
Returns the position for the left divider in pixels.- Returns:
- the position
-
leftDividerLocationTipText
public String leftDividerLocationTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setZoom
public void setZoom(double value)
Sets the zoom level in percent (1-inf).- Parameters:
value
- the zoom
-
getZoom
public double getZoom()
Returns the zoom level in percent.- Returns:
- the zoom
-
zoomTipText
public String zoomTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBestFit
public void setBestFit(boolean value)
Sets whether to use best fit for the image or not.- Parameters:
value
- true if to use
-
getBestFit
public boolean getBestFit()
Returns whether to use best fit for the image or not.- Returns:
- true if to use
-
bestFitTipText
public String bestFitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUseSeparateLayers
public void setUseSeparateLayers(boolean value)
Sets whether to use separate layers or just one.- Parameters:
value
- true if to use
-
getUseSeparateLayers
public boolean getUseSeparateLayers()
Returns whether to use separate layers or just one.- Returns:
- true if to use
-
useSeparateLayersTipText
public String useSeparateLayersTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLayerVisibility
public void setLayerVisibility(SegmentationPanel.LayerVisibility value)
Sets the type of visibility to use when annotating the next image (when using separate layers).- Parameters:
value
- the visibility
-
getLayerVisibility
public SegmentationPanel.LayerVisibility getLayerVisibility()
Returns the type of visibility to use when annotating the next image (when using separate layers).- Returns:
- the visibility
-
layerVisibilityTipText
public String layerVisibilityTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
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
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClear
in interfaceClearableDisplay
- Overrides:
supportsClear
in classAbstractGraphicalDisplay
- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classAbstractDisplay
- Returns:
- the panel
-
display
protected void display(Token token)
Displays the token (the panel and dialog have already been created at this stage).- Specified by:
display
in classAbstractDisplay
- Parameters:
token
- the token to display
-
createDisplayPanel
public DisplayPanel createDisplayPanel(Token token)
Creates a new panel for the token.- Specified by:
createDisplayPanel
in interfaceDisplayPanelProvider
- Parameters:
token
- the token to display in a new panel, can be null- Returns:
- the generated panel
-
displayPanelRequiresScrollPane
public boolean displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.- Specified by:
displayPanelRequiresScrollPane
in interfaceDisplayPanelProvider
- Returns:
- true if the display panel requires a scroll pane
-
-