Package adams.data.spectrumoutlier
Class Oscillation
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.outlier.AbstractOutlierDetector<Spectrum>
-
- adams.data.spectrumoutlier.Oscillation
-
- All Implemented Interfaces:
adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.data.outlier.OutlierDetector>
,adams.core.SizeOfHandler
,adams.data.outlier.OutlierDetector<Spectrum>
,Serializable
,Comparable
public class Oscillation extends adams.data.outlier.AbstractOutlierDetector<Spectrum>
Detects spectra that have an oscillating signal.
Computes the correlation coefficient between original spectrum and a LOWESS-smoothed one, using the defined wave number range.
If the correlation coefficient falls below the specified threshold, it is considered an outlier.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-min-wave-number <double> (property: minWaveNumber) The smallest wave number to include in the detection; use -1 for unlimited. default: -1.0 minimum: -1.0
-max-wave-number <double> (property: maxWaveNumber) The largest wave number to include in the detection; use -1 for unlimited. default: -1.0 minimum: -1.0
-window-size <int> (property: windowSize) The window size to use. default: 100 minimum: 1
-threshold <double> (property: threshold) The threshold to use for the correlation coefficient. default: 0.9 minimum: 0.0 maximum: 1.0
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected double
m_MaxWaveNumber
the maximum wave number.protected double
m_MinWaveNumber
the minimum wave number.protected double
m_Threshold
the threshold for the the correlation coefficient.protected int
m_WindowSize
the LOWESS window size.
-
Constructor Summary
Constructors Constructor Description Oscillation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.double
getMaxWaveNumber()
Returns the maximum wave number to include in the output.double
getMinWaveNumber()
Returns the minimum wave number to include in the detection.String
getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.double
getThreshold()
Returns the threshold for the correlation coefficient.int
getWindowSize()
Returns the polynominal order.String
globalInfo()
Returns a string describing the object.String
maxWaveNumberTipText()
Returns the tip text for this property.String
minWaveNumberTipText()
Returns the tip text for this property.protected List<String>
processData(Spectrum data)
Performs the actual detection.void
setMaxWaveNumber(double value)
Sets the maximum wave number to include in the output.void
setMinWaveNumber(double value)
Sets the minimum wave number to include in the detection.void
setThreshold(double value)
Sets the threshold for the correlation coefficient.void
setWindowSize(int value)
Sets the polynomial order.String
thresholdTipText()
Returns the tip text for this property.String
windowSizeTipText()
Returns the tip text for this property.-
Methods inherited from class adams.data.outlier.AbstractOutlierDetector
checkData, cleanUp, compareTo, destroy, detect, equals, forCommandLine, forName, getOutlierDetectors, reset, 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
-
-
-
-
Field Detail
-
m_MinWaveNumber
protected double m_MinWaveNumber
the minimum wave number.
-
m_MaxWaveNumber
protected double m_MaxWaveNumber
the maximum wave number.
-
m_WindowSize
protected int m_WindowSize
the LOWESS window size.
-
m_Threshold
protected double m_Threshold
the threshold for the the correlation coefficient.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.core.option.AbstractOptionHandler
-
setMinWaveNumber
public void setMinWaveNumber(double value)
Sets the minimum wave number to include in the detection.- Parameters:
value
- the minimum
-
getMinWaveNumber
public double getMinWaveNumber()
Returns the minimum wave number to include in the detection.- Returns:
- the minimum
-
minWaveNumberTipText
public String minWaveNumberTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setMaxWaveNumber
public void setMaxWaveNumber(double value)
Sets the maximum wave number to include in the output.- Parameters:
value
- the maximum
-
getMaxWaveNumber
public double getMaxWaveNumber()
Returns the maximum wave number to include in the output.- Returns:
- the maximum
-
maxWaveNumberTipText
public String maxWaveNumberTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setWindowSize
public void setWindowSize(int value)
Sets the polynomial order.- Parameters:
value
- the order
-
getWindowSize
public int getWindowSize()
Returns the polynominal order.- Returns:
- the order
-
windowSizeTipText
public String windowSizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setThreshold
public void setThreshold(double value)
Sets the threshold for the correlation coefficient.- Parameters:
value
- the threshold
-
getThreshold
public double getThreshold()
Returns the threshold for the correlation coefficient.- Returns:
- the threshold
-
thresholdTipText
public String thresholdTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.data.outlier.AbstractOutlierDetector<Spectrum>
- Returns:
- null if no info available, otherwise short string
-
-