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 boolean
m_ParallelAndMerge
whether 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 void
defineOptions()
Adds options to the internal list of options.boolean
getParallelAndMerge()
Returns whether the filters are executed in parallel or series.String
globalInfo()
Returns a string describing the object.String
parallelAndMergeTipText()
Returns the tip text for this property.protected Spectrum
processData(Spectrum data)
Performs the actual filtering.protected Spectrum
processDataParallel(Spectrum data)
Performs the actual filtering - parallel application of filters and merging of results.void
setParallelAndMerge(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:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Overrides:
globalInfo
in 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:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in 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
-
-