Package adams.flow.transformer
Class WekaNearestNeighborSearch
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.transformer.AbstractTransformer
-
- adams.flow.transformer.WekaNearestNeighborSearch
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.control.StorageUser
,adams.flow.core.Actor
,adams.flow.core.ErrorHandler
,adams.flow.core.InputConsumer
,adams.flow.core.OutputProducer
,adams.flow.core.VariableMonitor
,Serializable
,Comparable
public class WekaNearestNeighborSearch extends adams.flow.transformer.AbstractTransformer implements adams.flow.control.StorageUser, adams.flow.core.VariableMonitor
Outputs the specified number of nearest neighbors for the incoming Weka Instance.
The data used for the nearest neighbor search is either obtained from storage.
Input/output:
- accepts:
weka.core.Instance
- generates:
adams.flow.container.WekaNearestNeighborSearchContainer
Container information:
- adams.flow.container.WekaNearestNeighborSearchContainer: Instance, Neighborhood
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: WekaNearestNeighborSearch
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-search <weka.core.neighboursearch.NearestNeighbourSearch> (property: search) The search algorithm to use. default: weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"
-max-neighbors <int> (property: maxNeighbors) The maximum number of neighbors to find. default: 10 minimum: 1
-storage <adams.flow.control.StorageName> (property: storage) The storage item to obtain the data from. default: storage
-var-name <adams.core.VariableName> (property: variableName) The variable to monitor. default: variable
- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
BACKUP_SEARCH
the key for storing the current initialized state in the backup.protected weka.core.neighboursearch.NearestNeighbourSearch
m_ActualSearch
the actual neighboorhood search in use.protected int
m_MaxNeighbors
the maximum number of neighbors to return.protected weka.core.neighboursearch.NearestNeighbourSearch
m_Search
the neighboorhood search to use.protected adams.flow.control.StorageName
m_Storage
the storage item.protected adams.core.VariableName
m_VariableName
the variable to listen to.-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
-
Constructor Summary
Constructors Constructor Description WekaNearestNeighborSearch()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.protected Hashtable<String,Object>
backupState()
Backs up the current state of the actor before update the variables.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the flow item.Class[]
generates()
Returns the class of objects that it generates.int
getMaxNeighbors()
Returns the maximum number of neighbors to find.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.weka.core.neighboursearch.NearestNeighbourSearch
getSearch()
Returns the search algorithm.adams.flow.control.StorageName
getStorage()
Returns the data storage item.adams.core.VariableName
getVariableName()
Returns the name of the variable to monitor.String
globalInfo()
Returns a string describing the object.boolean
isUsingStorage()
Returns whether storage items are being used.String
maxNeighborsTipText()
Returns the tip text for this property.protected void
pruneBackup()
Removes entries from the backup.protected void
reset()
Resets the scheme.protected void
restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.String
searchTipText()
Returns the tip text for this property.void
setMaxNeighbors(int value)
Sets the maximum number of neighbors to find.void
setSearch(weka.core.neighboursearch.NearestNeighbourSearch value)
Sets the search algorithm.void
setStorage(adams.flow.control.StorageName value)
Sets the data storage item.void
setVariableName(adams.core.VariableName value)
Sets the name of the variable to monitor.String
storageTipText()
Returns the tip text for this property.void
variableChanged(adams.event.VariableChangeEvent e)
Gets triggered when a variable changed (added, modified, removed).String
variableNameTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.transformer.AbstractTransformer
currentInput, execute, hasInput, hasPendingOutput, input, output, postExecute, wrapUp
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, preExecute, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables
-
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
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine
-
-
-
-
Field Detail
-
BACKUP_SEARCH
public static final String BACKUP_SEARCH
the key for storing the current initialized state in the backup.- See Also:
- Constant Field Values
-
m_Search
protected weka.core.neighboursearch.NearestNeighbourSearch m_Search
the neighboorhood search to use.
-
m_ActualSearch
protected weka.core.neighboursearch.NearestNeighbourSearch m_ActualSearch
the actual neighboorhood search in use.
-
m_MaxNeighbors
protected int m_MaxNeighbors
the maximum number of neighbors to return.
-
m_Storage
protected adams.flow.control.StorageName m_Storage
the storage item.
-
m_VariableName
protected adams.core.VariableName m_VariableName
the variable to listen to.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- 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.flow.core.AbstractActor
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classadams.flow.core.AbstractActor
-
setSearch
public void setSearch(weka.core.neighboursearch.NearestNeighbourSearch value)
Sets the search algorithm.- Parameters:
value
- the algorithm
-
getSearch
public weka.core.neighboursearch.NearestNeighbourSearch getSearch()
Returns the search algorithm.- Returns:
- the algorithm
-
searchTipText
public String searchTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setMaxNeighbors
public void setMaxNeighbors(int value)
Sets the maximum number of neighbors to find.- Parameters:
value
- the maximum
-
getMaxNeighbors
public int getMaxNeighbors()
Returns the maximum number of neighbors to find.- Returns:
- the maximum
-
maxNeighborsTipText
public String maxNeighborsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStorage
public void setStorage(adams.flow.control.StorageName value)
Sets the data storage item.- Parameters:
value
- the storage item
-
getStorage
public adams.flow.control.StorageName getStorage()
Returns the data storage item.- Returns:
- the storage item
-
storageTipText
public String storageTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setVariableName
public void setVariableName(adams.core.VariableName value)
Sets the name of the variable to monitor.- Specified by:
setVariableName
in interfaceadams.flow.core.VariableMonitor
- Parameters:
value
- the name
-
getVariableName
public adams.core.VariableName getVariableName()
Returns the name of the variable to monitor.- Specified by:
getVariableName
in interfaceadams.flow.core.VariableMonitor
- Returns:
- the name
-
variableNameTipText
public String variableNameTipText()
Returns the tip text for this property.- Specified by:
variableNameTipText
in interfaceadams.flow.core.VariableMonitor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.flow.core.Actor
- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.flow.core.AbstractActor
- Returns:
- null if no info available, otherwise short string
-
pruneBackup
protected void pruneBackup()
Removes entries from the backup.- Overrides:
pruneBackup
in classadams.flow.core.AbstractActor
-
backupState
protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.- Overrides:
backupState
in classadams.flow.transformer.AbstractTransformer
- Returns:
- the backup
-
restoreState
protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.- Overrides:
restoreState
in classadams.flow.transformer.AbstractTransformer
- Parameters:
state
- the backup of the state to restore from
-
variableChanged
public void variableChanged(adams.event.VariableChangeEvent e)
Gets triggered when a variable changed (added, modified, removed).- Specified by:
variableChanged
in interfaceadams.flow.core.Actor
- Specified by:
variableChanged
in interfaceadams.event.VariableChangeListener
- Overrides:
variableChanged
in classadams.flow.core.AbstractActor
- Parameters:
e
- the event
-
isUsingStorage
public boolean isUsingStorage()
Returns whether storage items are being used.- Specified by:
isUsingStorage
in interfaceadams.flow.control.StorageUser
- Returns:
- true if storage items are used
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceadams.flow.core.InputConsumer
- Returns:
- the Class of objects that can be processed
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generates
in interfaceadams.flow.core.OutputProducer
- Returns:
- the Class of the generated tokens
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classadams.flow.core.AbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-