Class 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from class adams.data.outlier.AbstractOutlierDetector

        adams.data.outlier.AbstractOutlierDetector.DetectorJob<T extends adams.data.container.DataContainer>
    • 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.
      • 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
      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
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
      • Methods inherited from interface adams.core.option.OptionHandler

        cleanUpOptions, getOptionManager, toCommandLine
    • 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.
    • Constructor Detail

      • Oscillation

        public Oscillation()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.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 interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.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 interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class adams.data.outlier.AbstractOutlierDetector<Spectrum>
        Returns:
        null if no info available, otherwise short string
      • processData

        protected List<String> processData​(Spectrum data)
        Performs the actual detection.
        Specified by:
        processData in class adams.data.outlier.AbstractOutlierDetector<Spectrum>
        Parameters:
        data - the data to process
        Returns:
        the detections