adams.data.jai.transformer
Class GaussianBlur

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.data.image.AbstractImageTransformer<BufferedImageContainer>
              extended by adams.data.jai.transformer.AbstractJAITransformer
                  extended by adams.data.jai.transformer.GaussianBlur
All Implemented Interfaces:
CleanUpHandler, Debuggable, Destroyable, OptionHandler, SizeOfHandler, Serializable, Comparable

public class GaussianBlur
extends AbstractJAITransformer

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: 4753 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  double m_Radius
          the radius to use.
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
GaussianBlur()
           
 
Method Summary
protected  int clamp(int c)
          Clamp a value to the range 0..255
protected  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.jai.transformer.AbstractJAITransformer
forCommandLine, forName, getTransformations
 
Methods inherited from class adams.data.image.AbstractImageTransformer
checkImage, cleanUp, compareTo, destroy, equals, shallowCopy, shallowCopy, transform
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, initialize, isDebugOn, newOptionManager, reset, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut, sizeOf
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_Radius

protected double m_Radius
the radius to use.

Constructor Detail

GaussianBlur

public GaussianBlur()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
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 interface OptionHandler
Overrides:
defineOptions in class AbstractOptionHandler

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 apply
inPixels - the incoming pixels
outPixels - the generated pixels
width - the width of the image
height - 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 class AbstractImageTransformer<BufferedImageContainer>
Parameters:
img - the image to process (can be modified, since it is a copy)
Returns:
the copy of the image


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.