Package adams.data.spectrumfilter
Class MultiFilter
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.filter.AbstractFilter<T>
-
- adams.data.filter.AbstractDatabaseConnectionFilter<T>
-
- adams.data.filter.MultiFilter<Spectrum>
-
- adams.data.spectrumfilter.MultiFilter
-
- 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<adams.data.filter.Filter>,adams.core.SizeOfHandler,adams.data.filter.Filter<Spectrum>,adams.db.DatabaseConnectionHandler,adams.db.DatabaseConnectionProvider,adams.db.DatabaseConnectionUser,Serializable,Comparable
public class MultiFilter extends adams.data.filter.MultiFilter<Spectrum>
A meta-filter that runs multiple filters over the data.
The filter can be executed in two ways:
1. in series (the default):
Each filter runs on the data the previous filter generated.
2. in parallel:
Each filter is run on the original input data and the generated
outputs are merged into a single spectrum again. Already existing
wave numbers don't get overwritten.
Valid options are:
-D (property: debug) If set to true, scheme may output additional info to the console.
-filter <adams.data.filter.AbstractFilter [options]> [-filter ...] (property: subFilters) The array of filters to use.
-parallel (property: parallelAndMerge) If set to true, each of the filters will run on the original input data and the results merged into a single spectrum again; otherwise the filters will be applied subsequently, each using the output of the previous one as input.
- Version:
- $Revision: 2242 $
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_ParallelAndMergewhether to execute the filters in parallel and merge the outputs or run them in series.
-
Constructor Summary
Constructors Constructor Description MultiFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddefineOptions()Adds options to the internal list of options.booleangetParallelAndMerge()Returns whether the filters are executed in parallel or series.StringglobalInfo()Returns a string describing the object.StringparallelAndMergeTipText()Returns the tip text for this property.protected SpectrumprocessData(Spectrum data)Performs the actual filtering.protected SpectrumprocessDataParallel(Spectrum data)Performs the actual filtering - parallel application of filters and merging of results.voidsetParallelAndMerge(boolean value)Sets whether filters are executed in series or parallel.-
Methods inherited from class adams.data.filter.MultiFilter
getDefaultDatabaseConnection, getSubFilters, setSubFilters, subFiltersTipText, updateDatabaseConnection
-
Methods inherited from class adams.data.filter.AbstractDatabaseConnectionFilter
getDatabaseConnection, initialize, setDatabaseConnection
-
Methods inherited from class adams.data.filter.AbstractFilter
checkData, cleanUp, compareTo, destroy, dontUpdateIDTipText, equals, filter, forCommandLine, getDontUpdateID, reset, setDontUpdateID, shallowCopy, shallowCopy
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Overrides:
globalInfoin classadams.data.filter.MultiFilter<Spectrum>- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.data.filter.MultiFilter<Spectrum>
-
setParallelAndMerge
public void setParallelAndMerge(boolean value)
Sets whether filters are executed in series or parallel.- Parameters:
value- true if filters are to be executed in parallel
-
getParallelAndMerge
public boolean getParallelAndMerge()
Returns whether the filters are executed in parallel or series.- Returns:
- true if executed in parallel
-
parallelAndMergeTipText
public String parallelAndMergeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
processDataParallel
protected Spectrum processDataParallel(Spectrum data)
Performs the actual filtering - parallel application of filters and merging of results.- Parameters:
data- the data to process- Returns:
- the merged dta
-
-