Class AbstractSpectrumFeatureGenerator

  • 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.ShallowCopySupporter<AbstractSpectrumFeatureGenerator>, adams.core.SizeOfHandler, Serializable, Comparable
    Direct Known Subclasses:
    Amplitudes

    public abstract class AbstractSpectrumFeatureGenerator
    extends adams.core.option.AbstractOptionHandler
    implements Comparable, adams.core.CleanUpHandler, adams.core.ShallowCopySupporter<AbstractSpectrumFeatureGenerator>
    Abstract base class for Spectrum feature generation.
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean m_AddDatabaseID
      whether to add the database ID.
      protected boolean m_AddID
      whether to add the container ID.
      protected adams.data.featureconverter.AbstractFeatureConverter m_Converter
      the feature converter to use.
      protected adams.data.report.Field[] m_Fields
      fields to add to the output data.
      protected adams.core.base.BaseString[] m_Notes
      the notes to add as attributes.
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      String addDatabaseIDTipText()
      Returns the tip text for this property.
      String addIDTipText()
      Returns the tip text for this property.
      protected void checkData​(Spectrum spectrum)
      Optional checks of the spectrum.
      void cleanUp()
      Cleans up data structures, frees up memory.
      int compareTo​(Object o)
      Compares this object with the specified object for order.
      String converterTipText()
      Returns the tip text for this property.
      abstract adams.data.featureconverter.HeaderDefinition createHeader​(Spectrum spectrum)
      Creates the header from a template spectrum.
      void defineOptions()
      Adds options to the internal list of options.
      void destroy()
      Frees up memory in a "destructive" non-reversible way.
      boolean equals​(Object o)
      Returns whether the two objects are the same.
      String fieldsTipText()
      Returns the tip text for this property.
      Object[] generate​(Spectrum spectrum)
      Process the given spectrum.
      abstract List<Object>[] generateRows​(Spectrum spectrum)
      Performs the actual feature genration.
      boolean getAddDatabaseID()
      Returns whether to add the database ID.
      boolean getAddID()
      Returns whether to add the ID.
      adams.data.featureconverter.AbstractFeatureConverter getConverter()
      Returns the feature converter in use.
      Class getDatasetFormat()
      Returns the class of the dataset that the converter generates.
      adams.data.report.Field[] getFields()
      Returns the targets to add.
      adams.core.base.BaseString[] getNotes()
      Returns the current notes to add as attributes.
      Class getRowFormat()
      Returns the class of the row that the converter generates.
      String notesTipText()
      Returns the tip text for this property.
      adams.data.featureconverter.HeaderDefinition postProcessHeader​(adams.data.featureconverter.HeaderDefinition header)
      Post-processes the header, adding fields and notes.
      List<Object> postProcessRow​(Spectrum spectrum, List<Object> data)
      Post-processes the generated row, adding notes and fields.
      List<Object>[] postProcessRows​(Spectrum spectrum, List<Object>[] data)
      Post-processes the generated rows, adding notes and fields.
      protected void reset()
      Resets the scheme, i.e., the header information.
      void setAddDatabaseID​(boolean value)
      Sets whether to add the database ID.
      void setAddID​(boolean value)
      Sets whether to add the ID.
      void setConverter​(adams.data.featureconverter.AbstractFeatureConverter value)
      Sets the feature converter to use.
      void setFields​(adams.data.report.Field[] value)
      Sets the targets to add.
      void setNotes​(adams.core.base.BaseString[] value)
      Sets the notes to add as attributes.
      AbstractSpectrumFeatureGenerator shallowCopy()
      Returns a shallow copy of itself, i.e., based on the commandline options.
      AbstractSpectrumFeatureGenerator shallowCopy​(boolean expand)
      Returns a shallow copy of itself, i.e., based on the commandline options.
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, 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
    • Field Detail

      • m_Converter

        protected adams.data.featureconverter.AbstractFeatureConverter m_Converter
        the feature converter to use.
      • m_AddDatabaseID

        protected boolean m_AddDatabaseID
        whether to add the database ID.
      • m_AddID

        protected boolean m_AddID
        whether to add the container ID.
      • m_Fields

        protected adams.data.report.Field[] m_Fields
        fields to add to the output data.
      • m_Notes

        protected adams.core.base.BaseString[] m_Notes
        the notes to add as attributes.
    • Constructor Detail

      • AbstractSpectrumFeatureGenerator

        public AbstractSpectrumFeatureGenerator()
    • Method Detail

      • 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
      • reset

        protected void reset()
        Resets the scheme, i.e., the header information.
        Overrides:
        reset in class adams.core.option.AbstractOptionHandler
      • setConverter

        public void setConverter​(adams.data.featureconverter.AbstractFeatureConverter value)
        Sets the feature converter to use.
        Parameters:
        value - the converter
      • getConverter

        public adams.data.featureconverter.AbstractFeatureConverter getConverter()
        Returns the feature converter in use.
        Returns:
        the converter
      • converterTipText

        public String converterTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAddDatabaseID

        public void setAddDatabaseID​(boolean value)
        Sets whether to add the database ID.
        Parameters:
        value - true if to add database ID
      • getAddDatabaseID

        public boolean getAddDatabaseID()
        Returns whether to add the database ID.
        Returns:
        true if to add database ID
      • addDatabaseIDTipText

        public String addDatabaseIDTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAddID

        public void setAddID​(boolean value)
        Sets whether to add the ID.
        Parameters:
        value - true if to add ID
      • getAddID

        public boolean getAddID()
        Returns whether to add the ID.
        Returns:
        true if to add ID
      • addIDTipText

        public String addIDTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setFields

        public void setFields​(adams.data.report.Field[] value)
        Sets the targets to add.
        Parameters:
        value - the targets
      • getFields

        public adams.data.report.Field[] getFields()
        Returns the targets to add.
        Returns:
        the targets
      • fieldsTipText

        public String fieldsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNotes

        public void setNotes​(adams.core.base.BaseString[] value)
        Sets the notes to add as attributes.
        Parameters:
        value - the notes prefixes, e.g., "PROCESS INFORMATION"
      • getNotes

        public adams.core.base.BaseString[] getNotes()
        Returns the current notes to add as attributes.
        Returns:
        the notes prefixes, e.g., "PROCESS INFORMATION"
      • notesTipText

        public String notesTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • getDatasetFormat

        public Class getDatasetFormat()
        Returns the class of the dataset that the converter generates.
        Returns:
        the format
      • getRowFormat

        public Class getRowFormat()
        Returns the class of the row that the converter generates.
        Returns:
        the format
      • checkData

        protected void checkData​(Spectrum spectrum)
        Optional checks of the spectrum.

        Default implementation only checks whether spectrum is null.
        Parameters:
        spectrum - the spectrum to check
      • createHeader

        public abstract adams.data.featureconverter.HeaderDefinition createHeader​(Spectrum spectrum)
        Creates the header from a template spectrum.
        Parameters:
        spectrum - the spectrum to act as a template
        Returns:
        the generated header
      • postProcessHeader

        public adams.data.featureconverter.HeaderDefinition postProcessHeader​(adams.data.featureconverter.HeaderDefinition header)
        Post-processes the header, adding fields and notes.
        Parameters:
        header - the header to process
        Returns:
        the post-processed header
      • generateRows

        public abstract List<Object>[] generateRows​(Spectrum spectrum)
        Performs the actual feature genration.
        Parameters:
        spectrum - the spectrum to process
        Returns:
        the generated features
      • postProcessRow

        public List<Object> postProcessRow​(Spectrum spectrum,
                                           List<Object> data)
        Post-processes the generated row, adding notes and fields.
        Parameters:
        spectrum - the spectrum
        data - the data to process
        Returns:
        the updated instance
      • postProcessRows

        public List<Object>[] postProcessRows​(Spectrum spectrum,
                                              List<Object>[] data)
        Post-processes the generated rows, adding notes and fields.
        Parameters:
        spectrum - the spectrum container
        data - the data to process
        Returns:
        the updated instance
      • generate

        public Object[] generate​(Spectrum spectrum)
        Process the given spectrum. This method will also create the header if necessary.
        Parameters:
        spectrum - the spectrum to process
        Returns:
        the generated array
      • compareTo

        public int compareTo​(Object o)
        Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

        Only compares the commandlines of the two objects.
        Specified by:
        compareTo in interface Comparable
        Parameters:
        o - the object to be compared.
        Returns:
        a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
        Throws:
        ClassCastException - if the specified object's type prevents it from being compared to this object.
      • equals

        public boolean equals​(Object o)
        Returns whether the two objects are the same.

        Only compares the commandlines of the two objects.
        Overrides:
        equals in class Object
        Parameters:
        o - the object to be compared
        Returns:
        true if the object is the same as this one
      • shallowCopy

        public AbstractSpectrumFeatureGenerator shallowCopy​(boolean expand)
        Returns a shallow copy of itself, i.e., based on the commandline options.
        Specified by:
        shallowCopy in interface adams.core.ShallowCopySupporter<AbstractSpectrumFeatureGenerator>
        Parameters:
        expand - whether to expand variables to their current values
        Returns:
        the shallow copy
      • cleanUp

        public void cleanUp()
        Cleans up data structures, frees up memory.
        Specified by:
        cleanUp in interface adams.core.CleanUpHandler
      • destroy

        public void destroy()
        Frees up memory in a "destructive" non-reversible way.

        Calls cleanUp() and cleans up the options.
        Specified by:
        destroy in interface adams.core.Destroyable
        Overrides:
        destroy in class adams.core.option.AbstractOptionHandler