org.jactr.modules.pm.visual.scene
Class SceneChangeExtension

java.lang.Object
  extended by org.jactr.modules.pm.visual.scene.SceneChangeExtension
All Implemented Interfaces:
org.jactr.core.extensions.IExtension, org.jactr.core.utils.IInitializable, org.jactr.core.utils.IInstallable, org.jactr.core.utils.parameter.IParameterized

public class SceneChangeExtension
extends java.lang.Object
implements org.jactr.core.extensions.IExtension

Provides scene change detection functionality without touching the core distribution. This adds two new status slots to the visual module scene-change and scene-change-value. scene-change-value is a proportion of objects that have changed in the visual scene since the last time the scene-change mechanism was reset (visual-onset-duration since last trigger, or explicit reset with +visual> isa clear-scene-change).

?visual> scene-change =value will be true or false depending on whether or not the scene-change-value is greater than SceneChangeThreshold (default 0.25).

This is all accomplished by attaching listeners to the visual module, and either the individual IVisualFeatureMaps or IAgent's IAfferentObjectManager, depending upon whether accuracy or speed is more important. Setting the AcceleratedDetectionEnabled to true will use the faster ( IAfferentListener version).

Injection of the chunktype clear-scene-change is handled by the SceneChangeParticipant and the extension point in the bundle manifest.

Author:
harrison

Field Summary
static java.lang.String ACCELERATED_DETECTION_PARAM
           
static java.lang.String CLEAR_CHUNK_TYPE
           
static java.lang.String SCENE_CHANGE_THRESHOLD_PARAM
           
static java.lang.String SCENE_CHANGED_SLOT
           
static java.lang.String SCENE_CHANGED_VALUE_SLOT
           
 
Constructor Summary
SceneChangeExtension()
           
 
Method Summary
 org.jactr.core.model.IModel getModel()
           
 java.lang.String getName()
           
 java.lang.String getParameter(java.lang.String key)
           
 java.util.Collection<java.lang.String> getPossibleParameters()
           
 double getSceneChangeThreshold()
           
 java.util.Collection<java.lang.String> getSetableParameters()
           
 void initialize()
           
 void install(org.jactr.core.model.IModel model)
           
 void setParameter(java.lang.String key, java.lang.String value)
           
 void setSceneChangeThreshold(double threshold)
           
 void uninstall(org.jactr.core.model.IModel model)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLEAR_CHUNK_TYPE

public static final java.lang.String CLEAR_CHUNK_TYPE
See Also:
Constant Field Values

SCENE_CHANGED_SLOT

public static final java.lang.String SCENE_CHANGED_SLOT
See Also:
Constant Field Values

SCENE_CHANGED_VALUE_SLOT

public static final java.lang.String SCENE_CHANGED_VALUE_SLOT
See Also:
Constant Field Values

SCENE_CHANGE_THRESHOLD_PARAM

public static final java.lang.String SCENE_CHANGE_THRESHOLD_PARAM
See Also:
Constant Field Values

ACCELERATED_DETECTION_PARAM

public static final java.lang.String ACCELERATED_DETECTION_PARAM
See Also:
Constant Field Values
Constructor Detail

SceneChangeExtension

public SceneChangeExtension()
Method Detail

getModel

public org.jactr.core.model.IModel getModel()
Specified by:
getModel in interface org.jactr.core.extensions.IExtension

getName

public java.lang.String getName()
Specified by:
getName in interface org.jactr.core.extensions.IExtension

install

public void install(org.jactr.core.model.IModel model)
Specified by:
install in interface org.jactr.core.extensions.IExtension
Specified by:
install in interface org.jactr.core.utils.IInstallable

uninstall

public void uninstall(org.jactr.core.model.IModel model)
Specified by:
uninstall in interface org.jactr.core.extensions.IExtension
Specified by:
uninstall in interface org.jactr.core.utils.IInstallable

initialize

public void initialize()
                throws java.lang.Exception
Specified by:
initialize in interface org.jactr.core.utils.IInitializable
Throws:
java.lang.Exception
See Also:
IInitializable.initialize()

getSceneChangeThreshold

public double getSceneChangeThreshold()

setSceneChangeThreshold

public void setSceneChangeThreshold(double threshold)

getParameter

public java.lang.String getParameter(java.lang.String key)
Specified by:
getParameter in interface org.jactr.core.utils.parameter.IParameterized

getPossibleParameters

public java.util.Collection<java.lang.String> getPossibleParameters()
Specified by:
getPossibleParameters in interface org.jactr.core.utils.parameter.IParameterized

getSetableParameters

public java.util.Collection<java.lang.String> getSetableParameters()
Specified by:
getSetableParameters in interface org.jactr.core.utils.parameter.IParameterized

setParameter

public void setParameter(java.lang.String key,
                         java.lang.String value)
Specified by:
setParameter in interface org.jactr.core.utils.parameter.IParameterized