Package adams.data.multifilter
Class AbstractMultiSpectrumFilter
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.multifilter.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 theprocessData()method. Thereset()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 Summary
Fields Modifier and Type Field Description protected booleanm_DontUpdateIDwhether to suppress updating of ID.
-
Constructor Summary
Constructors Constructor Description AbstractMultiSpectrumFilter()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcheckData(MultiSpectrum data)The default implementation only checks whether there is any data set.voidcleanUp()Cleans up data structures, frees up memory.intcompareTo(Object o)Compares this object with the specified object for order.voiddefineOptions()Adds options to the internal list of options.voiddestroy()Frees up memory in a "destructive" non-reversible way.StringdontUpdateIDTipText()Returns the tip text for this property.booleanequals(Object o)Returns whether the two objects are the same.Spectrumfilter(MultiSpectrum data)Returns the filtered data.static AbstractMultiSpectrumFilterforCommandLine(String cmdline)Instantiates the filter from the given commandline (i.e., classname and optional options).static AbstractMultiSpectrumFilterforName(String classname, String[] options)Instantiates the filter with the given options.booleangetDontUpdateID()Returns whether ID update is suppressed.static String[]getFilters()Returns a list with classnames of filters.protected abstract SpectrumprocessData(MultiSpectrum data)Performs the actual filtering.voidreset()Resets the filter.voidsetDontUpdateID(boolean value)Sets whether ID update is suppressed.AbstractMultiSpectrumFiltershallowCopy()Returns a shallow copy of itself, i.e., based on the commandline options.AbstractMultiSpectrumFiltershallowCopy(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
-
-
-
-
Method Detail
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.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:
resetin classadams.core.option.AbstractOptionHandler
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory. Sets the input and generated data to null.- Specified by:
cleanUpin interfaceadams.core.CleanUpHandler
-
destroy
public void destroy()
Frees up memory in a "destructive" non-reversible way.
Calls cleanUp() and cleans up the options.- Specified by:
destroyin interfaceadams.core.Destroyable- Overrides:
destroyin classadams.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:
compareToin interfaceComparable- 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.
-
shallowCopy
public AbstractMultiSpectrumFilter shallowCopy()
Returns a shallow copy of itself, i.e., based on the commandline options.- Specified by:
shallowCopyin interfaceadams.core.ShallowCopySupporter<AbstractMultiSpectrumFilter>- Returns:
- the shallow copy
-
shallowCopy
public AbstractMultiSpectrumFilter shallowCopy(boolean expand)
Returns a shallow copy of itself, i.e., based on the commandline options.- Specified by:
shallowCopyin interfaceadams.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 instantiateoptions- 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
-
-