Package adams.data.image.transformer
Class GaussianBlur
-
- All Implemented Interfaces:
CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,SizeOfHandler,ImageTransformer<BufferedImageContainer>,FlowContextHandler,Serializable,Comparable
public class GaussianBlur extends AbstractBufferedImageTransformer
Performs a gaussian blur.
Original code taken from here:
http://www.jhlabs.com/ip/blurring.html
Valid options are:
-D <int> (property: debugLevel) The greater the number the more additional info the scheme may output to the console (0 = off). default: 0 minimum: 0
-radius <double> (property: radius) The blur radius. default: 2.0 minimum: 1.0E-4
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected doublem_Radiusthe radius to use.-
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 GaussianBlur()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intclamp(int c)Clamp a value to the range 0..255protected voidconvolveAndTranspose(Kernel kernel, int[] inPixels, int[] outPixels, int width, int height)Applies the kernel.voiddefineOptions()Adds options to the internal list of options.protected BufferedImageContainer[]doTransform(BufferedImageContainer img)Performs no transformation at all, just returns the input.doublegetRadius()Returns the blur radius.StringglobalInfo()Returns a string describing the object.protected KernelmakeKernel(float radius)Make a Gaussian blur kernel.StringradiusTipText()Returns the tip text for this property.voidsetRadius(double value)Sets the blur radius.-
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, getQuickInfo, 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
-
-
-
-
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
-
setRadius
public void setRadius(double value)
Sets the blur radius.- Parameters:
value- the radius
-
getRadius
public double getRadius()
Returns the blur radius.- Returns:
- the radius
-
radiusTipText
public String radiusTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
clamp
protected int clamp(int c)
Clamp a value to the range 0..255- Parameters:
c- the value to clamp- Returns:
- the clamped value
-
convolveAndTranspose
protected void convolveAndTranspose(Kernel kernel, int[] inPixels, int[] outPixels, int width, int height)
Applies the kernel.- Parameters:
kernel- the kernel to applyinPixels- the incoming pixelsoutPixels- the generated pixelswidth- the width of the imageheight- the height of the image
-
makeKernel
protected Kernel makeKernel(float radius)
Make a Gaussian blur kernel.- Parameters:
radius- the radius of the kernel
-
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
-
-