Package adams.data.image.features
Class Entropy
-
- All Implemented Interfaces:
CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,ShallowCopySupporter<AbstractImageFeatureGenerator>,SizeOfHandler,Serializable,Comparable
public class Entropy extends AbstractBufferedImageFeatureGenerator
Calculates the Shannon entropy of an image.
Original code taken from here:
http://stackoverflow.com/a/22280200
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-converter <adams.data.featureconverter.AbstractFeatureConverter> (property: converter) The feature converter to use to produce the output data. default: adams.data.featureconverter.SpreadSheet -data-row-type adams.data.spreadsheet.DenseDataRow -spreadsheet-type adams.data.spreadsheet.SpreadSheet
-field <adams.data.report.Field> [-field ...] (property: fields) The fields to add to the output. default:
-notes <adams.core.base.BaseString> [-notes ...] (property: notes) The notes to add as attributes to the generated data, eg 'PROCESS INFORMATION' . default:
-step-size <int> (property: stepSize) The step size to use (ie every n-th column/row). default: 1 minimum: 1
- Version:
- $Revision: 9196 $
- Author:
- fracpete (fracpete at waikato dot ac dot nz), Dale (dale at cs dot waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected intm_StepSizethe step size to use (every n-th column/row).-
Fields inherited from class adams.data.image.AbstractImageFeatureGenerator
m_Converter, m_Fields, m_Notes, m_Prefix
-
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 Entropy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected doublecalculateShannonEntropy(BufferedImage img)Calculates the Shannon entropy.HeaderDefinitioncreateHeader(BufferedImageContainer img)Creates the header from a template image.voiddefineOptions()Adds options to the internal list of options.List<Object>[]generateRows(BufferedImageContainer img)Performs the actual feature generation.intgetStepSize()Returns the step size (every n-th column/row).StringglobalInfo()Returns a string describing the object.voidsetStepSize(int value)Sets the step size (every n-th column/row).StringstepSizeTipText()Returns the tip text for this property.-
Methods inherited from class adams.data.image.AbstractImageFeatureGenerator
checkData, cleanUp, compareTo, converterTipText, destroy, equals, fieldsTipText, generate, getConverter, getDatasetFormat, getFields, getNotes, getPrefix, getRowFormat, notesTipText, postProcessHeader, postProcessRow, postProcessRows, prefixTipText, reset, setConverter, setFields, setNotes, setPrefix, shallowCopy, shallowCopy
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, 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
-
-
-
-
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 classAbstractImageFeatureGenerator<BufferedImageContainer>
-
setStepSize
public void setStepSize(int value)
Sets the step size (every n-th column/row).- Parameters:
value- the step size
-
getStepSize
public int getStepSize()
Returns the step size (every n-th column/row).- Returns:
- the step size
-
stepSizeTipText
public String stepSizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
createHeader
public HeaderDefinition createHeader(BufferedImageContainer img)
Creates the header from a template image.- Specified by:
createHeaderin classAbstractImageFeatureGenerator<BufferedImageContainer>- Parameters:
img- the image to act as a template- Returns:
- the generated header
-
calculateShannonEntropy
protected double calculateShannonEntropy(BufferedImage img)
Calculates the Shannon entropy.- Parameters:
img- the image to calculate the entropy for- Returns:
- the entropy
-
generateRows
public List<Object>[] generateRows(BufferedImageContainer img)
Performs the actual feature generation.- Specified by:
generateRowsin classAbstractImageFeatureGenerator<BufferedImageContainer>- Parameters:
img- the image to process- Returns:
- the generated features
-
-