Class AbstractMultiSpectrumFilter

  • 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<AbstractMultiSpectrumFilter>, adams.core.SizeOfHandler, Serializable, Comparable
    Direct Known Subclasses:
    AbstractFormatsBasedMultiSpectrumFilter, FilteredMultiSpectrumFilter, PickByIndex, PickByReportValue

    public abstract class AbstractMultiSpectrumFilter
    extends adams.core.option.AbstractOptionHandler
    implements Comparable, adams.core.CleanUpHandler, adams.core.ShallowCopySupporter<AbstractMultiSpectrumFilter>
    Abstract base class for multi-spectrum filters. Derived classes only have to override the processData() method. The reset() method can be used to reset an algorithms internal state, e.g., after setting options, which invalidate the previously generated data.
    Version:
    $Revision: 7774 $
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_DontUpdateID

        protected boolean m_DontUpdateID
        whether to suppress updating of ID.
    • Constructor Detail

      • AbstractMultiSpectrumFilter

        public AbstractMultiSpectrumFilter()
    • 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
      • setDontUpdateID

        public void setDontUpdateID​(boolean value)
        Sets whether ID update is suppressed.
        Parameters:
        value - true if to suppress
      • getDontUpdateID

        public boolean getDontUpdateID()
        Returns whether ID update is suppressed.
        Returns:
        true if suppressed
      • dontUpdateIDTipText

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

        public void reset()
        Resets the filter. Derived classes must call this method in set-methods of parameters to assure the invalidation of previously generated data.
        Overrides:
        reset in class adams.core.option.AbstractOptionHandler
      • cleanUp

        public void cleanUp()
        Cleans up data structures, frees up memory. Sets the input and generated data to null.
        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
      • filter

        public Spectrum filter​(MultiSpectrum data)
        Returns the filtered data.
        Parameters:
        data - the data to filter
        Returns:
        the filtered data
      • checkData

        protected void checkData​(MultiSpectrum data)
        The default implementation only checks whether there is any data set.
        Parameters:
        data - the data to filter
      • processData

        protected abstract Spectrum processData​(MultiSpectrum data)
        Performs the actual filtering.
        Parameters:
        data - the data to filter
        Returns:
        the filtered data, null if failed to generate output
      • 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 AbstractMultiSpectrumFilter shallowCopy​(boolean expand)
        Returns a shallow copy of itself, i.e., based on the commandline options.
        Specified by:
        shallowCopy in interface adams.core.ShallowCopySupporter<AbstractMultiSpectrumFilter>
        Parameters:
        expand - whether to expand variables to their current values
        Returns:
        the shallow copy
      • getFilters

        public static String[] getFilters()
        Returns a list with classnames of filters.
        Returns:
        the filter classnames
      • forName

        public static AbstractMultiSpectrumFilter forName​(String classname,
                                                          String[] options)
        Instantiates the filter with the given options.
        Parameters:
        classname - the classname of the filter to instantiate
        options - the options for the filter
        Returns:
        the instantiated filter or null if an error occurred
      • forCommandLine

        public static AbstractMultiSpectrumFilter forCommandLine​(String cmdline)
        Instantiates the filter from the given commandline (i.e., classname and optional options).
        Parameters:
        cmdline - the classname (and optional options) of the filter to instantiate
        Returns:
        the instantiated filter or null if an error occurred