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 double
m_Radius
the 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 int
clamp(int c)
Clamp a value to the range 0..255protected void
convolveAndTranspose(Kernel kernel, int[] inPixels, int[] outPixels, int width, int height)
Applies the kernel.void
defineOptions()
Adds options to the internal list of options.protected BufferedImageContainer[]
doTransform(BufferedImageContainer img)
Performs no transformation at all, just returns the input.double
getRadius()
Returns the blur radius.String
globalInfo()
Returns a string describing the object.protected Kernel
makeKernel(float radius)
Make a Gaussian blur kernel.String
radiusTipText()
Returns the tip text for this property.void
setRadius(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:
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
-
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:
doTransform
in classAbstractImageTransformer<BufferedImageContainer>
- Parameters:
img
- the image to process (can be modified, since it is a copy)- Returns:
- the copy of the image
-
-