Package adams.data.image.transformer
Class ThresholdReplacement
-
- All Implemented Interfaces:
CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,ImageTransformer<BufferedImageContainer>
,FlowContextHandler
,Serializable
,Comparable
public class ThresholdReplacement extends AbstractBufferedImageTransformer
Replaces pixels of the image that fall below or above (depending on configuration) a user defined threshold in the grayscale space with the supplied replacement color.
Can be replaced to remove dark or light splotches.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-threshold <int> (property: threshold) The threshold (in grayscale space) that determines whether pixel gets replaced. default: 128 minimum: 0 maximum: 255
-type <REMOVE_BELOW|REMOVE_ABOVE> (property: type) Defines how the threshold is interpreted. default: REMOVE_BELOW
-replacement-color <java.awt.Color> (property: replacementColor) The color to use as replacement. default: #ffffff
- Version:
- $Revision: 7706 $
- 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
ThresholdReplacement.ThresholdType
How to interpret the threshold.
-
Field Summary
Fields Modifier and Type Field Description protected Color
m_ReplacementColor
the replacement color.protected int
m_Threshold
the (grayscale) threshold to use.protected ThresholdReplacement.ThresholdType
m_Type
whether to remove below or above threshold.-
Fields inherited from class adams.data.image.AbstractImageTransformer
m_FlowContext
-
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 ThresholdReplacement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.protected BufferedImageContainer[]
doTransform(BufferedImageContainer img)
Performs no transformation at all, just returns the input.String
getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.Color
getReplacementColor()
Returns the replacement color.int
getThreshold()
Returns the threshold.ThresholdReplacement.ThresholdType
getType()
Returns the type of removal.String
globalInfo()
Returns a string describing the object.String
replacementColorTipText()
Returns the tip text for this property.void
setReplacementColor(Color value)
Sets the replacement color.void
setThreshold(int value)
Sets the threshold.void
setType(ThresholdReplacement.ThresholdType value)
Sets the type of removal.String
thresholdTipText()
Returns the tip text for this property.String
typeTipText()
Returns the tip text for this property.-
Methods inherited from class adams.data.image.transformer.AbstractBufferedImageTransformer
forCommandLine, forName, getTransformations
-
Methods inherited from class adams.data.image.AbstractImageTransformer
checkImage, cleanUp, compareTo, destroy, equals, getFlowContext, initialize, setFlowContext, shallowCopy, shallowCopy, transform
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
-
-
-
Field Detail
-
m_Threshold
protected int m_Threshold
the (grayscale) threshold to use.
-
m_Type
protected ThresholdReplacement.ThresholdType m_Type
whether to remove below or above threshold.
-
m_ReplacementColor
protected Color m_ReplacementColor
the replacement color.
-
-
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
-
setThreshold
public void setThreshold(int value)
Sets the threshold.- Parameters:
value
- the threshold
-
getThreshold
public int getThreshold()
Returns the threshold.- Returns:
- the threshold
-
thresholdTipText
public String thresholdTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
setType
public void setType(ThresholdReplacement.ThresholdType value)
Sets the type of removal.- Parameters:
value
- the type of removal
-
getType
public ThresholdReplacement.ThresholdType getType()
Returns the type of removal.- Returns:
- the type of removal
-
typeTipText
public String typeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
setReplacementColor
public void setReplacementColor(Color value)
Sets the replacement color.- Parameters:
value
- the color
-
getReplacementColor
public Color getReplacementColor()
Returns the replacement color.- Returns:
- the color
-
replacementColorTipText
public String replacementColorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractImageTransformer<BufferedImageContainer>
- Returns:
- null if no info available, otherwise short string
-
doTransform
protected BufferedImageContainer[] doTransform(BufferedImageContainer img)
Performs no transformation at all, just returns the input.- Specified by:
doTransform
in classAbstractImageTransformer<BufferedImageContainer>
- Parameters:
img
- the image to process (can be modified, since it is a copy)- Returns:
- the copy of the image
-
-