Package adams.data.image.transformer
Class LaplaceOfGaussian
-
- All Implemented Interfaces:
CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,ImageTransformer<BufferedImageContainer>
,FlowContextHandler
,Serializable
,Comparable
public class LaplaceOfGaussian extends AbstractBufferedImageTransformer
Applies the Laplacian of Gaussian (LoG) to the image, using the following formula
(x^2 + y^2 - 2*sigma^2) / sigma^4 * exp(-(x^2 +y^2) / (2*sigma^2)
For more information on LoG, see:
http://fourier.eng.hmc.edu/e161/lectures/gradient/node8.html
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-size <int> (property: size) The size of the matrix (rows and columns); must be a positive, odd number. default: 5 minimum: 1
-sigma <double> (property: sigma) The sigma value. default: 1.0 minimum: 0.0
- 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_Matrix
the current matrix.protected double
m_Sigma
the sigma value of the gaussian.protected int
m_Size
the size of the matrix.-
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 LaplaceOfGaussian()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double[][]
calcMatrix()
Calculates the matrix.void
defineOptions()
Adds options to the internal list of options.protected BufferedImageContainer[]
doTransform(BufferedImageContainer img)
Performs the actual transforming of the image.double
getSigma()
Returns the sigma value.int
getSize()
Returns the size of the matrix (n x n).String
globalInfo()
Returns a string describing the object.protected void
reset()
Resets the scheme.void
setSigma(double value)
Sets the sigma value.void
setSize(int value)
Sets the size of the matrix (n x n).String
sigmaTipText()
Returns the tip text for this property.String
sizeTipText()
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, getQuickInfo, initialize, setFlowContext, shallowCopy, shallowCopy, transform
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, 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
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classAbstractOptionHandler
-
setSize
public void setSize(int value)
Sets the size of the matrix (n x n).- Parameters:
value
- the size
-
getSize
public int getSize()
Returns the size of the matrix (n x n).- Returns:
- the size
-
sizeTipText
public String sizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
setSigma
public void setSigma(double value)
Sets the sigma value.- Parameters:
value
- the sigma
-
getSigma
public double getSigma()
Returns the sigma value.- Returns:
- the sigma
-
sigmaTipText
public String sigmaTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
calcMatrix
protected double[][] calcMatrix()
Calculates the matrix.- Returns:
- the matrix
-
doTransform
protected BufferedImageContainer[] doTransform(BufferedImageContainer img)
Performs the actual transforming of the image.- Specified by:
doTransform
in classAbstractImageTransformer<BufferedImageContainer>
- Parameters:
img
- the image to transform (can be modified, since it is a copy)- Returns:
- the generated image(s)
-
-