|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jaer.eventprocessing.EventFilter
net.sf.jaer.eventprocessing.EventFilter2D
ch.unizh.ini.jaer.projects.topology.TopologyTracker
public class TopologyTracker
Learns neighborhood pixel topology based on event timing. When this filter runs, it starts with random connections between the input addresses and the the output. Temporal correlation between incoming events gradually maps neighbors to neighbors, resulting in a (hopefully) coherent output map after a while.
Nested Class Summary | |
---|---|
class |
TopologyTracker.Monitor
The Monitor class. |
Field Summary | |
---|---|
protected static float[] |
BELL_CURVE
|
protected static int |
BELL_CURVE_RESOLUTION
|
protected static float |
BELL_CURVE_SIZE
|
protected static int |
BUFFER_SIZE
|
protected static float |
DEFAULT_LEARNING_WINDOW_CENTER
|
protected static float |
DEFAULT_LEARNING_WINDOW_STANDARD_DEVIATION
|
protected static int |
DEFAULT_MAX_SQUARED_NEIGHBORHOOD_DISTANCE
|
protected static int |
DEFAULT_NEIGHBORHOOD_SIZE
|
protected int |
eventIndex
|
protected int[] |
eventsSource
The event window with fixed events count windowSize . |
protected int[] |
eventsTimestamp
|
protected byte[] |
eventsType
|
protected int |
eventWindowBegin
|
protected int |
eventWindowEnd
|
protected boolean |
inhibit2ndOrderNeighbors
|
protected static float |
INITIAL_WEIGHT
|
protected float |
learningWindowBegin
|
protected float |
learningWindowEnd
|
protected float |
learningWindowMean
|
protected int |
learningWindowShape
Algorithm parameters. |
protected float |
learningWindowStandardDeviation
|
protected int |
maxSquaredNeighborDistance
Monitor parameters. |
protected int |
maxX
|
protected int |
maxY
|
protected int |
minX
|
protected int |
minY
|
protected TopologyTracker.Monitor |
monitor
The monitor and stat data. |
protected int |
neighborhoodSize
|
protected int[][] |
neighbors
|
protected static int |
NO_LABEL
|
protected static int |
NO_TIMESTAMP
|
protected static byte |
NO_TYPE
|
protected long |
numEventsProcessed
|
protected boolean |
onResetWriteStatsAndExit
|
protected java.util.Vector<java.lang.String> |
params
|
protected float |
reinforcement
|
protected boolean |
showFalseEdges
|
protected boolean |
showStatus
|
protected int |
sizeX
Event source data structures. |
protected int |
sizeY
Event source data structures. |
protected long |
startTime
|
protected java.util.Vector<java.lang.String> |
stat
|
protected boolean |
symmetricPlasticityChange
|
protected java.util.ArrayList<java.lang.Float> |
utilizationStat
|
protected float[][] |
weights
Algorithm data structures. |
protected javax.swing.JFrame |
window
|
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter2D |
---|
enclosedFilter, out |
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter |
---|
annotationEnabled, chip, enclosedFilterChain, filterEnabled, log, perf, propertyTooltipMap, support |
Constructor Summary | |
---|---|
TopologyTracker(AEChip chip)
Create a new TopologyTracker |
Method Summary | |
---|---|
EventPacket<?> |
filterPacket(EventPacket<?> in)
Core method: add new events to queue, learn topology |
static java.lang.String |
getDescription()
|
java.lang.Object |
getFilterState()
Deprecated. - no one uses this |
boolean |
getIgnoreReset()
|
boolean |
getInhibit2ndOrderNeighbors()
|
float |
getLearningWindowMean()
|
int |
getLearningWindowShape()
|
float |
getLearningWindowStandardDeviation()
|
int |
getMaxSize()
|
int |
getNeighborhoodSize()
|
float |
getReinforcement()
|
boolean |
getSymmetricPlasticityChange()
|
void |
initFilter()
this should allocate and initialize memory: it may be called when the chip e.g. |
boolean |
isLearningEnabled()
|
boolean |
isMapEventsToLearnedTopologyEnabled()
|
boolean |
isOnResetWriteStatsAndExit()
|
boolean |
isShowFalseEdges()
|
boolean |
isShowStatus()
|
void |
resetFilter()
should reallyDoReset the filter to initial state |
void |
setFilterEnabled(boolean yes)
Resets the filter |
void |
setIgnoreReset(boolean value)
|
void |
setInhibit2ndOrderNeighbors(boolean value)
|
void |
setLearningEnabled(boolean learningEnabled)
|
void |
setLearningWindowMean(float value)
|
void |
setLearningWindowShape(int value)
|
void |
setLearningWindowStandardDeviation(float value)
|
void |
setMapEventsToLearnedTopologyEnabled(boolean mapEventsToLearnedTopologyEnabled)
|
void |
setMaxSize(int maxSize)
|
void |
setNeighborhoodSize(int value)
|
void |
setOnResetWriteStatsAndExit(boolean value)
|
void |
setReinforcement(float value)
|
void |
setShowFalseEdges(boolean value)
|
void |
setShowStatus(boolean value)
|
void |
setSymmetricPlasticityChange(boolean value)
|
void |
update(java.util.Observable o,
java.lang.Object arg)
|
protected void |
updateLearningWindow()
Calculates the learning window begin and end. |
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter2D |
---|
checkOutputPacketEventType, checkOutputPacketEventType, getEnclosedFilter, resetOut, setEnclosedFilter |
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter |
---|
getChip, getEnclosedFilterChain, getEnclosingFilter, getPrefs, getPropertyChangeSupport, getPropertyTooltip, isAnnotationEnabled, isEnclosed, isFilterEnabled, prefsEnabledKey, setAnnotationEnabled, setChip, setEnclosed, setEnclosedFilter, setEnclosedFilterChain, setEnclosingFilter, setPreferredEnabledState, setPrefs, setPropertyTooltip |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int DEFAULT_NEIGHBORHOOD_SIZE
protected static final int DEFAULT_MAX_SQUARED_NEIGHBORHOOD_DISTANCE
protected static final float DEFAULT_LEARNING_WINDOW_CENTER
protected static final float DEFAULT_LEARNING_WINDOW_STANDARD_DEVIATION
protected static final int BUFFER_SIZE
protected static final int NO_LABEL
protected static final int NO_TIMESTAMP
protected static final byte NO_TYPE
protected static final float INITIAL_WEIGHT
protected static final float BELL_CURVE_SIZE
protected static final int BELL_CURVE_RESOLUTION
protected static final float[] BELL_CURVE
protected int sizeX
protected int sizeY
protected int minX
protected int minY
protected int maxX
protected int maxY
protected int[] eventsSource
windowSize
.
An event consists of its source and timestamp, both stored in simultaneous arrays.
eventsIndex
denotes the index of the numEventsProcessed event.
protected int[] eventsTimestamp
protected byte[] eventsType
protected int eventWindowBegin
protected int eventWindowEnd
protected int eventIndex
protected long numEventsProcessed
protected int learningWindowShape
protected float learningWindowMean
protected float learningWindowStandardDeviation
protected int neighborhoodSize
protected boolean inhibit2ndOrderNeighbors
protected boolean symmetricPlasticityChange
protected float reinforcement
protected int maxSquaredNeighborDistance
protected boolean showStatus
protected boolean showFalseEdges
protected boolean onResetWriteStatsAndExit
protected float[][] weights
protected int[][] neighbors
protected float learningWindowBegin
protected float learningWindowEnd
protected TopologyTracker.Monitor monitor
protected java.util.Vector<java.lang.String> params
protected java.util.Vector<java.lang.String> stat
protected java.util.ArrayList<java.lang.Float> utilizationStat
protected long startTime
protected javax.swing.JFrame window
Constructor Detail |
---|
public TopologyTracker(AEChip chip)
Method Detail |
---|
public static java.lang.String getDescription()
public void setFilterEnabled(boolean yes)
EventFilter2D
setFilterEnabled
in class EventFilter2D
yes
- true to resetEventFilter.setPreferredEnabledState()
public void initFilter()
EventFilter
initFilter
in class EventFilter
public void resetFilter()
resetFilter
in class EventFilter
public java.lang.Object getFilterState()
getFilterState
in class EventFilter
protected void updateLearningWindow()
public EventPacket<?> filterPacket(EventPacket<?> in)
filterPacket
in class EventFilter2D
in
- the input packet
public int getNeighborhoodSize()
public void setNeighborhoodSize(int value)
public int getLearningWindowShape()
public void setLearningWindowShape(int value)
public float getLearningWindowMean()
public void setLearningWindowMean(float value)
public float getLearningWindowStandardDeviation()
public void setLearningWindowStandardDeviation(float value)
public boolean getInhibit2ndOrderNeighbors()
public void setInhibit2ndOrderNeighbors(boolean value)
public boolean getSymmetricPlasticityChange()
public void setSymmetricPlasticityChange(boolean value)
public float getReinforcement()
public void setIgnoreReset(boolean value)
public boolean getIgnoreReset()
public void setReinforcement(float value)
public boolean isShowStatus()
public void setShowStatus(boolean value)
public boolean isShowFalseEdges()
public void setShowFalseEdges(boolean value)
public boolean isOnResetWriteStatsAndExit()
public void setOnResetWriteStatsAndExit(boolean value)
public void update(java.util.Observable o, java.lang.Object arg)
update
in interface java.util.Observer
public boolean isMapEventsToLearnedTopologyEnabled()
public void setMapEventsToLearnedTopologyEnabled(boolean mapEventsToLearnedTopologyEnabled)
public boolean isLearningEnabled()
public void setLearningEnabled(boolean learningEnabled)
public int getMaxSize()
public void setMaxSize(int maxSize)
|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |