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 classThresholdReplacement.ThresholdTypeHow to interpret the threshold.
-
Field Summary
Fields Modifier and Type Field Description protected Colorm_ReplacementColorthe replacement color.protected intm_Thresholdthe (grayscale) threshold to use.protected ThresholdReplacement.ThresholdTypem_Typewhether 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 voiddefineOptions()Adds options to the internal list of options.protected BufferedImageContainer[]doTransform(BufferedImageContainer img)Performs no transformation at all, just returns the input.StringgetQuickInfo()Returns a quick info about the object, which can be displayed in the GUI.ColorgetReplacementColor()Returns the replacement color.intgetThreshold()Returns the threshold.ThresholdReplacement.ThresholdTypegetType()Returns the type of removal.StringglobalInfo()Returns a string describing the object.StringreplacementColorTipText()Returns the tip text for this property.voidsetReplacementColor(Color value)Sets the replacement color.voidsetThreshold(int value)Sets the threshold.voidsetType(ThresholdReplacement.ThresholdType value)Sets the type of removal.StringthresholdTipText()Returns the tip text for this property.StringtypeTipText()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:
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 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:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin 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:
doTransformin classAbstractImageTransformer<BufferedImageContainer>- Parameters:
img- the image to process (can be modified, since it is a copy)- Returns:
- the copy of the image
-
-